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

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

Как установить текущую дату в 1С

Как установить текущую дату в 1С: смена рабочей даты сеанса, настройка даты документов, команда ТекущаяДата() и типичные ошибки. Пошаговые инструкции.

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

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

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

Как устроены даты в 1С и почему они расходятся

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

Дата документа — отдельное поле в каждом объекте. При создании документа оно заполняется рабочей датой, но пользователь может изменить его вручную, и программа это запомнит. Дата в коде возвращается функциями встроенного языка и зависит от того, где выполняется код: на клиенте или на сервере.

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

Как изменить дату в конкретном документе

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

Чтобы быстро установить именно текущую дату, не набирая её вручную, используйте сочетание клавиш: в поле даты нажмите Ctrl+Shift+D (в ряде конфигураций работает также F4 с выбором сегодняшнего дня в календаре). Курсор при этом должен находиться в поле даты.

Установка текущей даты в документе
  1. 1
    Откройте нужный документ для редактирования
  2. 2
    Установите курсор в поле «Дата» в шапке документа
  3. 3
    Нажмите Ctrl+Shift+D для подстановки текущей даты или выберите дату в календаре
  4. 4
    Проверьте, что время документа корректно — оно влияет на последовательность проведения
  5. 5
    Запишите и при необходимости проведите документ

Учтите ограничение: если документ уже проведён и входит в закрытый период (установлена дата запрета редактирования), изменить его дату не получится без прав администратора. Программа выдаст сообщение о запрете изменения данных. Также смена даты проведённого документа может потребовать перепроведения связанных документов, если нарушится последовательность.

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

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

В современных конфигурациях на управляемых формах (Бухгалтерия 3.0, Управление торговлей 11, ЗУП 3.1) отдельной настройки рабочей даты обычно нет — программа всегда использует системную дату компьютера. Если новые документы создаются неправильной датой, проверьте часы и календарь Windows, а не настройки 1С.

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

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

Дата неверна только в одном документеИсправьте поле «Дата» вручную в этом документе
Все новые документы создаются неверной датойПроверьте системную дату Windows и настройку рабочей даты в параметрах
Дата неверна на всех компьютерах при клиент-серверной работеПроверьте время на сервере 1С и сервере СУБД
Нужно массово вводить документы прошлым периодомМеняйте дату в каждом документе, не трогая системное время компьютера

Фиксация рабочей даты «задним числом» — удобный приём при массовом вводе документов за прошлый период, но после завершения работы верните настройку в режим текущей даты. Иначе на следующий день все документы будут создаваться устаревшей датой, что приведёт к ошибкам в нумерации и проведении.

Проверка системной даты компьютера и сервера

Если документы упорно создаются неправильной датой, первым делом проверьте системное время. В Windows откройте «Параметры → Время и язык → Дата и время», включите автоматическую установку времени и синхронизацию с сервером времени. Также проверьте часовой пояс — неверный пояс смещает дату на границе суток.

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

Установка текущей даты в коде 1С

Разработчики и пользователи, работающие с обработками, используют функции встроенного языка. Основная функция — ТекущаяДата(): она возвращает дату и время компьютера, на котором выполняется код. Если код выполняется на сервере, берётся серверное время; если на клиенте — клиентское.

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

bsl
НовыйДокумент = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
НовыйДокумент.Дата = ТекущаяДатаСеанса();
НовыйДокумент.Записать();

Обратите внимание: присваивать дату «вручную» через Дата("20260115") стоит только в служебных обработках и тестах. В рабочем коде жёстко зашитая дата — частая причина ошибок, когда обработка продолжает ставить старое число спустя месяцы.

Типичные ошибки и как их избежать

Большинство проблем с датами возникает не из-за сбоев программы, а из-за неправильных действий пользователей. Разобрав типовые ошибки, вы сможете быстро диагностировать ситуацию.

Типичные ошибки
01
Перевод системных часов Windows ради ввода документов прошлым периодом — сбивает обмены, лицензии и журналы
02
Забытая фиксированная рабочая дата — все новые документы создаются старым числом
03
Изменение даты проведённого документа без перепроведения последующих — нарушается последовательность и итоги
04
Игнорирование часового пояса — документы «уезжают» на соседние сутки
05
Использование ТекущаяДата() вместо ТекущаяДатаСеанса() в серверном коде — расхождение времени клиента и сервера

Отдельно стоит упомянуть дату запрета редактирования. Если администратор закрыл период, попытка создать или изменить документ закрытой датой завершится ошибкой. Это нормальное поведение: обратитесь к администратору для временного открытия периода, а не пытайтесь обойти ограничение сменой системного времени.

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

После любых изменений выполните простую проверку. Создайте тестовый документ (или откройте форму нового без записи) и посмотрите, какая дата подставилась автоматически. Она должна совпадать с реальным текущим числом.

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

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

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

Дата нового документа по умолчанию
Норма

Совпадает с сегодняшним числом

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

Подставляется прошлая или будущая дата

Системное время Windows
Норма

Дата, время и часовой пояс верны, включена синхронизация

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

Время расходится с реальным, пояс неверный

Проведение документа
Норма

Документ проводится без сообщений о закрытом периоде

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

Ошибка о запрете редактирования или нарушении последовательности

Отчёт за текущий день
Норма

Сегодняшние документы попадают в отчёт

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

Отчёт пуст при наличии введённых документов

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

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

Дату одного документа меняйте в поле «Дата» (быстро — Ctrl+Shift+D). Общая рабочая дата настраивается в «Сервис → Параметры» в старых конфигурациях, в новых берётся из системы. В коде используйте ТекущаяДатаСеанса(). Системные часы компьютера и сервера ради документов не трогайте.

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

Почему новые документы создаются вчерашней датой?

Чаще всего причина в том, что вы или коллега вручную вводили документы прошлым числом, и программа запомнила последнюю дату, либо в параметрах зафиксирована рабочая дата. Проверьте «Сервис → Параметры → Рабочая дата» и системное время компьютера.

Как быстро поставить сегодняшнюю дату в поле документа?

Установите курсор в поле даты и нажмите Ctrl+Shift+D. Альтернатива — открыть календарь кнопкой выбора и кликнуть по выделенному сегодняшнему числу.

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

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

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

ТекущаяДата() возвращает время того компьютера, где выполняется код — клиента или сервера, поэтому результаты могут расходиться. ТекущаяДатаСеанса() возвращает единое время сеанса и предпочтительна в клиент-серверном режиме.

Почему 1С не даёт создать документ нужной датой?

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

Влияет ли часовой пояс на дату документов?

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