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

Быстрый старт · 9 мин

Как в 1С задать дату: полное руководство

Как задать дату в 1С: ввод в поля документов, рабочая дата, периоды отчётов, написание дат в коде на встроенном языке и типичные ошибки при работе с датами.

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

Ключевой момент, который нужно понять сразу: дата документа и рабочая дата сеанса — не одно и то же. Дата документа хранится в самом документе и определяет его положение в учёте. Рабочая дата — это настройка сеанса пользователя, которая подставляется по умолчанию в новые документы. Путаница между ними — самая частая причина ошибок «документ создался не тем числом».

Как задать дату в поле документа или справочника

В любом документе 1С поле даты обычно находится в шапке рядом с номером. Чтобы изменить его, щёлкните по полю и введите значение с клавиатуры в формате ДД.ММ.ГГГГ — разделители программа подставит сама, достаточно набрать цифры подряд, например 15032026. После нажатия Enter или Tab значение будет принято.

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

Если в поле указаны и дата, и время, они вводятся через пробел: сначала дата, затем часы и минуты. Время имеет значение для документов, порядок которых внутри дня влияет на последовательность проведения, — например, для кассовых операций или складских перемещений.

Порядок действий при вводе даты в документе
  1. 1
    Откройте документ и щёлкните по полю даты в шапке
  2. 2
    Введите дату цифрами в формате ДДММГГГГ или выберите день в календаре
  3. 3
    При необходимости добавьте время через пробел
  4. 4
    Нажмите Enter и проверьте, что значение принято
  5. 5
    Запишите или проведите документ, чтобы дата сохранилась

Как изменить рабочую дату сеанса

Рабочая дата определяет, какое число 1С подставляет в новые документы по умолчанию. По умолчанию она равна текущей дате компьютера, но её можно изменить — это полезно, когда нужно массово ввести документы прошлым периодом, например при переносе данных из бумажного учёта.

В типовых конфигурациях на платформе 8.3 рабочая дата меняется через меню: «Все функции» → «Стандартные» → «Установка рабочей даты», либо через раздел «Администрирование» → «Параметры сеанса» (название пункта зависит от конфигурации). В открывшемся окне выберите вариант: текущая дата компьютера, произвольная дата или «текущая дата минус N дней».

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

Как задать период в отчётах и журналах

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

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

Дата запрета редактирования: почему дату нельзя поменять

Если поле даты в документе недоступно для изменения или программа выдаёт сообщение о запрете редактирования, значит, в базе установлена дата запрета изменения данных. Это штатный механизм закрытия периода: все документы до указанного числа блокируются от изменений, чтобы закрытый отчётный период не «поплыл».

Проверить настройку можно в разделе «Администрирование» → «Поддержка и обслуживание» → «Даты запрета изменения данных» (в конфигурациях на БСП). Изменить дату запрета может только пользователь с соответствующими правами — обычно администратор или главный бухгалтер. Если вам нужно исправить документ в закрытом периоде, согласуйте временное открытие периода и обязательно верните запрет после правки.

Как задать дату в коде на встроенном языке

В модуле дату создают функцией Дата(), которая принимает параметры в порядке: год, месяц, день и при необходимости часы, минуты, секунды. Например, Дата(2026, 3, 15) вернёт 15 марта 2026 года, а Дата(2026, 3, 15, 14, 30, 0) — ту же дату с временем 14:30.

Для получения текущего момента используйте ТекущаяДатаСеанса() — она возвращает дату и время сеанса на сервере, что корректнее, чем дата клиентского компьютера. Преобразовать строку в дату можно функцией Дата("20260315143000") — строка передаётся в формате ГГГГММДДччммсс. Для арифметики с датами применяют ДобавитьМесяц(), НачалоДня(), КонецДня() и сложение с числом секунд.

bsl
НачалоПериода = НачалоМесяца(ТекущаяДатаСеанса()); КонецПериода = КонецМесяца(ТекущаяДатаСеанса()); ПроизвольнаяДата = Дата(2026, 3, 15); Завтра = ТекущаяДатаСеанса() + 86400;

Частая ошибка разработчиков — передавать параметры Дата() в «человеческом» порядке день-месяц-год. Функция ожидает именно год-месяц-день, поэтому Дата(15, 3, 2026) вернёт некорректное значение или ошибку. Второй подводный камень — пустая дата: Дата(1,1,1) считается признаком «дата не заполнена», и сравнение с ней используют для проверки заполненности реквизитов.

Формат отображения даты и настройки региона

То, как дата выглядит на экране (15.03.2026 или 03/15/2026), определяется региональными настройками информационной базы и операционной системы. В конфигураторе региональные параметры задаются в свойствах базы: «Администрирование» → «Региональные установки информационной базы». Там же настраивается формат даты и времени по умолчанию.

В коде формат вывода контролируется функцией Формат() с параметром вида "ДЛФ=D" (краткая дата) или "ДЛФ=DD" (полная, с названием месяца). Это полезно при формировании печатных форм и выгрузок, где требуется строго определённое представление даты независимо от настроек сеанса.

Типичные ошибки при работе с датами в 1С
01
Путать рабочую дату сеанса с датой документа — новые документы создаются не тем числом
02
Игнорировать время в дате документа — нарушается последовательность проведения внутри дня
03
Передавать параметры в Дата() в порядке день-месяц-год вместо год-месяц-день
04
Сравнивать даты строками вместо значений типа Дата — сравнение работает неправильно
05
Пытаться править закрытый период вместо согласования снятия даты запрета

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

После установки даты убедитесь, что она применилась там, где нужно. Для документа — перепроведите его и посмотрите движения по регистрам: дата записей должна совпадать с датой документа. Для отчёта — сверьте границы периода в шапке с ожидаемыми и проверьте, что в выборку попали документы крайних дат периода.

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

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

Дата нового документа
Норма

Совпадает с рабочей датой или введённым значением

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

Подставляется неожиданное число — проверьте рабочую дату сеанса

Период отчёта
Норма

Данные включают документы с даты начала по дату окончания

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

Крайние дни пусты — период задан неверно или обрезан

Дата в коде
Норма

Дата(2026,3,15) возвращает 15.03.2026

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

Получается другое число — перепутан порядок параметров

Итог

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

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

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

Почему новый документ создаётся не сегодняшним числом?

Скорее всего, в сеансе установлена рабочая дата, отличная от текущей. Откройте настройки рабочей даты и переключите её на «Текущая дата компьютера». Также проверьте системную дату самого компьютера — при её сбое 1С берёт неверное значение за основу.

Как ввести дату быстрее, без мыши?

Щёлкните в поле даты и наберите цифры подряд без точек: 150324 превратится в 15.03.2026 (год дополняется текущим веком). Подтвердите ввод клавишей Enter или Tab — это самый быстрый способ при массовом вводе документов.

Можно ли изменить дату проведённого документа?

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

Чем отличается ТекущаяДата() от ТекущаяДатаСеанса()?

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

Как задать пустую дату или проверить, что дата не заполнена?

Пустая дата в 1С — это значение Дата(1,1,1), отображается как 01.01.0001. Для проверки в коде используют сравнение: Если РеквизитДата = Дата(1,1,1) Тогда ... или функцию ЗначениеЗаполнено(), которая для пустой даты вернёт Ложь.

Почему в отчёте не видно документов последнего дня периода?

Проверьте, как задана дата окончания: если в ней стоит время 00:00:00, документы за этот день с более поздним временем не попадут в выборку. Используйте стандартные периоды отчёта (они автоматически ставят конец дня 23:59:59) или в коде применяйте функцию КонецДня().