Как настроить динамический период отчета в 1С до конца следующего месяца

Пользователь 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом IT и автоматизация бизнеса
← На главную

При ежедневной работе с типовыми отчетами 1С (например, отчетом «Личные данные» для отслеживания работников, срок действия полисов которых истекает в следующем месяце) часто возникает необходимость автоматизировать подстановку дат. Бухгалтеру или кадровику удобнее открывать уже готовый вариант отчета, не выставляя календарные границы вручную каждый раз.

Рассмотрим подробнее, с какими ограничениями платформы можно столкнуться при решении этой задачи и какими способами можно настроить автоматический расчет периода отчета.

Ограничения пользовательского режима при выборе дат

Проанализируем особенности платформы «1С:Предприятие» при работе с реквизитами типа Дата и СтандартныйПериод:

  1. Ввод встроенных функций пользователем: В пользовательском режиме в поля параметров нельзя вручную вводить формулы или функции языка 1С, такие как КонецПериода() или ДобавитьКДате(). Поле даты принимает только конкретное фиксированное значение из календаря.
  2. Тип «СтандартныйПериод»: Если параметр отчета поддерживает выбор стандартного интервала, платформа предлагает динамические периоды (например, «Следующий месяц»). Однако такой вариант жестко задает диапазон с 1-го по последнее число следующего месяца. Задать комбинированный период (от текущего момента до конца следующего месяца) только средствами формы без настройки СКД невозможно.

Вариант 1. Сохранение пользовательского варианта отчета (без программирования)

Разберем по шагам наиболее простой способ решения задачи, который не требует изменения конфигурации и доступен рядовому пользователю:

  1. Откроем необходимый типовой отчет (например, «Личные данные»).
  2. Откроем настройки отчета и в поле выбора периода укажем значение «Следующий месяц» (или аналогичный относительный период).
  3. Нажмем кнопку «Ещё» — «Прочее» — «Сохранить вариант отчета» (или выберем пункт сохранения вариантов отчета на панели).
  4. Укажем понятное наименование варианта (например, «Срок действия полисов (следующий месяц)») и ограничим или предоставим доступ другим пользователям.

Результат: Платформа сохраняет в настройках не конкретную календарную дату (например, 31.12.2024), а сам относительный тип интервала. При каждом последующем запуске отчета бухгалтером 1С будет автоматически вычислять границы следующего месяца относительно текущей даты сеанса.

Вариант 2. Настройка выражения в Схеме Компоновки Данных (СКД)

Если требуется жестко зафиксировать дату окончания отчета на последней секунде следующего месяца и скрыть параметр от пользователя, проанализируем настройку в Конфигураторе или Расширении конфигурации.

В Схеме Компоновки Данных на вкладке «Параметры» для поля конечной даты (например, КонецПериода) в колонке «Выражение» прописывается следующая формула:

КонецПериода(ДобавитьКДате(ТекущаяДатаСеанса(), "МЕСЯЦ", 1), "МЕСЯЦ")

Рассмотрим, как работает данное выражение:

  1. Функция ТекущаяДатаСеанса() определяет текущую дату работы пользователя.
  2. Функция ДобавитьКДате(..., "МЕСЯЦ", 1) прибавляет к полученной дате один месяц.
  3. Внешняя функция КонецПериода(..., "МЕСЯЦ") рассчитывает точное время последней секунды полученного месяца (23:59:59 последнего числа).

Для параметра рекомендуется установить флаг «Ограничение доступности», чтобы пользователь не мог переопределить вычисленную значением формулы дату из интерфейса.

Вариант 3. Использование Расширения конфигурации или внешнего отчета

Чтобы не снимать типовую конфигурацию с поддержки при необходимости внесения изменений в СКД, используем один из следующих механизмов:

  1. Расширение конфигурации (файл .cfe): В расширение переносится схема компоновки данных типового отчета, задаются выражения расчета параметров и сохраняется готовый вариант отчета для пользователей.
  2. Дополнительный (внешний) отчет (файл .erf): Схема отчета выгружается во внешний файл, редактируется в Конфигураторе и подключается в справочник ДополнительныеОтчетыИОбработки.
  3. «Универсальный отчет»: Если типовой отчет не позволяет настроить нужные группировки, аналог выборки по справочникам или регистрам сведений настраивается через стандартный Универсальный отчет, где также сохраняется пользовательский вариант с динамическим периодом.
← На главную