|
Как в ДинамическомСписке вывести итоги суммы по двум табличным частям? | ☑ | ||
---|---|---|---|---|
0
arsik
гуру
15.06.22
✎
11:56
|
Документ. У него 2 табличные части "Товары", "Услуги".
Хочу в динамическом списке вывести Документ, ИтогСуммыПоТоварам, ИтогСуммыПоУслугам. Не понимаю как это сделать. |
|||
1
Жан Пердежон
15.06.22
✎
12:17
|
запросом
|
|||
2
RomanYS
15.06.22
✎
12:21
|
(0) Если это регулярная потребность, то лучше добавить поля или РС и заполнять их ПередЗаписью.
Если нужно в лоб здесь и сейчас - запросом соединяй с таблицами ТЧ |
|||
3
arsik
гуру
15.06.22
✎
12:22
|
(1) Не получается. С использованием временных таблиц все долго делается. Левым соединением и группировкой не получится, т.к. тут 2 ТЧ.
|
|||
4
Выпрь
15.06.22
✎
12:31
|
(3) открой для себя 2 левых соединения
|
|||
5
arsik
гуру
15.06.22
✎
12:46
|
(4) Это как? С 2мя соединениями билиберда же получится.
Вот пример. В тч товары 1 строка, а в ТЧ услуги 2 строки. Общая сумма по документу 1982. В результате запроса же получится 2214 https://i.imgur.com/ggNRyNk.png |
|||
6
Выпрь
15.06.22
✎
12:48
|
так нужно соединять сс сгруппированными таблицами, но будет тормозить
|
|||
7
arsik
гуру
15.06.22
✎
13:02
|
(6) Сделал через вложенный запрос. Оптимизатор в этом случае работает быстро.
|
|||
8
hhhh
15.06.22
✎
15:44
|
(6) в тч 2 строки и будет тормозить?
|
|||
9
vicof
15.06.22
✎
16:08
|
А я бы сделал два реквизита в документе, куда перед записью писал итоги сумм
|
|||
10
Выпрь
15.06.22
✎
16:16
|
(6) группировка вызовет чтение всей таблицы
|
|||
11
arsik
гуру
15.06.22
✎
18:29
|
(10) через вложенный запрос с соединением быстро работает,а вот через временную таблицу - да, там чтение всей таблицы
|
|||
12
Ёпрст
15.06.22
✎
18:53
|
||||
13
Mihasya
17.06.22
✎
10:40
|
(0) А если так?
ВЫБРАТЬ ПоступлениеТоваровУслуг.Ссылка КАК Ссылка, СУММА(ЕСТЬNULL(ПоступлениеТоваровУслугТовары.Сумма, 0)) / ВЫБОР КОГДА МАКСИМУМ(ЕСТЬNULL(ПоступлениеТоваровУслугУслуги.НомерСтроки, 0)) > 0 ТОГДА МАКСИМУМ(ЕСТЬNULL(ПоступлениеТоваровУслугУслуги.НомерСтроки, 0)) ИНАЧЕ 1 КОНЕЦ КАК СуммаТоваров, СУММА(ЕСТЬNULL(ПоступлениеТоваровУслугУслуги.Сумма, 0)) / ВЫБОР КОГДА МАКСИМУМ(ЕСТЬNULL(ПоступлениеТоваровУслугТовары.НомерСтроки, 0)) > 0 ТОГДА МАКСИМУМ(ЕСТЬNULL(ПоступлениеТоваровУслугТовары.НомерСтроки, 0)) ИНАЧЕ 1 КОНЕЦ КАК СуммаУслуг ИЗ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары ПО (ПоступлениеТоваровУслуг.Ссылка = ПоступлениеТоваровУслугТовары.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги ПО (ПоступлениеТоваровУслуг.Ссылка = ПоступлениеТоваровУслугУслуги.Ссылка) ГДЕ ПоступлениеТоваровУслуг.Ссылка = &Ссылка СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслуг.Ссылка |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |