Имя: Пароль:
1C
1С v8
Дублирование сумм в отчете на СКД с левым соединением
0 Jackman
 
08.10.24
12:24
Периодически сталкиваюсь с нижеописанной ситуаций и каждый раз что-то приходится выдумывать, может есть нормальное решение.

Предположим, что есть регистр накопления ОстаткиФруктов, состоящий из измерения Справочник.Фрукты и ресурса Количество.

Яблоки | 10кг
Груши  | 30кг

Есть какой-то другой регистр или какая-то таблица, например, ЦеныФруктов, содержащая тот же справочник.Фрукты, Справочник.Сорт, Цена.

Яблоки | Антоновка | 100р
Яблоки | Голден    | 150р

Далее в запросе отчета к регистру ОстаткиФруктов через левое соединение приклепляем вторую таблицу, соединение по справочнику Фрукты.

В отчете на СКД хотим вывести две группировки: иерархически справочник Фрукты с кол-вом (по группам тоже) и цены по сортам, типа:

Крымские фрукты (группа) - 40кг
-- Яблоки - 10 кг
---- Антоновка  100р
---- Голден     150р

-- Груши  - 30 кг

Понятно, что раз в левом соединении две записи, то при настройках ресурса Количество, если указать Сумма(Количество), то при выводе отчета сумма задублируется.

-- Яблоки - 20 кг
---- Антоновка  100р
---- Голден     150р


Можно указать Минимум(Количество), тогда по элементам справочника Фрукты будет все правильно, а вот по группам этого справочника не будут правильные суммы с кол-вом, а будет минимум кол-ва какого-то входящего в эту группу элемента.

Крымские фрукты (группа) - 10кг
-- Яблоки - 10 кг
---- Антоновка  100р
---- Голден     150р

-- Груши  - 30 кг

Есть какой-то нормальный способ для аналогичной ситуации с левым соединением и иерархическим справочником в отчете на СКД, чтобы и по элементам, и по группам в отчете были верные кол-ва?
1 toypaul
 
08.10.24
12:30
самый просто вариант сделать через два набора данных. первый родительский, второй подчиненный. есть еще вариант через ВычислитьВыражениеСГруппировкойМассив
2 toypaul
 
08.10.24
12:31
В первом варианте ничего мудрить не нужно - ресурсы объявляешь как обычно - Сумма
3 Jackman
 
08.10.24
12:42
(1) А ВычислитьВыражениеСГруппировкойМассив в 8.2 уже было? У того клиента стоит 8.3 в режиме совместимости 8.2 последнего релиза.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.