Имя: Пароль:
1C
1С v8
СКД Ресурсы Рассчитывать По.. помогите разобраться
0 Gera1t
 
07.02.23
10:55
Есть отчет на СКД.
Есть вычисляемое поле, которое рассчитывается функцией из общего модуля.
Структура таблицы например такая:

Покупатель|Заказ|Товар|Сумма

Группировка СКД по Покупатель И Заказ

Вычисляемое поле это Долг, которое рассчитывается таким выражением: ОбработкаСервер.ПолучитьТекущийДолг(Покупатель).

Добавляю это поле только в группировку Покупатель и все работает нормально.
Но если добавляю ресурс по полю Долг, с выражением Сумма, в группировку попадает долг суммируется по всем записям внутри группировки.
Т.е. например Иванов Должен 1000 а внутри группировки Иванов есть 5 строк, и Долг вырастает до 5000.
В разделе Ресурсы Устанавливаю в поле Рассчитывать по... только Покупатель, но это не работает.
Подскажите пожалуйста как настроить так, что бы Долг выходил только в группировке Покупатель и рассчитывался общий итог.
1 Gera1t
 
07.02.23
11:09
Ну или например вот такой запрос:

ВЫБРАТЬ
    ОтгрузкаЗаказов.Заказ.Дата КАК ДатаЗаказа,
    ОтгрузкаЗаказов.Заказ.НомерЗаказа КАК НомерЗаказа,
    ОтгрузкаЗаказов.Заказ.СостояниеЗаказа КАК СостояниеЗаказа,
    ОтгрузкаЗаказов.Заказ.Контрагент КАК Покупатель,
    ОтгрузкаЗаказов.Заказ.СуммаДокумента КАК СуммаЗаказа,
    ОтгрузкаЗаказов.Дата КАК ДатаОтгрузки,
    ОтгрузкаЗаказов.Заказ.ЗаказНоменклатура КАК Изделие,
    РасчетыСПокупателямиОстатки.СуммаОстаток КАК Долг
ИЗ
    РегистрСведений.ОтгрузкаЗаказов КАК ОтгрузкаЗаказов
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РасчетыСПокупателями.Остатки КАК РасчетыСПокупателямиОстатки
        ПО (РасчетыСПокупателямиОстатки.Контрагент = ОтгрузкаЗаказов.Заказ.Контрагент)
ГДЕ
    ОтгрузкаЗаказов.Дата МЕЖДУ &НачДата И &КонДата
ИТОГИ
    СУММА(СуммаЗаказа),
    СУММА(Долг)
ПО
    Покупатель


Но что бы в группировке Покупатель СуммаЗаказа суммировалась, потому что каждый заказ это отдельная сумма, а вот Долг попадал только 1 раз в группировку Покупатель и суммировал общий итог.
2 Гипервизор
 
07.02.23
11:31
(0) Это вам надо в ресурсах написать выражение для расчёта. Гуглите "итоги по группировке в СКД". Также рекомендую прочитать Хрусталеву "Разработка сложных отчетов в 1С:Предприятие 8".
3 Gera1t
 
07.02.23
11:34
(2) Спасибо! Почитаю
4 mistеr
 
07.02.23
13:53
(0) >добавляю ресурс по полю Долг, с выражением Сумма
>долг суммируется по всем записям внутри группировки.

ВНЕЗАПНО!!! Без объявления войны!
5 Gera1t
 
07.02.23
14:15
(4) Я понимаю, что так как колонка долг есть в каждой строке таблицы, то она и суммироваться будет, в том и вопрос, как сделать так как я хочу)
6 eddy_n
 
07.02.23
14:28
(5) Так назначь Группировке Покупатель только те ресурсы, которые хочешь.
7 mistеr
 
07.02.23
14:49
(5) Давай начнем с того, почему Долг ресурс. Недостаточно видеть его напротив покупателя, нужно дублировать в каждой строчке?
8 Gera1t
 
07.02.23
15:51
(7) Долг нужен только ресурсу покупатель
9 toypaul
 
гуру
07.02.23
15:56
Есть 2 варианта решения данной проблемы

1. простой. сделать 2 набора. в первом наборе данные где записей меньше. источник
во втором наборе данные где записей больше. приемник. соединяем. пишем выражения ресурсов как обычно

2. сложный. выражение ресурса считаем через функцию ВычислитьВыражениеСГруппировкойМассив. примеры есть тут. найти можно.

за такое "ОбработкаСервер.ПолучитьТекущийДолг(Покупатель)" в отчете на СКД надо бить по рукам
10 Gera1t
 
07.02.23
15:56
(6) Я так и сделал, но если я не добавляю ресурс Сумма, то нет общего итога, а если добавляю то суммирование происходит не только по строкам группировки Покупатель, а по всем строкам отчета. Я понимаю что так и должно быть, потому что не смотря на то, что я вывожу долг только в группировке Покупатель, колонка с Долгом присутствует во всех строках таблицы.
11 Gera1t
 
07.02.23
15:58
(9) Спасибо! Как я понял должна быть ссылка в "тут", но ее нет, продублируйте пожалуйста. А по поводу "ОбработкаСервер.ПолучитьТекущийДолг(Покупатель)" просто выход из ситуации временный, поэтому и хочу разобраться как нужно правильно.
12 Gera1t
 
07.02.23
15:58
(9) или тут это Миста) туплю)
13 Гипервизор
 
07.02.23
17:37
(9) Встречал и в типовых в вычисляемых полях вызов экспортных функций общих модулей.
14 mistеr
 
07.02.23
17:39
(8) Покупатель не ресурс, а группировка. Зачем Долг делать ресурсом?
15 Gera1t
 
07.02.23
20:12
(14) Нужно что бы он выходил в одной группировке с покупателем и суммировался в общий итог
16 eddy_n
 
07.02.23
21:27
Для каждой группировки ты можешь назначать вывод 'своего' набора ресурсов. И это нормально.
17 Gera1t
 
08.02.23
09:38
Короче это просто я затупок, ломал голову над задачей решение которой занимает 2 минуты, нужно было в Ресурсах просто добавить 2 строчки Долг, в одной указать формулу Максимум и выбрать Рассчитывать по группировке Покупатель, а в другой Сумма и выбрать Рассчитывать по Общий итог.
AdBlock убивает бесплатный контент. 1Сергей