Отчеты и Аналитика · 10 мин
Как убрать время в отчете 1С
Как убрать время из даты в отчете 1С: настройка формата в СКД, запросе и макете. Пошаговые инструкции для типовых конфигураций и самописных отчетов.
В отчетах 1С дата часто выводится вместе со временем — например, «15.03.2026 14:32:07». Для большинства управленческих и бухгалтерских отчетов время избыточно: оно растягивает колонки, мешает чтению и портит печатную форму. Убрать время можно несколькими способами в зависимости от того, как построен отчет: через настройки формата поля, через запрос или через код.
Ключевой момент: «время в отчете» — это не отдельные данные, а часть значения типа «Дата», которое в 1С всегда хранит и дату, и время с точностью до секунды. Поэтому задача сводится либо к изменению отображения (форматированию), либо к отсечению времени на уровне запроса функцией НАЧАЛОПЕРИОДА.
Способ решения зависит от того, есть ли у вас доступ к конфигуратору и правам на изменение отчета. Пользователь типовой конфигурации может обойтись настройками в режиме «Предприятие», разработчику доступны более гибкие инструменты — форматные строки, выражения СКД и функции языка запросов.
Определите, как устроен ваш отчет
Прежде чем что-то менять, выясните, на чем построен отчет. Большинство отчетов в типовых конфигурациях (1С:Бухгалтерия, 1С:Управление торговлей, 1С:ERP) работают на системе компоновки данных (СКД) — это видно по наличию кнопки «Настройки» с вкладками «Отбор», «Сортировка», «Поля». Для таких отчетов часть задач решается без конфигуратора.
Если отчет самописный или доработанный, время может выводиться из макета, из кода на встроенном языке или из запроса. Признак того, что формат задан жестко в коде: пользовательские настройки не влияют на отображение даты, и после любых изменений в настройках время остается на месте.
Попробуйте решить через пользовательские настройки или схему компоновки
Потребуется конфигуратор и поиск места вывода
Настраивайте формат для каждого поля отдельно
Убрать время через пользовательские настройки СКД
Если отчет построен на СКД и разработчик не запретил изменение оформления, формат даты можно задать прямо в режиме «Предприятие». Это самый безопасный способ: он не трогает конфигурацию и легко откатывается.
Откройте отчет, нажмите «Настройки» и перейдите в расширенный режим настроек. На вкладке «Дополнительные настройки» найдите параметр «Формат» — он может быть доступен для отдельных полей. Для нужного поля даты укажите форматную строку ДФ=dd.MM.yyyy. После этого дата будет выводиться без времени, например «15.03.2026».
- 1Откройте отчет и нажмите «Ещё» → «Изменить вариант» (или кнопку «Настройки»)
- 2Перейдите на вкладку «Дополнительные настройки» или в оформление нужного поля
- 3Найдите параметр «Формат» для поля даты
- 4Введите ДФ=dd.MM.yyyy и сформируйте отчет заново
- 5Проверьте, что время исчезло во всех строках, включая итоги и группировки
Если пункта «Формат» в настройках нет, значит, разработчик отчета не вывел этот параметр для пользователя. Тогда остаются два пути: попросить разработчика добавить настройку или изменить схему компоновки в конфигураторе.
Настроить формат даты в конфигураторе (СКД)
Для разработчика основной способ — задать формат прямо в схеме компоновки данных. Откройте отчет в конфигураторе, перейдите к основной схеме компоновки данных и откройте вкладку «Настройки». Выделите нужное поле в структуре отчета, вызовите его оформление и в параметре «Формат» укажите ДФ=dd.MM.yyyy.
Форматная строка управляется буквенными кодами: d или д — день, M или М — месяц, y — год. Регистр и локаль влияют на интерпретацию, поэтому для русской локали надежнее использовать русские буквы: ДФ="дд.ММ.гггг". Полный вариант с временем выглядел бы как ДФ="дд.ММ.гггг ЧЧ:мм:сс" — именно его отсутствие и убирает время из вывода.
Тот же формат можно задать на уровне поля набора данных: на вкладке «Наборы данных» выделите поле, откройте его свойства и задайте «Формат» там. Это удобно, когда поле используется в нескольких местах отчета — настройка применится ко всем выводам сразу.
Отсечь время в запросе функцией НАЧАЛОПЕРИОДА
Когда время мешает не только визуально, но и логически — например, документы одного дня попадают в разные строки группировки — форматирования недостаточно. Нужно отсечь время на уровне запроса функцией НАЧАЛОПЕРИОДА.
В тексте запроса схемы компоновки замените выборку поля даты на выражение:
ВЫБРАТЬ
НАЧАЛОПЕРИОДА(Реализация.Дата, ДЕНЬ) КАК ДатаДокумента
ИЗ
Документ.РеализацияТоваровУслуг КАК Реализация
Функция возвращает начало указанного периода: для ДЕНЬ это 00:00:00 соответствующей даты. В результате все документы одного дня получают одинаковое значение и корректно группируются. Аналогично работают периоды НЕДЕЛЯ, МЕСЯЦ, КВАРТАЛ, ГОД — это стандартный прием для отчетов с группировкой по периодам.
НАЧАЛОПЕРИОДА(Реализация.Дата, ДЕНЬ) КАК ДатаДокументаУчтите ограничение: НАЧАЛОПЕРИОДА нельзя применять к полю внутри итогов и некоторых выражений СКД напрямую — в таких случаях функцию помещают в исходный запрос набора данных, а в схеме уже работают с готовым вычисленным полем.
Убрать время при выводе из кода и в макетах
В самописных отчетах и печатных формах дата нередко выводится напрямую из кода встроенного языка. Здесь работают две функции: Формат() для строкового представления и НачалоДня() для отсечения времени у значения.
// Вариант 1: форматирование при выводе
СтрокаДаты = Формат(Документ.Дата, "ДЛФ=D"); // "15 марта 2026 г."
СтрокаДаты = Формат(Документ.Дата, "ДФ=dd.MM.yyyy"); // "15.03.2026"
// Вариант 2: отсечение времени у значения
ДатаБезВремени = НачалоДня(Документ.Дата); // 15.03.2026 0:00:00
Разница принципиальна: Формат() возвращает строку, которую нельзя сравнивать как дату или использовать в дальнейших вычислениях. НачалоДня() возвращает значение типа «Дата», пригодное для сравнений, отборов и группировок. Если область макета заполняется параметром, который потом участвует в логике, используйте НачалоДня().
В табличных документах формат можно задать и в свойствах ячейки макета: выделите ячейку, откройте палитру свойств и в поле «Формат» укажите ту же строку ДФ=dd.MM.yyyy. Это избавляет от изменения кода, если формат нужно поменять только визуально.
Способы убрать время
Подходит пользователю без конфигуратора; меняет только отображение, группировка по дням не исправляется
Правильный способ при группировке по дням; требует доступа к схеме компоновки
Для печатных форм и произвольного вывода; результат — строка, не подходит для сравнений
Отсекает время у значения даты; используйте, если значение еще участвует в логике
Проверьте результат и учтите подводные камни
После изменений сформируйте отчет и проверьте не только основную таблицу, но и итоги, группировки, расшифровку и выгрузку в Excel. Частая ситуация: в таблице время исчезло, но в заголовках группировок или в расшифровке осталось — значит, формат задан не для всех уровней структуры отчета.
Отдельно проверьте выгрузку в Excel. Если вы форматировали дату функцией Формат(), в ячейку попадет строка, и Excel не сможет сортировать или фильтровать ее как дату. Для корректной выгрузки передавайте значение типа «Дата» (через НачалоДня()), а форматирование оставьте на стороне табличного документа.
Как проверить результат
Даты вида 15.03.2026 без времени во всех строках
Время осталось в итогах или группировках
Все документы одного дня в одной строке
Один день разбит на несколько строк — нужен НАЧАЛОПЕРИОДА
Ячейки распознаются как даты, работает сортировка
Даты стали текстом — замените Формат() на НачалоДня()
Частые вопросы
Почему после установки формата группировка по дням все равно не работает?
Формат влияет только на отображение, а группировка выполняется по фактическому значению, где время сохраняется. Чтобы документы одного дня объединялись, примените в запросе НАЧАЛОПЕРИОДА(Дата, ДЕНЬ) и группируйте уже по этому полю.
Можно ли убрать время без доступа к конфигуратору?
Да, если отчет на СКД и разработчик вывел параметр «Формат» в пользовательские настройки. Откройте расширенные настройки отчета и задайте для поля формат ДФ=dd.MM.yyyy. Если параметра нет — без доработки отчета не обойтись.
Чем отличаются ДЛФ=D и ДФ=dd.MM.yyyy?
ДЛФ=D — локальный формат даты, выводит дату словами согласно региональным настройкам, например «15 марта 2026 г.». ДФ=dd.MM.yyyy — явный шаблон, дающий «15.03.2026» независимо от локали. Для печатных форм чаще используют ДЛФ=D, для таблиц — ДФ.
Время пропало в таблице, но осталось в заголовке периода отчета. Что делать?
Заголовок периода формируется отдельно — либо параметром вывода «Заголовок» с собственным форматом, либо в коде. Проверьте оформление соответствующего элемента структуры СКД или место в модуле, где формируется текст заголовка, и задайте формат там.
Почему в Excel выгруженные даты стали текстом?
Потому что дата была преобразована в строку функцией Формат() до вывода. Передавайте в табличный документ значение типа «Дата» (при необходимости через НачалоДня()), а вид настраивайте через свойство «Формат» ячейки — тогда Excel распознает значения как даты.
Как убрать время у даты в отборе, чтобы отбор срабатывал корректно?
В отборах лучше не отсекать время у значения, а задавать границы периода: с НачалоДня(ДатаНачала) по КонецДня(ДатаОкончания). КонецДня возвращает 23:59:59, поэтому в диапазон попадут все документы последнего дня независимо от времени.
Что важно запомнить
Время у даты в отчете 1С убирается либо форматом ДФ=dd.MM.yyyy (только отображение), либо функциями НАЧАЛОПЕРИОДА в запросе и НачалоДня() в коде (изменение значения). Для группировки по дням обязателен второй способ, для выгрузки в Excel передавайте дату значением, а не строкой.