Быстрый старт · 10 мин
Как установить текущую дату в 1С
Как установить текущую дату в 1С: смена рабочей даты сеанса, настройка даты документов, команда ТекущаяДата() и типичные ошибки. Пошаговые инструкции.
Дата в 1С влияет на нумерацию документов, проведение по регистрам, формирование отчётов и расчёт периодов в зарплате и учёте. Если текущая дата в программе отличается от реальной, новые документы создаются «вчерашним» или «завтрашним» числом, а отчёты собираются за неправильный период. Поэтому умение быстро проверить и установить текущую дату — базовый навык любого пользователя.
В 1С существует несколько уровней дат, и их часто путают: системная дата компьютера, рабочая дата сеанса 1С, дата конкретного документа и дата, которую возвращает встроенная функция в коде. Каждый уровень настраивается по-своему, и неправильная установка одного из них не всегда исправляется изменением другого.
Прежде чем что-то менять, определите, где именно возникает проблема: дата неверна только в одном документе, во всех новых документах или в отчётах. От этого зависит, какой инструмент использовать — ручное редактирование поля, настройку рабочей даты или проверку системного времени Windows.
Как устроены даты в 1С и почему они расходятся
Программа опирается на несколько источников даты и времени. Системная дата компьютера задаётся в Windows и является основой для всех остальных. Рабочая дата сеанса — это дата, которую 1С подставляет в новые документы и использует по умолчанию; в большинстве современных конфигураций она автоматически равна системной, но в некоторых старых версиях её можно зафиксировать вручную.
Дата документа — отдельное поле в каждом объекте. При создании документа оно заполняется рабочей датой, но пользователь может изменить его вручную, и программа это запомнит. Дата в коде возвращается функциями встроенного языка и зависит от того, где выполняется код: на клиенте или на сервере.
Типичная ситуация расхождения: бухгалтер в конце месяца вводит документы «задним числом», вручную меняя дату в каждом документе. Затем забывает об этом, и на следующий день новые документы продолжают создаваться старой датой — потому что в некоторых конфигурациях программа запоминает последнюю введённую дату. Это не сбой, а особенность поведения, которую нужно учитывать.
Как изменить дату в конкретном документе
Самый частый сценарий — нужно установить дату одного документа. Откройте документ, найдите поле «Дата» рядом с номером (обычно в шапке формы) и введите нужное значение вручную или выберите его в календаре, нажав на кнопку выбора.
Чтобы быстро установить именно текущую дату, не набирая её вручную, используйте сочетание клавиш: в поле даты нажмите Ctrl+Shift+D (в ряде конфигураций работает также F4 с выбором сегодняшнего дня в календаре). Курсор при этом должен находиться в поле даты.
- 1Откройте нужный документ для редактирования
- 2Установите курсор в поле «Дата» в шапке документа
- 3Нажмите Ctrl+Shift+D для подстановки текущей даты или выберите дату в календаре
- 4Проверьте, что время документа корректно — оно влияет на последовательность проведения
- 5Запишите и при необходимости проведите документ
Учтите ограничение: если документ уже проведён и входит в закрытый период (установлена дата запрета редактирования), изменить его дату не получится без прав администратора. Программа выдаст сообщение о запрете изменения данных. Также смена даты проведённого документа может потребовать перепроведения связанных документов, если нарушится последовательность.
Как установить рабочую дату сеанса
В классических конфигурациях на обычных формах (1С:Предприятие 8.2 и ранние версии 8.3) рабочая дата задаётся централизованно. Откройте меню «Сервис → Параметры», на вкладке «Общие» найдите группу «Рабочая дата» и выберите вариант: использовать текущую дату компьютера или зафиксировать произвольную дату.
В современных конфигурациях на управляемых формах (Бухгалтерия 3.0, Управление торговлей 11, ЗУП 3.1) отдельной настройки рабочей даты обычно нет — программа всегда использует системную дату компьютера. Если новые документы создаются неправильной датой, проверьте часы и календарь Windows, а не настройки 1С.
Как выбрать действие
Фиксация рабочей даты «задним числом» — удобный приём при массовом вводе документов за прошлый период, но после завершения работы верните настройку в режим текущей даты. Иначе на следующий день все документы будут создаваться устаревшей датой, что приведёт к ошибкам в нумерации и проведении.
Проверка системной даты компьютера и сервера
Если документы упорно создаются неправильной датой, первым делом проверьте системное время. В Windows откройте «Параметры → Время и язык → Дата и время», включите автоматическую установку времени и синхронизацию с сервером времени. Также проверьте часовой пояс — неверный пояс смещает дату на границе суток.
В клиент-серверном варианте работы дату для функций, выполняемых на сервере, задаёт сервер 1С:Предприятия. Если на клиенте время правильное, а документы датируются неверно — проверьте часы на сервере. Рассинхронизация между сервером СУБД и сервером приложений может давать сбои при проведении и в регламентных заданиях.
Установка текущей даты в коде 1С
Разработчики и пользователи, работающие с обработками, используют функции встроенного языка. Основная функция — ТекущаяДата(): она возвращает дату и время компьютера, на котором выполняется код. Если код выполняется на сервере, берётся серверное время; если на клиенте — клиентское.
В управляемых формах рекомендуется использовать ТекущаяДатаСеанса() — она возвращает единое время сеанса и избавляет от расхождений между клиентом и сервером. Для установки даты нового документа программно достаточно присвоить значение реквизиту:
НовыйДокумент = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
НовыйДокумент.Дата = ТекущаяДатаСеанса();
НовыйДокумент.Записать();Обратите внимание: присваивать дату «вручную» через Дата("20260115") стоит только в служебных обработках и тестах. В рабочем коде жёстко зашитая дата — частая причина ошибок, когда обработка продолжает ставить старое число спустя месяцы.
Типичные ошибки и как их избежать
Большинство проблем с датами возникает не из-за сбоев программы, а из-за неправильных действий пользователей. Разобрав типовые ошибки, вы сможете быстро диагностировать ситуацию.
Отдельно стоит упомянуть дату запрета редактирования. Если администратор закрыл период, попытка создать или изменить документ закрытой датой завершится ошибкой. Это нормальное поведение: обратитесь к администратору для временного открытия периода, а не пытайтесь обойти ограничение сменой системного времени.
Как проверить, что дата установлена правильно
После любых изменений выполните простую проверку. Создайте тестовый документ (или откройте форму нового без записи) и посмотрите, какая дата подставилась автоматически. Она должна совпадать с реальным текущим числом.
Дополнительно сформируйте любой отчёт за текущий день и убедитесь, что он включает сегодняшние документы. Если отчёт пуст, хотя документы введены — проверьте, не ушли ли они другой датой из-за неверных настроек.
Как проверить результат
Совпадает с сегодняшним числом
Подставляется прошлая или будущая дата
Дата, время и часовой пояс верны, включена синхронизация
Время расходится с реальным, пояс неверный
Документ проводится без сообщений о закрытом периоде
Ошибка о запрете редактирования или нарушении последовательности
Сегодняшние документы попадают в отчёт
Отчёт пуст при наличии введённых документов
Если вы регулярно вводите документы за прошлый период, заведите привычку: после завершения такой работы сразу создавайте один тестовый документ и проверяйте его дату. Это занимает десять секунд и избавляет от утреннего сюрприза с десятками документов «вчерашним» числом.
Что важно запомнить
Дату одного документа меняйте в поле «Дата» (быстро — Ctrl+Shift+D). Общая рабочая дата настраивается в «Сервис → Параметры» в старых конфигурациях, в новых берётся из системы. В коде используйте ТекущаяДатаСеанса(). Системные часы компьютера и сервера ради документов не трогайте.
Частые вопросы
Почему новые документы создаются вчерашней датой?
Чаще всего причина в том, что вы или коллега вручную вводили документы прошлым числом, и программа запомнила последнюю дату, либо в параметрах зафиксирована рабочая дата. Проверьте «Сервис → Параметры → Рабочая дата» и системное время компьютера.
Как быстро поставить сегодняшнюю дату в поле документа?
Установите курсор в поле даты и нажмите Ctrl+Shift+D. Альтернатива — открыть календарь кнопкой выбора и кликнуть по выделенному сегодняшнему числу.
Можно ли изменить дату проведённого документа?
Да, если период не закрыт датой запрета редактирования. Измените дату и перепроведите документ. Учтите, что при сдвиге даты назад может потребоваться перепроведение документов, идущих следом, чтобы восстановить последовательность.
Чем ТекущаяДата() отличается от ТекущаяДатаСеанса()?
ТекущаяДата() возвращает время того компьютера, где выполняется код — клиента или сервера, поэтому результаты могут расходиться. ТекущаяДатаСеанса() возвращает единое время сеанса и предпочтительна в клиент-серверном режиме.
Почему 1С не даёт создать документ нужной датой?
Скорее всего, установлена дата запрета редактирования — период закрыт администратором после сдачи отчётности. Обратитесь к администратору базы: временно открыть период может только пользователь с соответствующими правами.
Влияет ли часовой пояс на дату документов?
Да. При неверно установленном часовом поясе документы, созданные около полуночи, могут датироваться соседними сутками. Проверьте пояс в настройках Windows, а в распределённых базах — согласованность поясов на всех узлах.