Быстрый старт · 10 мин
Как записывается дата в 1С: форматы и правила ввода
Как записывается дата в 1С: формат дд.мм.гггг, ввод в документах, настройка региональных параметров, работа с датами в коде и типичные ошибки пользователей.
Дата в 1С — один из самых часто используемых типов данных: она есть в каждом документе, справочнике, отчёте и проводке. По умолчанию в российских конфигурациях дата отображается в формате ДД.ММ.ГГГГ — например, 15.03.2026. Такой вид задаётся региональными настройками операционной системы или параметрами самой информационной базы, поэтому на разных компьютерах одна и та же дата может выглядеть иначе.
Внутри платформы дата хранится не как текст, а как специальный тип «Дата», который включает и время с точностью до секунды. Именно поэтому важно различать внешнее представление даты (как она выглядит на экране) и её фактическое значение в базе. Ошибки при вводе, обмене данными или программной обработке почти всегда связаны с путаницей между этими двумя уровнями.
Ниже разобраны основные форматы записи даты в 1С, способы быстрого ввода в документах, настройка отображения, работа с датами во встроенном языке и типичные ошибки, которые приводят к неверным проводкам и сбоям при обмене данными.
Какой формат даты используется в 1С по умолчанию
В типовых российских конфигурациях (Бухгалтерия, Зарплата и управление персоналом, Управление торговлей и другие) дата выводится в привычном виде: сначала день, затем месяц, затем год, разделённые точками. Время, если оно отображается, указывается после даты через пробел в формате ЧЧ:ММ:СС — например, 15.03.2026 14:30:00.
Важно понимать: сама платформа не «хранит» дату в виде строки «15.03.2026». В базе данных значение хранится во внутреннем представлении, а вид, который видит пользователь, формируется при выводе на экран. Поэтому одна и та же дата на компьютере с английскими региональными настройками может отображаться как 03/15/2026, что часто вводит пользователей в заблуждение.
Если дата в интерфейсе выглядит непривычно — месяц и день поменялись местами или разделитель стал косой чертой — проблема почти всегда в региональных настройках Windows или в параметрах информационной базы, а не в самих данных.
Как быстро ввести дату в документе
Поле даты в документах 1С поддерживает несколько способов ввода, и знание коротких приёмов заметно ускоряет работу. Самый простой вариант — набрать цифры подряд без разделителей: например, введя 150325, вы получите 15.03.2026. Программа сама подставит точки и дополнит год, если он пропущен.
Также работают сокращённые варианты: ввод только дня и месяца (1503) подставит текущий год, а ввод одного числа (15) — текущие месяц и год. Кнопка выбора рядом с полем открывает календарь, где дату можно указать мышью.
- 1Щёлкните в поле даты документа или перейдите к нему клавишей Tab.
- 2Наберите дату цифрами без точек: 150325 для 15.03.2026.
- 3Если нужен текущий год — введите только день и месяц: 1503.
- 4Для выбора из календаря нажмите кнопку со стрелкой рядом с полем или клавишу F4.
- 5Проверьте, что в поле отобразилась нужная дата, и продолжайте заполнение документа.
Клавиши «+» и «−» на цифровом блоке сдвигают дату на один день вперёд или назад — это удобно, когда нужно быстро перебрать соседние даты без открытия календаря.
Как настроить отображение даты
Формат вывода даты на экран определяется на двух уровнях: региональными настройками операционной системы и параметрами информационной базы. Если в свойствах базы в конфигураторе задано значение «Региональные установки информационной базы» — русский, даты будут показаны в формате ДД.ММ.ГГГГ независимо от настроек Windows.
Для отдельных полей и отчётов разработчик может задать собственный формат через строку форматирования. Например, конструкция Формат(ДатаДокумента, "ДЛФ=D") выводит только дату без времени, а "ДФ='dd MMMM yyyy'" — дату вида «15 марта 2026».
Как записывается дата во встроенном языке 1С
При разработке и доработке конфигураций дату задают несколькими способами. Литерал даты записывается в одинарных кавычках в строгом формате ГГГГММДД — например, '20260315'. При необходимости добавляют время: '20260315143000' означает 15.03.2026 14:30:00. Такой порядок (год-месяц-день) выбран не случайно: он исключает двусмысленность и удобен для сортировки.
Для получения текущей даты используют функции ТекущаяДата() (в старых версиях) и ТекущаяДатаСеанса() (рекомендуемый вариант, учитывает часовой пояс сеанса). Преобразование строки в дату выполняется функцией Дата("20260315") или через XMLЗначение() при обмене данными.
ДатаДокумента = '20260315'; // литерал даты 15.03.2026
ТекДата = ТекущаяДатаСеанса(); // текущие дата и время сеанса
СтрокаДаты = Формат(ДатаДокумента, "ДЛФ=D"); // "15.03.2026"Частая операция — получить начало или конец дня, месяца, года. Для этого есть функции НачалоДня(), КонецДня(), НачалоМесяца(), КонецМесяца() и аналогичные. Они особенно важны при построении запросов и отборов по периодам: сравнение «дата равна 15.03.2026» без учёта времени часто не находит документы, проведённые в середине дня.
Дата при обмене данными и в запросах
При выгрузке в XML, JSON и другие форматы дата сериализуется по стандарту ISO 8601: 2026-03-15T14:30:00. Этот формат однозначно читается любой системой, поэтому именно он используется в обменах, веб-сервисах и интеграциях. Вручную преобразовывать такие строки функцией Дата() нельзя — нужна XMLЗначение(Тип("Дата"), Строка).
В языке запросов дата-константа записывается ключевым словом ДАТАВРЕМЯ: ДАТАВРЕМЯ(2026, 3, 15) или со временем ДАТАВРЕМЯ(2026, 3, 15, 14, 30, 0). Порядок аргументов — год, месяц, день, час, минута, секунда.
Форматы записи даты в разных контекстах
ДД.ММ.ГГГГ (15.03.2026). Зависит от региональных настроек, подходит для ручного ввода и просмотра.
'ГГГГММДД' ('20260315'). Однозначен, не зависит от настроек, используется во встроенном языке.
ДАТАВРЕМЯ(год, месяц, день, ч, м, с). Применяется только внутри текста запроса.
ISO 8601: 2026-03-15T14:30:00. Стандарт для интеграций и выгрузок между системами.
Типичные ошибки при работе с датами
Самая распространённая ошибка пользователей — ввод даты в «американском» порядке (месяц-день-год) после работы в других программах. В поле 1С такая запись либо отклоняется, либо интерпретируется иначе, чем ожидалось. Всегда проверяйте, что отобразилось в поле после ввода.
Вторая группа ошибок касается пустой даты. Незаполненное поле даты внутри базы равно 01.01.0001, и если не добавить проверку ЗначениеЗаполнено(Дата), отчёт может попытаться построиться за период «с начала времён» и зависнуть или выдать бессмысленный результат.
Третья типичная проблема — сравнение дат без учёта времени. Условие «ДатаДокумента = '20260315'» не найдёт документ от 15.03.2026 10:25:00, потому что значения различаются. Для отборов по дню используйте диапазон от НачалоДня() до КонецДня().
Что проверить, если дата ведёт себя странно
Если дата отображается в непривычном формате, документы не попадают в отчёт или обмен выдаёт ошибку преобразования, пройдите по контрольным точкам ниже. Большинство проблем решается на уровне настроек, без вмешательства в данные.
Как проверить корректность даты
Формат ДД.ММ.ГГГГ, день и месяц на своих местах
Месяц и день перепутаны — проверьте региональные настройки Windows и базы
Документ виден при отборе по дате
Документ «пропадает» — проверьте время документа и границы периода отчёта
В поле конкретная дата
Поле пустое, а в коде всплывает 01.01.0001 — добавьте проверку заполнения
Даты переносятся без ошибок
Ошибка преобразования — проверьте, что используется XMLЗначение(), а не Дата()
Изменять даты проведённых документов задним числом следует осторожно: это может нарушить последовательность проведения, изменить остатки и итоги прошлых периодов. Перед такими правками убедитесь, что период не закрыт для редактирования, и при сомнениях сделайте резервную копию базы.
Что важно запомнить
В интерфейсе 1С дата записывается как ДД.ММ.ГГГГ, в коде — литералом 'ГГГГММДД', в запросах — ДАТАВРЕМЯ(), при обмене — в формате ISO 8601. Пустая дата равна 01.01.0001, а сравнения дат всегда выполняйте с учётом времени через НачалоДня() и КонецДня().
Как ввести дату в 1С без точек?
Наберите цифры подряд: 150325 превратится в 15.03.2026. Если ввести только день и месяц (1503), подставится текущий год; если одно число (15) — текущие месяц и год. Программа сама расставит разделители.
Почему дата в 1С отображается как 03/15/2026?
Это влияние региональных настроек Windows с американским форматом. Измените формат даты в региональных стандартах операционной системы или задайте русские региональные установки в свойствах информационной базы через конфигуратор. Сами данные при этом не пострадают.
Чему равна пустая дата в 1С?
Незаполненная дата имеет значение 01.01.0001 00:00:00. В интерфейсе она выглядит как пустое поле, но в программном коде и запросах это конкретное значение, поэтому перед использованием даты стоит проверять её функцией ЗначениеЗаполнено().
Как в запросе 1С задать конкретную дату?
Используйте конструкцию ДАТАВРЕМЯ с аргументами в порядке год, месяц, день, а при необходимости — час, минута, секунда: ДАТАВРЕМЯ(2026, 3, 15) или ДАТАВРЕМЯ(2026, 3, 15, 14, 30, 0). Для границ периодов удобнее передавать даты через параметры запроса.
Почему запрос не находит документ по дате?
Чаще всего потому, что у документа дата содержит время, а в условии указана дата без времени (полночь). Значения не совпадают. Решение — отбирать диапазоном от НачалоДня(Дата) до КонецДня(Дата) или использовать в запросе функции НАЧАЛОПЕРИОДА и КОНЕЦПЕРИОДА.
В каком формате дата выгружается в XML?
При выгрузке дата преобразуется в формат ISO 8601: 2026-03-15T14:30:00. Для обратного преобразования такой строки в тип «Дата» используйте функцию XMLЗначение(Тип("Дата"), Строка) — обычная функция Дата() с этой строкой не справится.