К статье
Практический материал

Разработка и Конфигурация · 7 мин

Как в 1С вывести только день, месяц и год

Как в 1С вывести дату без времени: функция Формат с ДЛФ=D, форматная строка ДФ=dd.MM.yyyy, настройки в запросах, СКД и макетах печатных форм.

В 1С реквизиты типа «Дата» по умолчанию хранят и дату, и время, поэтому при выводе на экран или в печатную форму часто получается значение вида «15.03.2026 14:32:07». Для документов, отчётов и писем такой формат избыточен — нужно оставить только день, месяц и год. Задача решается несколькими способами в зависимости от того, где выводится дата: в коде, в запросе, в СКД или в макете.

Основной инструмент — функция Формат() и форматная строка с параметром ДЛФ (локальный формат даты) или ДФ (явный шаблон). Оба варианта работают во всех современных версиях платформы 1С:Предприятие 8.3 и не требуют изменения конфигурации, если дата выводится программно. Ниже разобраны все рабочие сценарии с примерами кода и типичными ошибками.

Вывод даты без времени через функцию Формат

Самый простой способ — передать дату в функцию Формат() с параметром ДЛФ=D. Буква D означает «короткая дата» в соответствии с региональными настройками сеанса. Результат — строка вида «15.03.2026» без часов, минут и секунд.

ДатаДокумента = ТекущаяДатаСеанса();

СтрокаДаты = Формат(ДатаДокумента; "ДЛФ=D");

// Результат: "15.03.2026"

Сообщить("Документ от " + СтрокаДаты);

Обратите внимание: ДЛФ зависит от настроек локализации. Если у пользователя в региональных настройках стоит другой порядок (месяц-день-год), результат будет отличаться. Для печатных форм, где формат строго регламентирован, лучше использовать явный шаблон ДФ (см. следующий раздел).

bsl
СтрокаДаты = Формат(ТекущаяДатаСеанса(); "ДЛФ=D"); // 15.03.2026

Явный шаблон даты через параметр ДФ

Параметр ДФ задаёт точный шаблон вывода независимо от региональных настроек. Для «день.месяц.год» используется строка ДФ=dd.MM.yyyy. Здесь dd — день с ведущим нулём, MM — месяц с ведущим нулём, yyyy — четырёхзначный год.

Формат(МояДата; "ДФ=dd.MM.yyyy");   // 05.03.2026

Формат(МояДата; "ДФ=d MMMM yyyy"); // 5 марта 2026

Формат(МояДата; "ДФ=dd/MM/yy"); // 05/03/24

Если нужен формат «дд.мм.гггг» с прописным месяцем, применяйте сочетание ДЛФ=DD — длинный формат даты, например «5 марта 2026 г.». Это удобно для договоров и официальных писем, где дата пишется словами.

Сравнение вариантов формата

ДЛФ=D

Короткая дата по региональным настройкам. Подходит для экранных форм, но результат зависит от локали пользователя.

ДФ=dd.MM.yyyy

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

ДЛФ=DD

Дата прописью (5 марта 2026 г.). Подходит для договоров и официальных документов.

Дата без времени в запросах

В языке запросов 1С функции Формат() нет — там дату приводят к началу дня функцией НАЧАЛОПЕРИОДА(Дата, ДЕНЬ). Она возвращает дату со временем 00:00:00, что часто достаточно для сравнений и группировок.

ВЫБРАТЬ

НАЧАЛОПЕРИОДА(Реализация.Дата, ДЕНЬ) КАК День,

СУММА(Реализация.Сумма) КАК Сумма

ИЗ

Документ.РеализацияТоваровУслуг КАК Реализация

СГРУППИРОВАТЬ ПО

НАЧАЛОПЕРИОДА(Реализация.Дата, ДЕНЬ)

Если из запроса нужна именно строка «дд.мм.гггг», то форматирование выполняется уже после выборки — при обходе результата запроса через Формат(). В самом запросе дату в строку заданного вида преобразовать стандартными средствами нельзя.

Формат даты в СКД и отчётах

В системе компоновки данных формат поля задаётся без кода. Откройте настройку отчёта, выберите поле с датой и на закладке «Оформление» (или в свойствах поля в конструкторе СКД) установите параметр «Формат» равным ДЛФ=D или ДФ=dd.MM.yyyy.

