Объединение полей в одну строку с выборочным подсчетом суммы из детальной записи

Имеется вычисляемое поле по которому считаются затраты номенклатуры и трудозатраты. В строке "Итого" рассчитываются все затраты, нам необходимо рассчитать эту сумму раздельно от трудозатрат, только итоговую затрату по номенклатуре, детальную по трудозатрате выводить только для информации. 

Результат нужно получить следующий:

2020-04-27 21 15 58

Ранее в статье Подсчет суммы в группировке по пользовательскому полю 1С, мы уже рассматривали подсчет суммы в итоговом поле с отбором по детальным записям, но проблема в том, что функция "Выбор Когда..." выводит в детальные записи только то, что попало в отбор, игнорируя остальные детальные значения. Поэтому возникла необходимость вывести в детальной строке кол-во затрат напротив "Норматива", но в сумме "Итого" его не учитывать.

В пользовательском режиме, через настройку отчета этот вопрос можно решить так:

- "Норматив" вывести отдельной колонкой, затем сгруппировать поля "Вместе". Недостаток такого решения в том, что будут лишние строки, пустые ячейки, "," между разделением данных. Поэтому более верным решением будет доработать отчет в СКД через Конфигуратор.

01 Нам необходимо разделить затраты номенклатуры от трудозатрат, поэтому было создано 2-а Вычисляемых поля "Норматив" (трудозатраты) и "НеНорматив" (затраты номенклатуры), чтобы подсчитать сумму раздельно по ним:

2020-04-27 21 44 04

Норматив:

ВЫБОР КОГДА Затрата.Наименование = "Норматив" ТОГДА КоличествоЗатрат КОНЕЦ

НеНорматив:

ВЫБОР КОГДА Затрата.Наименование <> "Норматив" ТОГДА КоличествоЗатрат КОНЕЦ

Теперь у нас 2-а Вычисляемых поля, в которых мы разделили детальные записи номенклатуры и трудозатрат из поля "Затрата":

2020-06-19 09 52 37

сумма по ним рассчитывается в колонке (поле) "КоличествоЗатрат" - общая сумма номенклатуры и норматива:

2020-06-19 09 55 18

Поэтому, чтобы сумму разделить, мы создадим свое Пользовательское поле вместо поля "КоличествоЗатрат" (пункт №03), в котором так же выведем сумму, но только по одному Вычисляемому полю <> Норматив, а второе поле = Норматив будет рассчитано только по полю Затрата в детальной записи (пункт №02).

02 Добавляем в "Ресурсы" 2-а Вычисляемых поля, но для = Норматив указываем, что расчет суммы вести по полю "Затрата":

2020-04-27 22 09 48

Таким образом, в итоговое поле "Норматив" не попадет.

03 Создаем Пользовательское поле в котором объединим ранее созданные 2-а Вычисляемых поля, выведем в нем сумму детальной записи для норматива и общую сумму по номенклатуре в "Итого". Я сохранил отчет как внешний .erf и в режиме Предприятие, через форму отчета добавил Пользовательское поле (его так же можно добавить и через СКД, если у вас нет проблем с загрузкой Варианта отчета в СКД). "Еще" - "Прочее" - "Изменить вариант отчета..." - вкладка "Пользовательские поля" - "Добавить" - "Новое поле выражение...":

2020-04-27 22 30 57

Строка(Норматив) + "" + Строка([Не норматив])
04 На этом задача выполнена: Итоги считаются только по <> Норматив, т.е. по Номенклатуре. Где затрата = "Норматив" считается сумма только в детальной записи. Таким образом мы получили объединение 2-х Вычисляемых полей в одной строке с разделением суммы "Итого" по каждой из них:

2020-04-27 21 15 534458

mr. Mak

Остались вопросы? Пишите на почту admin@hzit.ru

Администратор сайта hzit.ru
Back to top