1с скд период в параметрах
Дополнение периодов в системе компоновки данных
Для некоторых отчетов необходимо получать данные на все периоды в заданном интервале. Например, получать остатки по дням, вне зависимости от того, были ли движения за эти дни. Система компоновки данных позволяет указывать для группировок дополнение периодов с заданной периодичностью в указанном интервале.
Для примера, рассмотрим отчет, который выводит остатки и обороты за указанный период.
Данные будем получать при помощи следующего запроса:
Для отчета будем использовать следующие настройки:
Т.е. в отчет будем выдавать группировку по периоду и диаграмму группировкой по периоду в сериях.
Если мы будем получать отчет с группировкой по периоду без дополнения, то результат отчета будет выглядеть следующим образом:
Как видно, дни, за которые отсутствовали движения, в отчет не выводятся, что не позволяет визуально отслеживать динамику изменения остатков.
Попробуем воспользоваться дополнением периодов, для этого включим у поля группировки тип дополнения День.
Результат отчета с этой настройкой будет выглядеть следующим образом:
В данном результате видно, что остатки выдаются на все дни, даже если в эти дни не было движений.
При необходимости, для поля группировки можно указать интервал, в котором нужно дополнять периоды. Для этого следует ввести даты в колонки "Начальная дата периода" и "Конечная дата периода" поля группировки. При этом дополнение будет происходить не только в интервале дат, полученных из набора данных, но с начальной даты до конечной даты.
Для демонстрации этой возможности воспользуемся отчетом о продажах, в котором будем использовать следующий запрос:
Для примеров будем рассматривать вывод в отчет одной группировки по полю Период.
Результат отчета без дополнения будет выглядеть так:
Результат с дополнением по дням без указания интервала будет выглядеть так:
Т.е. дополнение произошло в интервале, дат, которые были получены из набора данных.
Если у поля группировки установить начальную и конечную дату периода следующим образом:
То дополнение по дням произойдет в указанном интервале и результат отчета будет выглядеть так:
Отметим, что в качестве начальных и конечных дат периода можно использовать не только даты, но и перечисление ТипДополненияПериодаКомпоновкиДанных, а также поле компоновки данных. Для выбора типа следует очистить содержимое поля и воспользоваться кнопкой выбора типа.
Если в качестве начальной и/или конечной дат периода используется поле, то дополнение будет осуществляться до даты, полученной из этого поля. Заметим, что в качестве полей, значение которых будет использоваться для указания начальной или конечной даты периода, можно использовать только поля - параметры и поля отчета - владельца (в случае если дополнение происходит во вложенном отчете). Для примера, воспользуемся в качестве начальной даты полем - параметром - начало периода, а в качестве конечной даты - параметром - конец периода. При этом результат будет дополняться в том периоде, который указан в параметрах данных отчета.
Как видно в данном примере, дополнение произошло в интервале, указанном в параметрах данных.
Если в качестве границы интервала используется тип ТипДополненияПериодаКомпоновкиДанных, то дополнение будет осуществляться до ближайшей границы выбранного типа периода. Так, если в качестве начальной и конечной дат периода выбрать Месяц, то дополнение будет осуществляться с начала месяца первой даты, присутствующей в группировке и до конца месяца последней даты, присутствующей в группировке. Если выбрать в качестве границ выбрать значение Неделя, то периоды будут дополняться с начала недели и до конца недели. Другие типы дополнения отрабатываются аналогично.
Данная возможность особенно полезна для создания отчетов, в которых группировка по периоду вложена в группировку по объемлющему периоду.
Рассмотрим следующую настройку:
В отчет будут выдаваться периоды, сгруппированные по месяцам.
Если для группировки по периоду установить в качестве начальной и конечной даты конкретные даты, то дополнение произойдет в рамках указанного периода, т.е. в отчет выведутся периоды, которые вовсе не находятся в текущей группировке по месяцам.
При дополнении в периоде 01.01.2002 - 31.03.2002 результат может выглядеть следующим образом:
Как видно, группировка по периоду была дополнена в указанном интервале, и в результат попали строки, которые вовсе не относятся к месяцу группировки.
Для того, чтобы в рамках группировки по месяцу дополнение группировки - период происходило только в интервале этого месяца, укажем в качестве начальной и конечной дат дополнения периода тип дополнения периода - Месяц.
Результат будет выглядеть так:
Как видно, дополнение внутри группировки по месяцу произошло только в рамках месяца, что и требовалось.
Формируя отчеты в 1С, для удобства работы задается период для получения интересующих данных. При этом большинство отчетов любой сложности, создаваемые в программе «1С:Предприятие», строятся через «Систему компоновки данных» (СКД). Это мощный и гибкий инструмент, предназначенный не только для построения разных форм отчетности, но и для вывода информации со сложной структурой, содержащей произвольный набор диаграмм и таблиц.
Данный механизм позволяет устанавливать стандартный период в любых отчетах, благодаря чему оптимизируется и ускоряется работа пользователя с необходимой информацией. Рассмотрим на примере, как реализуется на практике данный механизм.
Для начала откроем конфигурацию базы и перейдем в «Макеты». Пользователю необходимо выбрать «Схемы компоновки данных» – раздел для установки параметров.
Теперь переходим к «Параметрам». В отчете мы имеем два основных параметра – Начало Периода и Конец Периода. Добавим третий – Стандартный период с установкой типа «СтандартныйПериод». В колонке «Выражение» пропишем следующее: &Период.ДатаНачала и &Период.ДатаОкончания. Обязательно устанавливаем флажок «Ограничение доступности».
Далее активируем вкладку «Настройки», устанавливаем галочку «Отображать недоступные параметры» и переходим в пользовательские настройки указанного параметра – «Период». На мониторе откроется окно, где необходимо установить флажок напротив «Включать в пользовательские настройки».
После обновления данных в конфигурации, переходим в пользовательский режим. Выбор периода включает в себя несколько стандартных вариантов: день, 6 или 9 месяцев, 1 год.
В обновленных версиях 1С большинство отчетов уже реализованы с представленным вариантом выбора периода. В этом можно убедиться, открыв любой отчет. Например, «Универсальный отчет», «Анализ взносов в фонды».
Из представленных примеров видно, что в отчетах уже установлен стандартный период. Использование механизма СКД «Стандартный период» существенно упрощает работу, экономит время при формировании отчетов и повышает эффективность рабочего процесса пользователя.
При работе с отчетами в программах 1С первое, что мы задаем, создавая их – тот период, за который мы хотим получить какие-либо, интересующие нас данные. При этом большинство из форм отчетности в программах, созданных на платформе «1С:Предприятие», строятся через «Систему компоновки данных» (СКД). Благодаря данному механизму, мы можем создать возможность установки стандартного временного периода в любых отчетах. Т.е., зайдя туда, пользователь не просто «руками» должен будет заполнить начало и окончание периода, а сможет воспользоваться возможностью выбора и указать из предустановленных: День, Неделя, Декада, Квартал, Год. Для этого в параметрах отчета надо поставить параметр «СтандартныйПериод».
Рассмотрим, как реализовать это на практике и как используется этот механизм в 1С.
Откроем конфигурацию и рассмотрим свойства отчета. Перейдем в «Макеты», где мы увидим раздел для установки параметров «Схемы компоновки данных».
Перейдем на закладку «Параметры». НачалоПериода/КонецПериода – стандартные записи (и к ним добавляется еще один – «Период», с типом «СтандартныйПериод»). В колонке «Выражение» для них укажем выражения: &Период.ДатаНачала и &Период.ДатаОкончания, соответственно, и установим галочки – «Ограничение доступности».
Перейдем в «Настройки», включим галочку «Отображать недоступные параметры» и откроем пользовательские настройки для нашего нового параметра – «Период». В открывшемся окне устанавливаем галочку «Включать в пользовательские настройки».
Обновив данные в конфигурации, переходим в пользовательский режим. Период выбираем из стандартных вариантов.
В новых версиях 1С практически все отчеты уже реализованы с таким вариантом выбора периода. Откроем любой отчет и посмотрим. К примеру, «Универсальный отчет», «Анализ взносов в фонды».
Мы видим, что в отчетах реализовано использование стандартного периода. Администратор-разработчик, используя механизм СКД «Стандартный период», способен оптимизировать работу пользователя с отчетами, упрощая и ускоряя ее. Кажется, что установка даты начала и окончания периода и выбор периода не отнимает много времени. Но если говорить о сотнях отчетов – небольшая настройка приведет к серьезному упрощению работы с формами в программе и повысит общую эффективность работы пользователя.
Стандартный период в 1С – это общий объект, который можно использовать и при работе с управляемой формой, и при работе с компоновкой данных. В этой статье разберем, как работать со стандартным периодом на управляемой форме и в СКД.
Стандартный период в 1С на управляемой форме
На управляемой форме можно создать реквизит с типом Стандартный период, и поместить этот реквизит на саму форму в виде поля ввода.
Теперь, если пользователь нажмет на кнопку «…» поля ввода стандартного периода, то откроется окно «Выберете период».
В этом окне можно выбрать любой период, и поместить его в поле ввода.
Как нам, после того как будет выбран период, получить дату начала и дату конца периода? Для этого следует воспользоваться свойствами ДатаНачала и ДатаОкончания объекта СтандартныйПериод.
Напомню, что Период – это реквизит формы (см. первый скрин).
Стандартный период можно создать в коде при помощи конструктора Новый.
Если мы сделаем так, то создадим пустой стандартный период (с пустыми датами). Также можно создать стандартный период с уже заранее определенными датами.
Ещё, можно создать стандартный период по варианту. Например, создадим стандартный период вчерашней даты.
ВариантСтандартногоПериода – системное перечисление, которое содержит разные варианты стандартного периода. Посмотреть на все значения этого перечисления можно в синтакс-помощнике (Системные перечисления – Разные – Варианта стандартного периода).
Созданную при помощи конструктора Новый переменную типа СтандартныйПериод, можно, как вариант, присвоить реквизиту формы такого же типа.
Стандартный период 1С в СКД
Стандартный период можно использовать в СКД. Например, нам нужно получить список документов, начиная с одной даты и заканчивая другой датой.
У нас получится такой вот несложный запрос в наборе данных.
Со следующим набором параметров.
Если мы всё так и оставим, эти параметры у нас перейдут и в настройку.
И в форму отчета.
Возможно, вас такой вариант и устроит, а можно заменить эти даты стандартным периодом.
Для этого в схеме компоновки данных нужно создать параметр с типом СтандартныйПериод.
А в поле Выражение для параметров ДатаНачала и ДатаОкончания получать дату начала и дату окончания параметра с типом СтандартныйПериод:
А также, у параметров с датами необходимо установить флаги у поля Ограничение доступности, чтобы их не было видно на форме отчёта.
Чтобы поле Период отобразилось на форме отчёта, следует установить свойство Включать в пользовательские настройки соответствующему параметру на закладке Настройки.
Ну и также, не забудем выбрать поля у детальных записей.
После всех этих настроек, на форме отчета должно появиться поле Период, в котором можно выбрать разные варианты периодов.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
Читайте также: