Среди механизмов платформы 1С 8 есть множество инструментов, призванных упростить жизнь пользователю. Одним из таких объектов является «Стандартный период«. Можно использовать стандартный период в СКД, а также на управляемых формах. Оба варианта работают схожим образом.
Что же такое Стандартный период в 1С СКД? Во многих отчетах предусмотрена аналитика за определенный период — день, неделю, месяц. Классический подход: создаются два параметра — ДатаНачала и ДатаОкончания, которые далее используются в запросе. И пользователю приходится по-отдельности вводить сперва дату начала, потом дату окончания, следить за правильностью введенных данных — не очень-то удобно!
Тут-то и пригождается объект типа Стандартный период. Пользователю в отчете выводится только одно поле -сам период, в котором можно указать например «Сегодня», «Прошлый квартал», «Следующая неделя» и т.д. А в запрос подставятся нужные параметры начала и окончания периода. Сделать это достаточно просто — ниже рассмотрим на примере
Стандартный период в СКД - пример использования
Предположим, у нас есть документ ПриходТоваров, и мы хотим отобрать в отчет все документы за определенный период. Создадим новый отчет, добавим основную схему компоновки данных, и напишем текст запроса:
ВЫБРАТЬ ПриходТоваров.Ссылка КАК Ссылка ИЗ Документ.ПриходТоваров КАК ПриходТоваров ГДЕ ПриходТоваров.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания
На закладке Параметры в СКД автоматически добавятся два параметра — ДатаНачала и ДатаОкончания
Добавим новый параметр, назовем как нам нужно, и укажем тип СтандартныйПериод. Именно этот параметр и будет отображаться пользователю. Для того, чтобы оставшиеся два параметра не выводились на форму, нужно проставить флажки «ограничение доступности».
Далее, у параметров ДатаНачала и ДатаОкончания нам нужно заполнить поле Выражение. Чтобы использовать даты из стандартного периода, пропишем следующее:
&ПериодОтчета.ДатаНачала &ПериодОтчета.ДатаОкончания
Важно! Даты стандартного периода автоматически приводятся соответственно — дата начала к 00:00:00, дата окончания к 23:59:59 включительно. Т.е. писать «КонецПериода(&ПериодОтчета.ДатаОкончания , День)» в настройках параметра или «КонецПериода(&ДатаОкончания , День)» в тексте запроса — не обязательно.
Чтобы стандартный период можно было указать, не заходя в настройки отчета, включим его в пользовательские настройки. Для этого на закладке Настройки вызываем контекстное меню, и ставим флажок «Включать в пользовательские настройки».
Теперь сохраним получившийся отчет и запустим в режиме 1С Предприятие. Теперь период отчета на СКД мы можем выбирать через диалог стандартного периода:
Вот так при помощи одного объекта с типом СтандартныйПериод мы можем упростить работу пользователя с отчетом на СКД, а себе — упростить разработку.
Сэкономь часы на дебаге 1C!
Скачай PDF с топ-11 ошибок начинающих разработчиков + файл с примерами кода!