Имя: Пароль:
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
ну вот это практически запрос из Хрусталевой:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ПартииТоваровНаСкладахОстаткиИОбороты.Период КАК Период,
    ПартииТоваровНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура,
    ПартииТоваровНаСкладахОстаткиИОбороты.Склад КАК Склад,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток КАК НачальныйОстаток,
ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоПриход КАК Приход,
ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоРасход КАК Расход,
    ПартииТоваровНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК КонечныйОстаток
ИЗ
    РегистрНакопления.ПартииТоваровНаСкладах.ОстаткиИОбороты(&НачалоПериода, &КонецПериода, Месяц, , ) КАК ПартииТоваровНаСкладахОстаткиИОбороты

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