Имя: Пароль:
1C
 
УТ 11. Могучее СКД
0 iceman2112
 
28.04.16
09:21
В сделке есть поля организация, и сумма контракта. По сделке делаются реализации со своими суммами.

Я делаю отчет СКД с запросом.

ВЫБРАТЬ
    Т1.Ссылка КАК Сделка,
    Т2 .Ссылка КАК ДокументОтгрузки,
    Т2 .СуммаДокумента КАК СуммаДокумента,
    Т1.Ссылка.СоглашениеСКлиентом.СуммаКонтратка
ИЗ
    Т1 КАК Т1
        ЛЕВОЕ СОЕДИНЕНИЕ Т2 КАК Т2
        ПО Т1 .Ссылка = Т2 .Сделка

Допустим делаю компоновку "Организация / Сделка" с полями "СуммаКонтракта" и "СуммаДокумента". И ИТОГИ по организации должны выводиться.
Чтобы у меня поле Сумма контракта "не повторялось" я в ресурсах делаю СРЕДНЕЕ. Но тогда он в итоге по организации тоже выводит среднее. + Еще нужно делать развертку по документам отгрузки, где сумму контрагента можно выводить 0.

Никто не скажет в какую сторону копнуть, чтобы такой отчет работал корректно?
1 iceman2112
 
28.04.16
09:22
Некоторые моменты задачи я упустил, чтобы оставить только проблему
2 patapum
 
28.04.16
09:27
(0) Либо делать два набора данных, либо делать не соединение, а объединить
3 aleks_default
 
28.04.16
09:42
Просто у ресурса "СуммаКонтракта"  в выражении поставь "СуммаКонтракта"(без какой либо агрегатной функции) и "рассчитывать по" Организация, сделка.
Потом добавь еще раз этот же ресурс в выражении поставь "0" и "рассчитывать по" документотгрузки,
4 iceman2112
 
28.04.16
09:49
(2) Объединить понял. Вот про наборы ща читану
5 LordCMEPTb
 
28.04.16
09:58
Если совсем не получится сделать на объединении, можно глянуть функцию СКД "ВычислитьВыражениеСГруппировкойМассив".

Т.е. для текущего случая можно прописать

Сумма(
    ВычислитьВыражениеСГруппировкойМассив(
        "Максимум(СуммаКонтракта)",
        "Контрагент"
    )
)
6 Simod
 
28.04.16
09:59
Т.к. соединение левое, то попробуй:
ЕСТЬNULL(Т2.СуммаДокумента, 0) КАК СуммаДокумента
7 iceman2112
 
28.04.16
10:05
(5) Ща гляну
8 Карупян
 
28.04.16
10:06
Делай через объединить