При разработке и доработке отчетов на базе системы компоновки данных (СКД) разработчики часто сталкиваются с ситуацией, когда стандартное поле выбора периода позволяет задавать только календарные даты, округляя границы до целого дня (с 00:00:00 даты начала по 23:59:59 даты окончания). Если требуется анализировать движения регистров или документы в разрезе конкретных часов, минут и секунд, стандартный диалог периода оказывается неприменим. Разберем причины такого поведения платформы и пошагово настроим схему компоновки данных для точного ввода времени.
Проанализируем архитектуру работы с датами в типовых отчетах. В типовых конфигурациях выбор интервала дат обычно привязан к параметру со специальным системным типом СтандартныйПериод. Этот тип данных на уровне платформы «1С:Предприятие» предназначен исключительно для работы с календарными днями и стандартными интервалами (день, месяц, квартал, год).
Форма отчета автоматически распознает наличие параметра типа СтандартныйПериод и генерирует единый элемент управления для выбора дат. Даже если у зависимых параметров НачалоПериода и КонецПериода задан состав даты Дата и время, вычисляемые выражения СКД (например, &Период.ДатаНачала и КонецПериода(&Период.ДатаОкончания, "День")) все равно приводят границу к началу или концу суток.
Чтобы предоставить пользователю возможность указывать время вплоть до секунд, необходимо отказаться от использования составного типа СтандартныйПериод и перевести параметры на прямой ввод точной даты и времени.
Разберем по шагам, как правильно перенастроить параметры в конструкторе СКД:
СтандартныйПериод (обычно он называется Период или СтандартныйПериод) и снимем флаг его использования либо полностью удалим его, если он не задействован в других выражениях.НачалоПериода и КонецПериода проверим тип данных — должно быть установлено значение Дата с составом даты Дата и время.КонецПериода(), их нужно удалить, чтобы платформа не перезаписывала введенные пользователем секунды.ДФ='dd.MM.yyyy HH:mm:ss'
После изменения параметров на вкладке схемы они могут пропасть из шапки отчета, если не настроен их пользовательский вывод. Чтобы вернуть удобные поля ввода в шапку отчета без программирования формы, выполним следующие действия:
НачалоПериода и нажмем кнопку настройки пользовательского свойства (значок с карандашом/шестеренкой).КонецПериода.В результате на форме отчета сформируются два независимых поля ввода даты и времени, в которых пользователь сможет интерактивно задавать время с точностью до секунды.
Рассмотрим нюанс передачи точного времени в виртуальные таблицы регистров накопления и сведений (например, ОстаткиИОбороты). При передаче даты со временем в СКД граница интервала применяется строго по значению указанной секунды.
Если для параметра КонецПериода пользователь выбирает значение 31.01.2026 15:30:00, в отчет попадут движения ровно до этой секунды включительно. Дополнительных преобразований типа Граница в тексте запроса СКД делать не требуется — платформа корректно отрабатывает переданные значения даты и времени.