понедельник, 8 июля 2019 г.

Параметрическое задание периодичности таблицы Обороты в СКД


В языке запросов параметр Периодичность виртуальных таблиц Обороты регистра накопления и бухрегистра задается т. н. "перечислимым значением" из списка: Период, Запись, Регистратор, Секунда, Минута,  . . . .  Год, Авто.


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

     Для эксперементов возьмем РегистрНакопления Взаиморасчеты. Откроем конструктор СКД и в нем откроем конструктор запроса. Выберем вкладку компановка данных  и в поле таблицы установим параметры виртуальной таблицы в поле Периодичность поставим &Период



Запрос изменился, появилось поля расширения языка запросов для скд. В фигурных скобках &Период 



На вкладке Параметры конструктора скд, задаим список числовых значений наиболее употребительных  значений периодичности день, месяц, квартал и год.

Периоды:

6  - День
9  - Месяц
10 - Квартал
12 - Год



не забудем сделать группировку по контрагенту



итог -получили параметры периодичности


Дополнительно для красоты отображения полей можно настроить формат

Это делается на вкладке настройка конструктора скд, доп вкладка условное оформление 

Форматы:

ДФ=dd.MM.yyyy         - день
ДФ="MMMM yyyy"        - месяц
ДФ="к' квартал 'yyyy" - квартал
ДФ=гггг'г.'           - год



Конечным результатом нашей работы является вот такой красивый отчет 

Схема отчета для СКД




Комментариев нет:

Отправить комментарий

Печать чека ККМ из драйвера ККМ

Суть проблемы: Пробиваем чек из 1С: Бухгалтерии. Чек пробит не  правильно. Теперь нужно сделать чек коррекции. Но в программе это сделать н...