Имя: Пароль:
1C
1С v8
Какая-то непонятка с итогами в СКД
0 maxab72
 
24.09.25
11:05
УТ 10.3, 8.3.27.1606
Есть простенький запрос в СКД:


ВЫБРАТЬ РАЗРЕШЕННЫЕ
    НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахОстаткиИОбороты.Период, МЕСЯЦ) КАК Период,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад,
    СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток) КАК НачальныйОстаток,
    СУММА(ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток) КАК КонечныйОстаток,
    РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ), КОНЕЦПЕРИОДА(&КонецПериода, МЕСЯЦ), ДЕНЬ) + 1 КАК ДнейВПериоде
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Месяц, , {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура}) КАК ПартииТоваровНаСкладахОстаткиИОбороты

СГРУППИРОВАТЬ ПО
    НАЧАЛОПЕРИОДА(ПартииТоваровНаСкладахОстаткиИОбороты.Период, МЕСЯЦ),
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад


Если выводить в отчете все ресурсы: "Нач. остаток", "Кон. остаток" и "Дней в периоде" - все в порядке. Если исключить из вывода "Дней в периоде" - начальный и конечный остатки превращаются в бред сивой кобылы. Кто сталкивался? Как лечилось?
1 Мультук
 
гуру
24.09.25
11:15
(0)

А так ?
Если группировка месяц, то ПЕРИОД сам по себе начало месяца
Сгруппировать в данном запросе нахрен не нужно, СКД само сгруппирует
Не тестил.

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ПартииТоваровНаСкладахОстаткиИОбороты.Период КАК Период,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток,
    РАЗНОСТЬДАТ(НАЧАЛОПЕРИОДА(&НачалоПериода, МЕСЯЦ), КОНЕЦПЕРИОДА(&КонецПериода, МЕСЯЦ), ДЕНЬ) + 1 КАК ДнейВПериоде
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Месяц, , {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура}) КАК ПартииТоваровНаСкладахОстаткиИОбороты
2 maxab72
 
24.09.25
11:19
(1) то же самое.
3 СвинТуз
 
24.09.25
13:45
Верность остатков из таблицы ОстатковИОборотов в СКД никто не гарантирует, если не выбирать еще и приход и расход.

Нет необходимость считать константу в запросе для каждой строки.
4 СвинТуз
 
24.09.25
13:48
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ПартииТоваровНаСкладахОстаткиИОбороты.Период КАК Период,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток,
ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход КАК Приход,
ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход КАК Расход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток,
&ДнейВПериоде КАК ДнейВПериоде
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Месяц, , {(Склад).* КАК Склад, (Номенклатура).* КАК Номенклатура}) КАК ПартииТоваровНаСкладахОстаткиИОбороты
5 maxab72
 
24.09.25
13:47
(3) Это максимально упрощенный пример запроса. В настоящем есть и обороты и все прочее, и далее эта константа более сложная на самом деле.
6 СвинТуз
 
24.09.25
13:55
Никто не знает как вы упрощаете
Вы группировку не упростили почему то.

Пишет запрос из книги и спрашиваете где ошибка.
Забавно.
7 maxab72
 
24.09.25
13:57
(6) вообще то это из реального отчета. он работал пока был релиз 8.3.25, на 8.3.27 сломался. вот и выясняю, есть ли обходные пути.
8 СвинТуз
 
24.09.25
14:03
ну вот это практически запрос из Хрусталевой:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ПартииТоваровНаСкладахОстаткиИОбороты.Период КАК Период,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток,
ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход КАК Приход,
ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход КАК Расход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Месяц, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты

Помочь чем?
Что хотите обойти?
Групировочку Вам убрали.
Приход, Расход добавили.
Больше ошибок нет. Только не нужная константа болтается.
Разговор становится беспредметным.
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан