Имя: Пароль:
1C
1С v8
Как отключить расчет ресурсов по нижележащим группировкам в СКД отчете?
,
0 alexey980
 
15.06.17
23:18
Есть трёхуровневая группировка Клиент -> Накладная -> Товар, и есть некий ресурс (Оплата), который рассчитывается только для группировок Накладная и Клиент. В Товаре должно быть по нулям.

На вкладке ресурсов в поле "Рассчитывать по..." указал следующие выражения:
- для группировки Товар - 0;
- для группировки Накладная - Оплата;
- для группировки Клиент - Сумма(Оплата).

В итоге в Товаре выводит по нулям, в Накладной - Оплату, а вот в Клиента вытягивает не сумму Оплаты по накладным, а сумму всех строк нижестоящих группировок, как если бы в Товаре в каждой строке группировке был не 0, а тоже Оплата.

Для наглядности ниже приводится ссылка на картинку. Примерно та же проблема, что и у меня.

http://s010.radikal.ru/i311/1706/f2/004ab40d20e4.png
1 Defender aka LINN
 
16.06.17
00:28
2 набора данных
2 Franchiser
 
гуру
16.06.17
01:09
Кури выполнитьвыражениесгруппировкоймассив()
3 Franchiser
 
гуру
16.06.17
01:13
Как рассчитывается ресурс Оплата? Вычисляемое поле через группировочную функцию?
4 echo77
 
16.06.17
06:05
(0) или оплату во второй набор данных вынести или исправлять запрос,чтобы оплата один раз выбиралась по накладной(сделать объединение, а не соединение)
5 alexey980
 
16.06.17
08:30
Выбрать
    РеализацияТоваровУслуг.Ссылка КАК Накладная,
    РеализацияТоваровУслуг.Партнер КАК Клиент,
    РеализацияТоваровУслуг.СуммаПоступления КАК Оплата,
    
    РеализацияТоваровУслугТовары.Номенклатура КАК Товар,
    ...
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТовары
        ПО РеализацияТовары.Ссылка = РеализацияТоваровУслуг.Ссылка


Примерно такой запрос в Наборе данных, то есть Товары - это табличная часть документа, у него вообще нет
поля Оплата, Оплата - это реквизит Накладной, который нужен как ресурс для подсчета итогов по накладным только в вышестоящих группировках.
6 alexey980
 
16.06.17
12:43
(2) спасибо, решение найдено. всё оставляем как есть, запрос менять не нужно, просто на вкладке ресурсов два раза выбираем ресурс Оплата:

1) для группировки Товар указываем выражение ->
0

2) для группировок Накладная, Клиент и Общий итог ->
Сумма(ВычислитьВыражениеСГруппировкойМассив("Оплата", "Накладная"))

При этом нужно не забыть дать группировке Накладная имя, если она как-то по-другому называется (Настройки -> Правой кнопкой по группировке -> Установить Имя -> Накладная)
7 aleks_default
 
16.06.17
12:55
(6)Имя группировки нафиг не нужно, там имена полей группировки указываются
8 aleks_default
 
16.06.17
12:55
(6) Читай справку
9 alexey980
 
16.06.17
13:05
(8) ОК
10 FIXXXL
 
16.06.17
13:08
или затираем на нужном уровне через условное оформление
Текст=""
11 alexey980
 
16.06.17
13:14
(10) если просто затереть без использования ВычислитьВыражениеСГруппировкойМассив, ресурс как бы не будет отображаться. но в вышестоящих группировках сумма всё равно будет рассчитываться неправильная. рабочий вариант в (6)
12 FIXXXL
 
16.06.17
13:55
(11) сорри, (0) читал по диагонали :)
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс