Содержание · 7 разделов

Формат даты в 1С — это способ представления значений типа Дата с помощью встроенной функции ФорматДаты, языка запросов и системы компоновки данных (СКД). С его помощью можно вывести дату в нужном виде: только месяц и год, без времени, в формате ДД.ММ.ГГГГ и других. Функция ФорматДаты() преобразует дату в строку, позволяя задать шаблон; в запросах 1С 8.3 используется конструкция ФОРМАТ; в СКД формат настраивается в свойствах поля. В статье разберём все три механизма.

Руководство предназначено для разработчиков и администраторов 1С. Вы научитесь форматировать даты для печатных форм, отчётов, обмена данными, избегая типовых ошибок. Примеры ориентированы на актуальные версии 1С:Бухгалтерии 8, 1С:ЗУП и других типовых конфигураций.

Функция ФорматДаты() в 1С

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

  • — исходное значение типа Дата (константа, реквизит, результат вычисления).
  • — строковое выражение с символами-заполнителями.
  • — код локализации (напр., "ru_RU") для названий месяцев и дней недели. Необязательный параметр.

На практике часто используют упрощённый вызов с двумя параметрами:

  • ФорматДаты(ТекущаяДата(), 'ДФ=dd.MM.yyyy') — выведет дату в виде "24.06.2026".
  • ФорматДаты(ДатаДокумента, 'ДЛФ=ДД.ММ.ГГГГ') — аналогично, но с опорой на локализацию.
  • ФорматДаты(ДатаДокумента, 'ДФ=ММММ') — выдаст только название месяца ("Июнь").

Полный перечень символов формата описан в документации 1С. Ниже — наиболее ходовые комбинации:

СимволРезультат
ddДень двузначным числом
MMМесяц двузначным числом
yyДве последние цифры года
yyyyЧетырёхзначный год
MMММПолное название месяца
hhЧас
mmМинута
ssСекунда

ДФ=dd.MM.yyyy — один из самых универсальных форматов. Он не зависит от региональных настроек и обеспечивает единообразие при передаче данных во внешние системы.

Запомнить

Совет

Параметр <Язык> в ФорматДаты() часто игнорируют, но он критичен для корректного склонения месяцев: ФорматДаты(Дата, 'ДЛФ=«дд» ММММ yyyy«г.»', 'ru_RU') гарантирует, что месяц будет в родительном падеже.

Формат даты в запросе 1С 8.3

В языке запросов 1С:Предприятие 8.3 для форматирования дат применяется функция ФОРМАТ. Она аналогична встроенной, но имеет некоторые особенности.

Синтаксис в запросе: ФОРМАТ(, ). Параметр задаётся по тем же правилам, что и во встроенном языке, однако допустимые символы немного отличаются.

  • ВЫБРАТЬ ФОРМАТ(Дата, 'ДФ=dd.MM.yyyy') КАК ОтформатированнаяДата ИЗ ...
  • ВЫБРАТЬ ФОРМАТ(Дата, 'ДЛФ=ДД.ММ.ГГГГ') КАК ДатаЛокализованная ИЗ ...
  • ВЫБРАТЬ ФОРМАТ(Дата, 'ДФ=yyyy-MM-dd') КАК ДатаISO ИЗ ...

Функция ФОРМАТ доступна в запросах начиная с версии платформы 8.3.10. Если конфигурация работает на более старой версии, форматирование приходится выполнять во встроенном языке после получения выборки.

Важно: в запросе нельзя получить название месяца с учётом локали напрямую — для этого потребуется дополнить запрос обработкой результата в коде. Функция ФОРМАТ в запросе оперирует фиксированными наборами символов, не поддерживая произвольные локализационные строки.

Практика

В нашей практике нередко встречаются ошибки, когда разработчик пытается задать в запросе шаблон 'ДЛФ' — он не работает в старых версиях платформы. Используйте 'ДФ' и при необходимости доводите формат в коде.

Настройка формата даты в СКД

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

Для поля отчёта в схеме компоновки данных откройте свойства, найдите группу «Формат» и настройте:

  • Вид представления — Дата.
  • Формат даты — один из предустановленных вариантов (Краткий, Полный и т.д.) или собственный шаблон.
  • Временная зона — при необходимости задаётся смещение.

Пользовательский шаблон задаётся строкой вроде ДД.ММ.ГГГГ или yyyy-MM-dd. СКД интерпретирует её аналогично функции ФорматДаты().

Особенность: в СКД можно указать формат не только для обычного вывода, но и для группировок, ресурсов, итогов. Например, если дата используется в иерархии периодов, формат влияет на заголовки уровней.

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

Исключение времени из даты

В 1С значение типа Дата всегда включает время, даже если заполнена только календарная часть. При выводе лишние нули времени (00:00:00) могут мешать восприятию. Чтобы убрать время, достаточно настроить формат.

