Надеюсь, кому-нибудь пригодится. Иногда Заказчику требуется расчет итоговых значений по данным, не подпадающим под правило формирования строки «ИТОГО» в отчете.
Во многом информация, озвученная ниже, собиралась и перерабатывалась из разных источников по работе с СКД. Даже, возможно, есть проще решение, но моя реализация, надеюсь, не хуже (реализуется, как мне кажется, просто). На уникальность идеи не претендую.
Естественно, думаю, можно реализовать и «кодированием», но я пошел другим путем.
Итак, пример:
Исходные данные
Имеем отчет (который реализован в СКД "отчет-таблица"):
Наименование |
1(янв) |
2(февр) |
… |
12(дек) |
Итого |
ГруппаТовара1 |
|
|
|
|
Сумма по строке |
ГруппаТовара2 |
|
|
|
|
Сумма по строке |
ГруппаТовара3 |
|
|
|
|
Сумма по строке |
… |
|
|
|
|
Сумма по строке |
ГруппаТовараN |
|
|
|
|
Сумма по строке |
Итого |
Сумма по столбцу |
Сумма по столбцу |
Сумма по столбцу |
Сумма по столбцу |
Сумма по столбцу |
Необходимо
Добавить итоги (именно в конце таблицы, группировку «наименований» не меняем), которые считает значение только определенных Групп Товаров (например, «услуг»).
Показатель |
1(янв) |
2(февр) |
… |
12(дек) |
Итого |
ГруппаТовара1 |
|
|
|
|
Сумма по строке |
ГруппаТовара2 |
|
|
|
|
Сумма по строке |
ГруппаТовара3 |
|
|
|
|
Сумма по строке |
… |
|
|
|
|
Сумма по строке |
ГруппаТовараN |
|
|
|
|
Сумма по строке |
Итого |
Сумма по столбцу |
Сумма по столбцу |
Сумма по столбцу |
Сумма по столбцу |
Сумма по столбцу |
Итого услуги |
Сумма по услугам |
Сумма по услугам |
Сумма по услугам |
Сумма по услугам |
Сумма по услугам |
Реализация
- В запросе «Набора Данных» должно быть поле для дальнейшей группировки, позволяющее явно выделить данные относящиеся к «итого услуги» («ГруппаУслуги»)
- В настройках макета к строкам добавляем группировку по полю «ГруппаУслуги»
- Для нее настраиваем отбор ГруппаУслуги = «услуги»
- Для нее в настройках отключаем «Расположение общих итогов» и «Выводить отбор».
Также реализуется, например, возможность добавить столбец «Итого за 9 месяцев» (накладывается условие на «дату», ограничивающее 9 месяцев), т.е. при отображения данных всего года, имеем возможность отобразить итог за 9 месяцев.
Примечание: если полетят «камни»:
- Это первая статья тут, бум дополнять и править
- Не позиционирую себя как «программист 1С»
- 1С использую потому, что необходимо, поэтому информация в некоторых случаях поверхностная и не претендующая на статус «гуру»
- Не думаю, что изобрел «самолет»