Имя: Пароль:
1C
 
в отчете на СКД неправильное количество номенклатуры
0 Roman2015loginov
 
18.10.23
07:17
Доброе утро,
Платформа 8.3.22.1923
Конфигурация Розница 2.3.10.52

Такой запрос в СКД:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
    НоменклатураСегмента.Номенклатура КАК Номенклатура,
    НоменклатураСегмента.Сегмент КАК Сегмент,
    НоменклатураСегмента.Характеристика КАК Характеристика
ПОМЕСТИТЬ НоменклатураСегмента
ИЗ
    РегистрСведений.НоменклатураСегмента КАК НоменклатураСегмента
ГДЕ
    НоменклатураСегмента.Сегмент = &Сегмент
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    Штрихкоды.Штрихкод КАК Штрихкод,
    Номенклатура.Ссылка КАК Ссылка
ПОМЕСТИТЬ ШтрихНоменкл
ИЗ
    РегистрСведений.Штрихкоды КАК Штрихкоды
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
        ПО Штрихкоды.Владелец = Номенклатура.Ссылка
;

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

СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
    ТоварыНаСкладахОстаткиИОбороты.Характеристика,
    ТоварыНаСкладахОстаткиИОбороты.Склад,
    ТоварыНаСкладахОстаткиИОбороты.Склад.Магазин,
    ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда,
    ТоварыНаСкладахОстаткиИОбороты.ПериодДень,
    ТоварыНаСкладахОстаткиИОбороты.ПериодНеделя,
    ТоварыНаСкладахОстаткиИОбороты.ПериодДекада,
    ТоварыНаСкладахОстаткиИОбороты.ПериодМесяц,
    ТоварыНаСкладахОстаткиИОбороты.ПериодКвартал,
    ТоварыНаСкладахОстаткиИОбороты.ПериодГод,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоПриход,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоРасход,
    ТоварыНаСкладахОстаткиИОбороты.КоличествоНачальныйОстаток,
    НоменклатураСегмента.Сегмент,
    ТоварыНаСкладахОстаткиИОбороты.Номенклатура.Код,
    ВЫБОР
        КОГДА ТоварыНаСкладахОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО
            ТОГДА NULL
        ИНАЧЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор
    КОНЕЦ,
    ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0)



В настройках отчета есть поле группировки по магазинам и подчиненное ей поле группировки Номенклатура (Иерархия).

Если оставляю настройки группировки отчета таким образом, то выводит правильное количество ресурса КонечныйОстаток 83, а если убрать группировку по магазинам, то выводит количество конечный остаток 24. Не могу понять почему так, так как должно даже если уберешь группировку по магазину выводить общий остаток по всем магазинам 83 по выбранной одной номенклатуре. Отборы по номенклатуре, складу и магазину и сегменту добавлены на вкладке настройка в скд
1 DJ Anthon
 
18.10.23
07:28
СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот)
и убрать ресурсы из группировки

И если хочешь видеть и регистраторы, и остатки, тогда надо это делать через два запроса и объединять их

https://1s83.info/koding/ostatki-i-oborotyi-s-registratorami-1s.html
2 toypaul
 
18.10.23
07:27
сгруппировать по ресурсам? это в какой школе такому учат?
3 toypaul
 
18.10.23
07:27
(1) "И если хочешь видеть и регистраторы, и остатки, тогда надо это делать через два запроса и объединять их" - не надо плохому учить.
4 DJ Anthon
 
18.10.23
07:47
(3) ну можно и в одном запросе, но тогда надо понимать, как это работает
5 Roman2015loginov
 
19.10.23
08:39
Доброе утро, в СГРУППИРОВАТЬ ПО ресурсы все таки попадают когда делаю СУММА(ТоварыНаСкладахОстаткиИОбороты.КоличествоОборот) через конструктор запроса. Пробовал формировать в Предприятии этот отчет делая запрос только из регистра накопления РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ), но все таки когда оставляю группировку Номенклатура в настройках схемы компоновки данных, а вышестоящую группировку по магазинам убираю, то по выбранному полю ресурсу КоличествоКонечныйОстаток получаю количество 23 вместо 83. 83 это количество выбранной в отборе на форме отчета номенклатуры по всем магазинам в базе. А 23 неизвестно откуда такое количество. Отчет же должен выводить по всем магазинам количество выбранной номенклатуры, даже если нет группировки по магазинам я понял так? Или я неправильно понял по группировкам?
6 Roman2015loginov
 
19.10.23
13:53
Все решил проблему, я не менял имя отчета при его редактировании и запускал в рабочей базе, а в рабочей базе был загружен в дополнительных отчетах и обработках такой же отчет с таким же названием, поэтому мой измененный отчет выводил неправильные данные. Переименовал свой отчет и убрал группировку по ресурсам и сразу данные по количеству конечного остатка стали верными. Большое спасибо за помощь.