|   |   | 
| 
 | Как в ДинамическомСписке вывести итоги суммы по двум табличным частям? | ☑ | ||
|---|---|---|---|---|
| 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 КОНЕЦ КАК СуммаУслуг ИЗ Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Товары КАК ПоступлениеТоваровУслугТовары ПО (ПоступлениеТоваровУслуг.Ссылка = ПоступлениеТоваровУслугТовары.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПоступлениеТоваровУслуг.Услуги КАК ПоступлениеТоваровУслугУслуги ПО (ПоступлениеТоваровУслуг.Ссылка = ПоступлениеТоваровУслугУслуги.Ссылка) ГДЕ ПоступлениеТоваровУслуг.Ссылка = &Ссылка СГРУППИРОВАТЬ ПО ПоступлениеТоваровУслуг.Ссылка | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |