Каталог решений - Создаем отчет с заданной периодичностью на СКД

Создаем отчет с заданной периодичностью на СКД

Создаем отчет с заданной периодичностью на СКД

В наличии

Учимся создавать отчет с заданной периодичностью с использованием СКД.

Категория:

Описание

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

Итак, начнем.

Для простоты понимая пример будем строить на одном простом оборотном регистре накопления.

В моем случае это регистр накопления «Незавершенное производство бухгалтерский учет».

Его параметры для примера укажем жестко (не через мягкое накладывание параметров на СКД):

Обратим внимание, периодичность виртуальной таблицы — «Запись».

Далее выбираем период из виртуальной таблицы и нужные нам поля.

Но, как было замечаено выше, период нам нужен в разрезе периодичности, поэтому поле «Период» я предлагаю вычислить следующим путем (несовсем красиво, но лучше вариантов я не видел):

Как видно из скриншота, в запрос передается параметр, который пользователь указывает на форме: Значение перечисления «Периодичность» — данное перечисление есть практически во всех типовых решениях.

Его доустпные типы укажем на вкладке «Параметры»:

Далее, в настройках СКД создаем таблицу, в ней — колонку «Период» (вертикальная группировка):

Далее следует важный момент настройки условного оформления:

Этой настройкой мы форматируем наш период, чтобы все было красиво и радовало глаз)

Вот, собственно, сами форматы:

Месяц: ДФ=’ММММ гггг «г.»‘

День: ДФ = дд.ММ.гггг

Неделя: ДФ = ‘»Неделя с» дд.ММ.гггг ‘

Квартал: ДФ = ‘к «квартал» гггг «г.»‘

Год: ДФ = ‘гггг «г.»‘

Декада: ДФ = ‘»Декада с» дд.ММ.гггг ‘

Полугодие: ДФ = ‘»Полугодие с» дд.ММ.гггг’

Вот и все. На выходе имеем замечательную картину:

has been added to your cart:
Оформление заказа