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

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

Как изменить формат даты в 1С

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

Формат даты в 1С влияет на то, как даты отображаются в документах, отчётах, печатных формах и при выгрузке данных. Вопрос об изменении формата возникает в разных ситуациях: бухгалтеру нужна дата вида «01.03.2026», выгрузка в банк требует «DD.MM.YYYY», а разработчику — произвольное представление в запросе или макете.

Единой кнопки «поменять формат даты» в 1С нет. Способ зависит от задачи: иногда достаточно изменить региональные настройки операционной системы, иногда — настроить формат поля в форме, а иногда потребуется использовать функцию Формат() во встроенном языке. Ниже разобраны все основные сценарии с конкретными действиями.

Важно понимать разницу: формат отображения не меняет само значение даты в базе. Дата хранится в едином внутреннем виде, а формат определяет только то, как она показывается пользователю или преобразуется в строку.

Как 1С хранит и отображает даты

Внутри базы данных дата в 1С хранится в виде, независимом от языка и региона: год, месяц, день, часы, минуты, секунды. Поэтому «изменить формат даты» на самом деле означает «изменить способ её представления» — на экране, в печатной форме или в строковом значении.

По умолчанию 1С берёт формат отображения из региональных настроек операционной системы, под которой запущен клиент. Для России это обычно «ДД.ММ.ГГГГ», для США — «ММ/ДД/ГГГГ». Если на разных компьютерах одна и та же дата выглядит по-разному, причина почти всегда в региональных настройках Windows.

Изменение формата через региональные настройки Windows

Это самый простой способ, если нужно поменять отображение дат во всей программе сразу — в списках документов, журналах, отчётах. Настройка выполняется на уровне операционной системы, и 1С подхватывает её автоматически.

Откройте «Панель управления» → «Часы и регион» → «Регион» (в Windows 10 и 11: «Параметры» → «Время и язык» → «Язык и регион» → «Региональный формат»). Выберите нужный формат краткой и полной даты либо нажмите «Дополнительные параметры» и задайте шаблон вручную, например dd.MM.yyyy.

После изменения перезапустите 1С: программа считывает региональные настройки при запуске. Если 1С работает через сервер, а отчёты формируются на стороне сервера, настройки нужно менять на сервере 1С, а не только на клиентском компьютере.

Настройка формата поля в конфигураторе

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

В поле «Формат» указывается форматная строка. Например, ДЛФ=D выводит дату кратко (01.03.2026), ДЛФ=DD — полностью с названием месяца (1 марта 2026 г.), ДЛФ=DT — дату со временем. Для английского интерфейса используются ключи DLF вместо ДЛФ.

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

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

Функция Формат() и форматные строки в коде

Когда дату нужно преобразовать в строку заданного вида — для выгрузки в файл, формирования текста письма, наименования документа — используется функция Формат(). Она принимает значение и форматную строку: Формат(ТекущаяДатаСеанса(), "ДФ=dd.MM.yyyy").

Основные обозначения в шаблоне: dd — день двумя цифрами, MM — месяц цифрой, MMMM — название месяца, yyyy или гггг — год четырьмя цифрами, yy — две последние цифры года, HH — часы, mm — минуты, ss — секунды. Например, ДФ="yyyy-MM-dd HH:mm:ss" даст вид, принятый в обменах данными.

bsl
ДатаСтрокой = Формат(Документ.Дата, "ДФ=dd.MM.yyyy");
ДатаСоВременем = Формат(Документ.Дата, "ДФ='dd.MM.yyyy HH:mm:ss'");
МесяцПрописью = Формат(Документ.Дата, "ДФ='d MMMM yyyy г.'");

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

Формат даты в запросах и СКД

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

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

Типичные ошибки
01
Преобразование даты в строку и дальнейшее сравнение строк — сравнение ломается, потому что '01.02' как строка больше '31.01'. Сравнивайте значения типа Дата, а формат применяйте только при выводе.
02
Смешение русских и английских ключей в одной строке (ДФ и DLF) — форматная строка игнорируется или выдаёт ошибку.
03
Ожидание, что смена формата изменит данные в базе, — внутреннее хранение не меняется, меняется только представление.
04
Правка региональных настроек только на клиенте, когда отчёт формируется на сервере, — результат не меняется.

Формат даты при выгрузке и обмене данными

При выгрузке в XML, JSON, CSV или в банковские форматы требования к виду даты задаёт формат обмена, а не настройки программы. Стандартный вариант для XML — ISO 8601 (yyyy-MM-ddTHH:mm:ss), который в 1С формируется функцией XMLСтрока(Дата) или форматной строкой ДФ="yyyy-MM-ddTHH:mm:ss".

Если банк или контрагент требует конкретный вид, например «ДД.ММ.ГГГГ», задайте его явно через Формат() в процедуре выгрузки, не полагаясь на региональные настройки сервера. Явное форматирование делает обмен независимым от того, на каком компьютере он выполняется.

Маршрут решения

Как выбрать действие

Нужно поменять вид дат во всей программе для всех пользователей компьютераИзмените региональные настройки Windows и перезапустите 1С
Нужен другой вид даты в одном поле или формеЗадайте свойство «Формат» элемента формы в конфигураторе
Дата выводится в строку, файл или печатную форму из кодаИспользуйте Формат() с форматной строкой ДФ или ДЛФ
Меняется вид даты в отчёте на СКДНастройте параметр «Формат» в оформлении поля отчёта

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

После любого изменения проверьте результат в нескольких местах: в списке документов, внутри документа, в печатной форме и в отчёте. Если формат поменялся в одном месте, но не в другом, значит, разные механизмы отвечают за вывод — например, список берёт настройки ОС, а печатная форма формируется кодом.

Помните об ограничениях: форматная строка влияет только на представление, а не на тип данных; в полях ввода пользователь всё равно может вводить дату в привычном виде; а в тонком и веб-клиенте часть настроек берётся из языка сеанса, а не из Windows.

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

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

Отображение даты в списке документов
Норма

Дата показана в нужном виде после перезапуска 1С

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

Вид не изменился — формат задаётся другим механизмом (код или СКД)

Строка из функции Формат()
Норма

Строка соответствует шаблону, месяц и год на месте

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

В строке виден сам шаблон — ошибка в кавычках или ключах ДФ/ДЛФ

Выгрузка в файл
Норма

Дата в файле соответствует требованиям приёмника

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

Формат зависит от компьютера — форматирование не задано явно в коде

Итог

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

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

Часто задаваемые вопросы

Изменится ли дата в базе, если я поменяю формат?

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

Почему на разных компьютерах одна дата выглядит по-разному?

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

Как вывести дату вида «1 марта 2026 г.» прописью?

Используйте форматную строку ДФ='d MMMM yyyy г.' в функции Формат() или ключ ДЛФ=DD в свойстве формата поля. Название месяца подставится на языке, соответствующем региональным настройкам сеанса.

Какой формат использовать для выгрузки в XML?

Стандарт для XML — ISO 8601: yyyy-MM-ddTHH:mm:ss. В 1С его формирует функция XMLСтрока(Дата) или форматная строка ДФ="yyyy-MM-ddTHH:mm:ss". Задавайте его явно, чтобы выгрузка не зависела от настроек сервера.

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

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

Почему функция Формат() возвращает шаблон вместо даты?

Чаще всего нарушены кавычки: текст шаблона с пробелами нужно заключать в одинарные кавычки внутри строки, а сама строка — в двойные. Также проверьте, что не смешаны русские (ДФ) и английские (DF) ключи и что первым аргументом передано значение типа Дата.