Во встроенном языке: ФорматДаты(Дата, 'ДФ=dd.MM.yyyy') — время будет опущено. Если нужно сохранить и дату и время, но показать раздельно, используют составной формат.

В запросе: ФОРМАТ(Дата, 'ДФ=dd.MM.yyyy') — результат без времени. Аналогично ФОРМАТ(Дата, 'ДФ=hh:mm:ss') — только время.

В СКД: в свойствах поля достаточно выбрать формат даты без компонентов времени, например «Краткий» (по умолчанию ДД.ММ.ГГ). Если же в источнике данных время хранится и важно, в отчёте показывается только дата, СКД автоматически обрезает лишнее.

Обратите внимание: если в запросе используется сравнение дат, то отсечение времени функцией ФОРМАТ не влияет на условия отбора — сравнение всё равно учитывает полное значение. Для точного сравнения только по дате применяют функцию НАЧАЛОПЕРИОДА или явное отбрасывание времени.

Внимание

Осторожно

При использовании ФОРМАТ(Дата, 'ДФ=dd.MM.yyyy') в условии отбора запрос вернёт строку, а не дату. Сравнение с диапазоном дат в этом случае не сработает — всегда приводите условия к типу Дата.

Получение только месяца или года из даты

Часто требуется вывести не полную дату, а лишь её часть — месяц или год. Для этого существуют несколько подходов.

  1. Функция ФорматДаты() с шаблоном. ФорматДаты(Дата, 'ДФ=ММММ') вернёт полное название месяца (например, «Январь»). ФорматДаты(Дата, 'ДФ=yyyy') — четырёхзначный год.
  1. Запрос. ФОРМАТ(Дата, 'ДФ=ММММ') вернёт сокращённое обозначение месяца тремя буквами (например, «Янв»). ФОРМАТ(Дата, 'ДФ=yyyy') — год как в п.1. Если нужен номер месяца, можно применить функции МЕСЯЦ(Дата) и ГОД(Дата) без форматирования.
  1. СКД. В выражении поля отчёта используйте: Формат(Дата, "ММММ") или Формат(Дата, "yyyy"). Либо предварительно в запросе выделите нужную часть и выводите как число.

Для группировки по месяцам с подписью удобнее сначала в запросе получить начало месяца (НАЧАЛОПЕРИОДА(Дата, МЕСЯЦ)), а затем в СКД отформатировать это поле.

Преобразование даты в строку

При обмене данными, выгрузке в Excel или формировании печатных форм дату приходится превращать в строку. Функция ФорматДаты() — это и есть основной механизм такого преобразования. Результат всегда имеет тип Строка.

Дополнительно можно использовать:

  • Строка(Дата) — даёт представление по умолчанию в зависимости от региональных настроек. Не рекомендуется для обмена.
  • ПредставлениеДаты(Дата) — аналогично.
  • ФорматДаты(...) — наиболее гибкий способ.

Примеры:

  • ФорматДаты(Дата, 'ДФ=dd.MM.yyyy') — строка "24.06.2026".
  • ФорматДаты(Дата, 'ДФ=yyyy-MM-ddThh:mm:ss') — строка в формате ISO 8601: "2026-06-24T12:30:00".
  • ФорматДаты(Дата, 'ДФ=dd.MM.yy hh:mm') — "24.06.26 12:30".

Важно: при преобразовании в строку теряется тип данных, поэтому дальнейшая сортировка или сравнение будут работать как со строкой. Если предполагается последующая обработка, лучше сохранить дату в исходном виде, а форматировать уже на уровне представления (например, в СКД).

Популярные форматы: ДД.ММ.ГГГГ и другие

Ниже перечислены наиболее востребованные форматы дат в 1С и соответствующие им шаблоны.

ФорматШаблон (для встроенного языка)Примечание
ДД.ММ.ГГГГ'ДЛФ=ДД.ММ.ГГГГ'Зависит от локали
dd.MM.yyyy'ДФ=dd.MM.yyyy'Фиксированный, не зависит от локали
ГГГГ-ММ-ДД (ISO)'ДФ=yyyy-MM-dd'Удобен для обмена
полное название месяца год'ДФ=ММММ yyyy'Например, «Июнь 2026»
день, месяц прописью, год'ДФ=«дд» ММММ yyyy«г.»'«24 июня 2026 г.»

Для запросов те же строки формата передаются в функцию ФОРМАТ: ФОРМАТ(Дата, 'ДФ=yyyy-MM-dd').

В СКД в поле «Формат» можно ввести строку прямо как в таблице, но удобнее выбрать из предустановленных. Однако для ISO-формата потребуется ввести вручную: yyyy-MM-dd.

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

Если нужно внедрить нестандартное форматирование дат в Вашей 1С, специалисты компании Интеграция помогут выполнить доработку под ключ — настроят печатные формы и отчёты.

Материал носит справочный характер и не является налоговой или юридической консультацией; для применения к Вашей ситуации согласуйте действия с бухгалтером или юристом.