Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

СКД, можно ли сделать этот отчёт одним набором данных?

СКД, можно ли сделать этот отчёт одним набором данных?
Я
   МешочекЗнаний
 
18.11.20 - 10:23
Приветствую уважаемые.

В СКД работаю раз в год, нашлось свободное время, решил подтянуть свои знания.

Тестирую в чистой базе. Есть документ сборка товаров. Собираю 2 стола из 2 столешниц и 8 ножек.
http://www.ximage.ru/data/imgs/1605682965.jpg

Хочу получить отчёт такого вида:
http://www.ximage.ru/data/imgs/1605683233.jpg

Делаю отчёт, в нём запрос

ВЫБРАТЬ
    СборкаТовараТЧПродукция.Продукция КАК Продукция,
    СборкаТовараТЧПродукция.КоличествоПродукции КАК КоличествоПродукции,
    СборкаТовараТЧМатериал.Материал КАК Материал,
    СборкаТовараТЧМатериал.КоличествоМатериала КАК КоличествоМатериала
ИЗ
    Документ.СборкаТовара.ТЧПродукция КАК СборкаТовараТЧПродукция
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.СборкаТовара.ТЧМатериал КАК СборкаТовараТЧМатериал
        ПО СборкаТовараТЧПродукция.Ссылка = СборкаТовараТЧМатериал.Ссылка
            И СборкаТовараТЧПродукция.Продукция = СборкаТовараТЧМатериал.Продукция

И получаю то, что количество продукции задваивается. Оно и верно, т.к. идёт левое соединение двух материалов в запросе.
http://www.ximage.ru/data/imgs/1605683483.jpg
Я переписал отчёт на соединение двух наборов данных (связь наборов по ссылке и продукции), и отчёт заработал как надо.
http://www.ximage.ru/data/imgs/1605683794.jpg
У меня вопрос следующего характера - можно ли как то использовать ОДИН набор данных для решения этой задачи?

Ссылки на внешние отчёты: https://dropmefiles.com/nAHTA
   arsik
 
1 - 18.11.20 - 10:26
Сделай группировку по Максимум
   МешочекЗнаний
 
2 - 18.11.20 - 10:30
(1) Благодарю, в ресурсах указал Максимум(КоличествоПродукции) и получил такой же результат.

Есть ещё варианты?
   toypaul
 
3 - 18.11.20 - 10:36
можно. Сумма(ВычислитьВыражениеСГруппировкойМассив("ВыражениеРесурса", "Группировка")) ВыражениеРесурса обычно Максимум(Ресурс)

скоро (надеюсь) уже будет доступен курс, в котором этот вопрос (и многие другие про ВычислитьВыражениеСГруппировкойМассив) разбираем
   toypaul
 
4 - 18.11.20 - 10:38
(2) не может быть при данных настройках чтобы Максимум выдал такой же результат. он выдаст нормальный результат (без задвоения), но общий итог будет неверный.
   МешочекЗнаний
 
5 - 18.11.20 - 10:42
(2) Да, он выдал без задвоения. Извиняюсь, плохо сформулировал свою мысль.
..и получил такой же результат как и в объединении наборов.
   МешочекЗнаний
 
6 - 18.11.20 - 10:55
(3) Какая то хитрая функция.
Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(КоличествоПродукции)", "Материал")) - задваивает
Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(КоличествоПродукции)", "Продукция")) - не задваивает

Интересное поведение, пойду почитаю что это такое.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.