При ежедневной работе с типовыми отчетами 1С (например, отчетом «Личные данные» для отслеживания работников, срок действия полисов которых истекает в следующем месяце) часто возникает необходимость автоматизировать подстановку дат. Бухгалтеру или кадровику удобнее открывать уже готовый вариант отчета, не выставляя календарные границы вручную каждый раз.
Рассмотрим подробнее, с какими ограничениями платформы можно столкнуться при решении этой задачи и какими способами можно настроить автоматический расчет периода отчета.
Проанализируем особенности платформы «1С:Предприятие» при работе с реквизитами типа Дата и СтандартныйПериод:
КонецПериода() или ДобавитьКДате(). Поле даты принимает только конкретное фиксированное значение из календаря.Разберем по шагам наиболее простой способ решения задачи, который не требует изменения конфигурации и доступен рядовому пользователю:
Результат: Платформа сохраняет в настройках не конкретную календарную дату (например, 31.12.2024), а сам относительный тип интервала. При каждом последующем запуске отчета бухгалтером 1С будет автоматически вычислять границы следующего месяца относительно текущей даты сеанса.
Если требуется жестко зафиксировать дату окончания отчета на последней секунде следующего месяца и скрыть параметр от пользователя, проанализируем настройку в Конфигураторе или Расширении конфигурации.
В Схеме Компоновки Данных на вкладке «Параметры» для поля конечной даты (например, КонецПериода) в колонке «Выражение» прописывается следующая формула:
КонецПериода(ДобавитьКДате(ТекущаяДатаСеанса(), "МЕСЯЦ", 1), "МЕСЯЦ")
Рассмотрим, как работает данное выражение:
ТекущаяДатаСеанса() определяет текущую дату работы пользователя.ДобавитьКДате(..., "МЕСЯЦ", 1) прибавляет к полученной дате один месяц.КонецПериода(..., "МЕСЯЦ") рассчитывает точное время последней секунды полученного месяца (23:59:59 последнего числа).Для параметра рекомендуется установить флаг «Ограничение доступности», чтобы пользователь не мог переопределить вычисленную значением формулы дату из интерфейса.
Чтобы не снимать типовую конфигурацию с поддержки при необходимости внесения изменений в СКД, используем один из следующих механизмов:
ДополнительныеОтчетыИОбработки.