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