|
СКД, можно ли сделать этот отчёт одним набором данных? |
☑ |
0
МешочекЗнаний
18.11.20
✎
10:23
|
Приветствую уважаемые.
В СКД работаю раз в год, нашлось свободное время, решил подтянуть свои знания.
Тестирую в чистой базе. Есть документ сборка товаров. Собираю 2 стола из 2 столешниц и 8 ножек.
Хочу получить отчёт такого вида:
Делаю отчёт, в нём запрос
ВЫБРАТЬ
СборкаТовараТЧПродукция.Продукция КАК Продукция,
СборкаТовараТЧПродукция.КоличествоПродукции КАК КоличествоПродукции,
СборкаТовараТЧМатериал.Материал КАК Материал,
СборкаТовараТЧМатериал.КоличествоМатериала КАК КоличествоМатериала
ИЗ
Документ.СборкаТовара.ТЧПродукция КАК СборкаТовараТЧПродукция
ЛЕВОЕ СОЕДИНЕНИЕ Документ.СборкаТовара.ТЧМатериал КАК СборкаТовараТЧМатериал
ПО СборкаТовараТЧПродукция.Ссылка = СборкаТовараТЧМатериал.Ссылка
И СборкаТовараТЧПродукция.Продукция = СборкаТовараТЧМатериал.Продукция
И получаю то, что количество продукции задваивается. Оно и верно, т.к. идёт левое соединение двух материалов в запросе.
Я переписал отчёт на соединение двух наборов данных (связь наборов по ссылке и продукции), и отчёт заработал как надо.
У меня вопрос следующего характера - можно ли как то использовать ОДИН набор данных для решения этой задачи?
Ссылки на внешние отчёты:
|
|
1
arsik
гуру
18.11.20
✎
10:26
|
Сделай группировку по Максимум
|
|
2
МешочекЗнаний
18.11.20
✎
10:30
|
(1) Благодарю, в ресурсах указал Максимум(КоличествоПродукции) и получил такой же результат.
Есть ещё варианты?
|
|
3
toypaul
гуру
18.11.20
✎
10:36
|
можно. Сумма(ВычислитьВыражениеСГруппировкойМассив("ВыражениеРесурса", "Группировка")) ВыражениеРесурса обычно Максимум(Ресурс)
скоро (надеюсь) уже будет доступен курс, в котором этот вопрос (и многие другие про ВычислитьВыражениеСГруппировкойМассив) разбираем
|
|
4
toypaul
гуру
18.11.20
✎
10:38
|
(2) не может быть при данных настройках чтобы Максимум выдал такой же результат. он выдаст нормальный результат (без задвоения), но общий итог будет неверный.
|
|
5
МешочекЗнаний
18.11.20
✎
10:42
|
(2) Да, он выдал без задвоения. Извиняюсь, плохо сформулировал свою мысль.
..и получил такой же результат как и в объединении наборов.
|
|
6
МешочекЗнаний
18.11.20
✎
10:55
|
(3) Какая то хитрая функция.
Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(КоличествоПродукции)", "Материал")) - задваивает
Сумма(ВычислитьВыражениеСГруппировкойМассив("Максимум(КоличествоПродукции)", "Продукция")) - не задваивает
Интересное поведение, пойду почитаю что это такое.
|
|