В пользовательском режиме (вариант отчёта) то же самое доступно через «Настройки → Дополнительные настройки → Оформление», если разработчик разрешил изменение оформления полей. Для типовых отчётов проще всего выбрать поле даты и задать формат в расширенных настройках.

Формат даты в СКД
  1. 1
    Откройте схему компоновки данных, закладка «Наборы данных» или «Настройки».
  2. 2
    Найдите поле с датой в списке выбранных полей.
  3. 3
    Откройте свойства оформления поля и задайте параметр Формат = ДЛФ=D.
  4. 4
    Сохраните схему и сформируйте отчёт — дата выведется без времени.

Дата в печатных формах и макетах

В табличных макетах у ячейки есть свойство «Формат» — впишите туда ДЛФ=D, и параметр с датой будет выводиться без времени автоматически. Это избавляет от форматирования в коде при заполнении макета.

Если макет заполняется программно, форматируйте значение перед присвоением параметру: Область.Параметры.ДатаДокумента = Формат(Документ.Дата; "ДЛФ=D");. Для договоров часто требуется дата прописью — используйте ДЛФ=DD, чтобы получить «15 марта 2026 г.».

Типичные ошибки
01
Использование Лев(Строка(Дата); 10) — обрезка строки ломается при другой локали и даёт лишние пробелы. Правильно: Формат(Дата; "ДЛФ=D").
02
Форматирование даты до сравнения — сравнивать строки «01.02.2026» и «15.01.2026» как даты нельзя, сравнивайте исходные значения типа Дата.
03
Ожидание, что НАЧАЛОПЕРИОДА в запросе уберёт время при выводе — без Формат() время 00:00:00 всё равно отобразится.

Проверка результата и ограничения

После настройки проверьте вывод на дате с ненулевым временем и на первом числе месяца — так сразу видно, сохраняются ли ведущие нули. Шаблон ДФ=d.M.yyyy выведет «5.3.2026», а ДФ=dd.MM.yyyy — «05.03.2026»; для документов обычно требуется второй вариант.

Учтите ограничение: формат влияет только на отображение, исходное значение в базе не меняется. Если требуется физически хранить дату без времени (например, день рождения), при записи присваивайте реквизиту НачалоДня(ЗначениеДаты) или используйте состав даты «Дата» в свойствах реквизита в конфигураторе.

Контрольные точки

Как проверить результат

Вывод даты на форме или в отчёте
Норма

Виден только день, месяц и год, например 05.03.2026

Тревожный признак

Отображается время 0:00:00 или исходное время

Дата на первое число месяца
Норма

Ведущие нули на месте: 01.02.2026

Тревожный признак

Нули потеряны или дата обрезана

Сравнение дат в коде
Норма

Сравниваются значения типа Дата

Тревожный признак

Сравниваются отформатированные строки

Частые вопросы

Как убрать время у даты в реквизите справочника навсегда?

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

Чем ДЛФ=D отличается от ДФ=dd.MM.yyyy?

ДЛФ=D берёт короткий формат из региональных настроек сеанса и может меняться у разных пользователей. ДФ=dd.MM.yyyy — жёсткий шаблон, результат всегда одинаковый, поэтому для печатных форм и обменов предпочтителен именно он.

Как вывести дату словами, например «15 марта 2026 г.»?

Используйте длинный локальный формат: Формат(Дата; "ДЛФ=DD"). Результат зависит от языка локализации, но для русского интерфейса выдаст полную дату прописью.

Почему после НАЧАЛОПЕРИОДА в отчёте всё равно видно время?

НАЧАЛОПЕРИОДА обнуляет время до 00:00:00, но тип значения остаётся «Дата», и при выводе без формата время отображается. Добавьте формат ДЛФ=D в оформлении поля отчёта или примените Формат() при выводе.

Можно ли отформатировать дату прямо в тексте запроса?

Нет, язык запросов не имеет функции форматирования в строку. Выбирайте дату как есть, а строковое представление формируйте при обходе результата через Формат() или настройкой формата поля в СКД.

Итог

Что важно запомнить

Для вывода только дня, месяца и года применяйте Формат(Дата; "ДЛФ=D") или строгий шаблон ДФ=dd.MM.yyyy. В запросах время обнуляют через НАЧАЛОПЕРИОДА, в СКД и макетах формат задаётся в свойствах поля. Сравнивать и хранить следует исходные значения типа Дата, а форматирование использовать только для отображения.