Разработка и Конфигурация · 9 мин
Как установить формат даты в 1С
Как установить формат даты в 1С: настройка в региональных параметрах, функция Формат(), форматная строка в коде, типичные ошибки и примеры решения.
Формат даты в 1С определяет, как дата отображается в документах, отчётах, полях ввода и печатных формах: «01.03.2026», «1 марта 2026 г.» или «03/01/2026». Настроить его можно несколькими способами — через региональные параметры операционной системы, через функцию Формат() во встроенном языке, через форматную строку поля формы или через конструктор форматной строки. Выбор способа зависит от того, где именно нужно изменить отображение: глобально для всей базы или точечно в конкретной форме или выводе.
Важно понимать ключевое различие: формат хранения даты в базе данных не меняется никогда — платформа хранит дату во внутреннем универсальном виде. Настраивается только представление, то есть то, как дата показывается пользователю или выводится в строку. Поэтому изменение формата не затрагивает данные и не требует пересчёта документов.
Ниже разобраны все рабочие способы: от простой настройки Windows до программного форматирования в коде и в запросах, а также типичные ошибки, из-за которых дата «слетает» на неожиданный вид.
Как 1С хранит и отображает даты
Платформа 1С:Предприятие хранит дату с точностью до секунды в едином внутреннем формате, независимом от языка и региона. Когда дата выводится в интерфейс, в отчёт или преобразуется в строку, платформа применяет правила форматирования: сначала смотрит на явно заданную форматную строку, а если её нет — на региональные установки сеанса.
Региональные установки сеанса формируются из нескольких источников: настроек операционной системы пользователя, параметров информационной базы, заданных администратором, и кода языка сеанса. Для файловой базы действуют настройки Windows того компьютера, где запущен клиент. Для клиент-серверного варианта формирование строк на сервере зависит от региональных настроек сервера 1С и параметров базы.
Отсюда следует практический вывод: если одна и та же дата у разных пользователей выглядит по-разному, причина почти всегда в различии региональных настроек их рабочих мест, а не в данных базы.
Настройка формата даты через региональные параметры Windows
Для файловой базы и тонкого клиента самый простой способ изменить отображение даты — настроить формат в операционной системе. В Windows откройте «Панель управления» → «Часы и регион» → «Регион» → «Дополнительные параметры» → вкладка «Дата». Здесь задаются краткий и полный форматы даты, например dd.MM.yyyy или d MMMM yyyy 'г.'.
После изменения настроек перезапустите клиент 1С — платформа считывает региональные параметры при старте сеанса. Новые документы и открытые заново формы начнут показывать дату в новом виде. Уже открытые окна могут сохранять старое отображение до переоткрытия.
Учтите ограничение: этот способ меняет формат для всех программ на компьютере, а не только для 1С. Если на рабочем месте работают другие приложения, чувствительные к региональным настройкам, оцените последствия заранее.
- 1Откройте Панель управления → Часы и регион → Регион
- 2Нажмите «Дополнительные параметры» и перейдите на вкладку «Дата»
- 3Задайте краткий формат, например dd.MM.yyyy, и полный при необходимости
- 4Примените изменения и перезапустите клиент 1С
- 5Откройте любой документ и проверьте отображение даты
Региональные настройки информационной базы
Для серверных баз администратор может зафиксировать единый формат для всех пользователей независимо от настроек их компьютеров. В консоли администрирования сервера 1С или при публикации базы задаются параметры региональных установок: язык, формат даты, времени и чисел.
В конфигураторе также доступны региональные настройки информационной базы: меню «Администрирование» → «Региональные установки информационной базы». Здесь можно задать форматы даты и времени, которые будут использоваться по умолчанию при формировании строк на стороне сервера и в механизмах, не привязанных к конкретному пользователю.
Этот способ предпочтителен для организаций с филиалами в разных регионах: все пользователи видят даты одинаково, а выгрузки и обмены дают предсказуемый результат. Однако явно заданные в коде форматные строки имеют приоритет над этими настройками.
Формат даты в коде: функция Формат()
Когда нужно вывести дату в конкретном виде — в сообщении, печатной форме, наименовании файла или обмене — используется функция Формат() встроенного языка. Она принимает значение и форматную строку:
СтрокаДаты = Формат(ТекущаяДатаСеанса(); "ДЛФ=D"); // "1 марта 2026 г."
КраткаяДата = Формат(ДатаДокумента; "ДФ=dd.MM.yyyy"); // "01.03.2026"
ДатаВремя = Формат(ДатаДокумента; "ДФ='dd.MM.yyyy HH:mm:ss'");
МесяцПрописью = Формат(ДатаДокумента; "ДФ='MMMM yyyy'");
Основные параметры форматной строки для дат: ДФ (DF) — произвольный шаблон из элементов d, M, yyyy, H, m, s; ДЛФ (DLF) — стандартные варианты: D (длинная дата), DD (очень длинная с днём недели), T (время), DT (дата и время). Одиночные кавычки внутри шаблона экранируют литеральный текст.
Типичная ошибка — путать M (месяц) и m (минуты) в шаблоне ДФ. Если вместо месяца вы видите минуты, проверьте регистр букв в форматной строке. Ещё одна ошибка — забыть преобразование и конкатенировать дату со строкой напрямую: тогда применяется формат по умолчанию, который может не совпадать с ожидаемым.
Формат(ДатаДокумента; "ДЛФ=D") // 1 марта 2026 г.
Формат(ДатаДокумента; "ДФ=dd.MM.yyyy") // 01.03.2026
Формат(ДатаДокумента; "ДФ='dd.MM.yyyy HH:mm:ss'")Формат даты в полях форм и печатных формах
Для поля ввода или надписи на управляемой форме формат задаётся в палитре свойств, поле «Формат». Нажатие кнопки выбора открывает конструктор форматной строки, где можно визуально собрать нужный вид даты без ручного написания шаблона. Это удобно, когда дата в реквизите с временем, а на форме должен показываться только день.
В табличных документах (макетах печатных форм) формат назначается аналогично — через свойство «Формат» ячейки. Альтернатива — выводить в ячейку уже отформатированную строку из кода через Формат(). Первый вариант предпочтительнее, если область может переиспользоваться, а формат нужно менять без правки кода.
В схеме компоновки данных (отчёты на СКД) формат поля даты настраивается на закладке «Наборы данных» или в настройках поля через «Оформление». Если дата в отчёте выводится с лишним временем «0:00:00», именно здесь задаётся ДФ=dd.MM.yyyy для нужного поля.
Формат даты в запросах и при обмене данными
В языке запросов 1С нет прямого аналога функции Формат() — запрос возвращает значение типа Дата, а отображение настраивается на уровне отчёта или кода, обрабатывающего результат. Для группировок по периодам используются функции НАЧАЛОПЕРИОДА, КОНЕЦПЕРИОДА и виртуальные поля периодичности, но это работа со значениями, а не с их строковым видом.
При обмене с внешними системами (XML, JSON, веб-сервисы) никогда не полагайтесь на локальный формат. Стандартный безопасный вариант — ISO 8601: yyyy-MM-ddTHH:mm:ss. Во встроенном языке для этого есть функции ЗаписатьДатуJSON/работа с форматом через XMLСтрока(Дата), которые дают каноническое представление, независимое от региональных настроек.
Обратное преобразование выполняется функциями XMLЗначение с типом Дата или Дата() из строки в известном формате. Если вы разбираете строку вручную через СтрРазделить или Сред, жёстко зафиксируйте ожидаемый формат и проверяйте корректность результата — иначе дата «03.04.2026» может быть прочитана как 4 марта вместо 3 апреля.
Как проверить результат
Дата выглядит одинаково у всех пользователей в нужном формате
У части пользователей другой вид — различаются региональные настройки рабочих мест
Формат(Дата; "ДЛФ=D") даёт ожидаемый текст независимо от сеанса
Вид строки меняется от компьютера к компьютеру — значит, форматная строка не задана
Дата в формате ISO 8601, приёмник читает корректно
Дата в локальном формате дд.мм.гггг — риск неверной интерпретации
Частые вопросы
Как убрать время «0:00:00» из даты в отчёте?
В отчёте на СКД откройте настройки поля даты и в оформлении задайте формат ДФ=dd.MM.yyyy. В табличном документе укажите тот же формат в свойстве ячейки. В коде используйте Формат(Дата; "ДФ=dd.MM.yyyy") или отсеките время функцией НачалоДня(Дата), если важно само значение.
Почему у разных пользователей дата отображается по-разному?
Платформа берёт региональные установки из настроек сеанса, а те зависят от ОС рабочего места или параметров базы. Чтобы выровнять отображение, задайте региональные установки информационной базы в конфигураторе или явные форматные строки в формах и коде.
Можно ли изменить формат хранения даты в базе?
Нет. Дата в базе хранится во внутреннем универсальном виде и не зависит от настроек отображения. Меняется только представление в интерфейсе, отчётах и строковых преобразованиях. Попытки «переформатировать хранение» бессмысленны и не нужны.
Как вывести дату вида «01 марта 2026 г.» с месяцем прописью?
Используйте Формат(Дата; "ДЛФ=D") — платформа сама подставит название месяца в нужном падеже согласно языку сеанса. Для произвольного шаблона подойдёт ДФ='d MMMM yyyy ''г.'''.
Какой формат использовать при выгрузке дат в Excel или внешние системы?
Для машинного обмена — ISO 8601 (yyyy-MM-dd), он однозначно читается в любой системе. Для файлов, которые человек откроет в Excel, допустим локальный dd.MM.yyyy, но помните: Excel может переконвертировать такие строки с учётом своих региональных настроек.
Что важно запомнить
Дата в 1С хранится в едином внутреннем виде — настраивается только её представление. Глобально формат задают региональные установки ОС или информационной базы, точечно — функция Формат() и форматные строки полей. Для обмена данными используйте ISO 8601 и никогда не полагайтесь на локальный формат.