Быстрый старт · 9 мин
Как поставить текущую дату в 1С: пошаговая инструкция
Как поставить текущую дату в 1С: горячие клавиши, настройка рабочей даты, функции ТекущаяДата() и РабочаяДата, типичные ошибки и проверка результата.
Работа с датами в 1С вызывает вопросы как у новичков, так и у опытных пользователей: дата в документе подставляется «не та», программа показывает вчерашний день, а проведение уходит в закрытый период. Причина почти всегда одна — в 1С действует не только системная дата компьютера, но и так называемая рабочая дата, которую программа может подставлять по умолчанию.
Разобраться несложно, если понять логику: есть дата операционной системы, есть рабочая дата сеанса 1С и есть дата конкретного документа, которую пользователь вводит вручную или принимает автоматически. Управлять можно каждым из этих уровней — клавишами, настройками или программно.
Ниже описаны все практические способы поставить текущую дату: в форме документа, в настройках программы и в коде на встроенном языке. Отдельно разобраны типичные ошибки и способы проверить, какая дата реально используется.
Какие даты существуют в 1С и почему это важно
В 1С одновременно действуют три независимых значения даты. Первое — системная дата компьютера, которую программа считывает с операционной системы. Второе — рабочая дата сеанса: именно её 1С по умолчанию подставляет в новые документы, отчёты и записи. Третье — дата, уже сохранённая в конкретном объекте, которая никак не меняется сама по себе.
Ключевой момент: рабочая дата может быть зафиксирована. Например, бухгалтер вчера доработал документы за прошлый месяц и вручную установил рабочую дату на 31-е число. Сегодня программа продолжит подставлять именно его, а не реальное число. Отсюда типичная жалоба «1С ставит вчерашнюю дату».
Поэтому перед любыми действиями полезно определить, какая именно дата вас не устраивает: подставляемая автоматически в новые документы или уже стоящая в конкретном документе. От этого зависит, что менять — настройку сеанса или значение в поле.
Как быстро поставить текущую дату в поле документа
Самый быстрый способ — горячие клавиши. Установите курсор в поле даты документа и нажмите F4 — откроется календарь, где текущий день подсвечен, достаточно кликнуть по нему или нажать Enter. Во многих конфигурациях также работает сочетание Ctrl+Shift+4 (по аналогии с классическими бухгалтерскими программами), которое сразу вписывает сегодняшнее число без открытия календаря.
Если горячие клавиши не срабатывают, используйте календарь: щёлкните по кнопке выбора рядом с полем даты (иконка календаря или стрелка вниз) и нажмите на сегодняшнее число. В тонком клиенте и веб-клиенте поведение аналогичное, отличается только оформление окна выбора.
- 1Откройте документ и установите курсор в поле «Дата»
- 2Нажмите F4, чтобы открыть календарь, или Ctrl+Shift+4 для мгновенной подстановки
- 3При открытом календаре кликните по подсвеченному текущему числу
- 4Проверьте, что в поле отображается сегодняшняя дата, и запишите документ
Обратите внимание: смена даты у уже проведённого документа перенесёт его движения по регистрам на новое время. Если документ участвует в последовательности проведения, это может потребовать перепроведения более поздних документов.
Как настроить автоматическую подстановку текущей даты
Чтобы новые документы всегда создавались с реальной текущей датой, проверьте настройку рабочей даты. В типовых конфигурациях на управляемых формах (1С:Бухгалтерия 8, Управление торговлей, ERP) путь обычно такой: раздел «Администрирование» → «Персональные настройки» или пункт главного меню «Сервис» → «Параметры» в старых интерфейсах.
В настройке «Использовать текущую дату компьютера» должна стоять отметка (либо выбран вариант «текущая дата» вместо конкретного значения). Если там зафиксировано конкретное число — именно оно и будет подставляться во все новые документы, пока настройку не изменят.
Как выбрать действие
В клиент-серверном варианте работы помните: время документа берётся с сервера 1С, а не с компьютера пользователя. Если часы сервера сбиты, «текущая» дата в программе будет неверной у всех пользователей одновременно — это повод обратиться к администратору, а не менять настройки у себя.
Программный способ: функции ТекущаяДата() и РабочаяДата
Для разработчиков и тех, кто настраивает обработки, важны две функции встроенного языка. ТекущаяДата() возвращает дату и время компьютера, на котором выполняется код (на сервере — дату сервера). РабочаяДата — глобальная переменная сеанса, которую можно как читать, так и устанавливать.
// Получить текущую дату и время
Сообщить(ТекущаяДата());
// Установить рабочую дату сеанса вручную
РабочаяДата = Дата(2026, 5, 15);
// Подставить текущую дату в реквизит документа
Объект.Дата = ТекущаяДата();
Практическая рекомендация: в прикладном коде для заполнения дат документов лучше использовать ТекущаяДата(), если требуется реальное время операции, и РабочаяДата — если логика должна следовать за настройкой пользователя. Смешивание подходов в одной обработке приводит к труднообъяснимым расхождениям.
Типичные ошибки и как их избежать
Чаще всего проблемы возникают не из-за самой установки даты, а из-за её последствий. Документ с «не той» датой может попасть в закрытый период, нарушить последовательность проведения или исказить отчёты. Поэтому менять дату стоит осознанно, понимая, к какому учётному периоду относится операция.
Отдельная ситуация — запрет изменения данных (дата запрета редактирования). Если попытаться поставить текущую дату документу, который окажется в закрытом периоде, программа выдаст ошибку при записи. Это нормальное защитное поведение: либо документу нужна дата открытого периода, либо администратор должен временно снять запрет.
Как проверить, что дата установлена правильно
После изменения убедитесь, что результат соответствует ожиданиям на всех уровнях: в поле документа, в настройках сеанса и в учётных данных. Быстрая проверка занимает меньше минуты, но избавляет от поиска причин расхождений в отчётах позже.
Как проверить результат
Отображается сегодняшнее число, документ записывается без ошибок
Дата старая или при записи появляется сообщение о запрете периода
Дата подставляется текущая автоматически
Подставляется зафиксированная старая дата — проверьте персональные настройки
Время и дата совпадают с фактическими
Часы сбиты — сначала исправьте системное время
Дополнительно полезно сформировать любой оперативный отчёт (например, оборотку за сегодня) и убедиться, что свежепроведённый документ в него попадает. Если документа в отчёте нет — скорее всего, его дата ушла в другой период.
Частые вопросы
Почему 1С каждый день ставит вчерашнюю дату?
Почти наверняка в персональных настройках зафиксирована конкретная рабочая дата. Откройте «Администрирование» → «Персональные настройки» (или «Сервис» → «Параметры» в старых версиях) и включите использование текущей даты компьютера. После этого новые документы будут создаваться с реальным числом.
Можно ли поставить текущую дату сразу всем документам за день?
Да, но только через групповую обработку или программно. Стандартной кнопки «передвинуть все даты» нет. Перед массовым изменением обязательно создайте резервную копию базы и учтите, что перенос проведённых документов потребует их перепроведения и может нарушить последовательности.
Чем ТекущаяДата() отличается от РабочаяДата в коде?
ТекущаяДата() всегда возвращает реальное время компьютера или сервера. РабочаяДата — это переменная сеанса, которую пользователь мог зафиксировать вручную, и она может отличаться от фактической. Для фиксации момента операции используйте ТекущаяДата(), для следования настройкам пользователя — РабочаяДата.
Почему при записи документа с текущей датой возникает ошибка о запрете изменения?
Это срабатывает дата запрета редактирования: период, в который попадает документ, закрыт для изменений. Проверьте, не стоит ли у документа случайно дата прошлого закрытого периода. Если период действительно закрыт, изменения должен выполнять пользователь с правами на преодоление запрета или администратор.
Работает ли клавиша F4 для даты в веб-клиенте 1С?
В веб-клиенте поведение зависит от браузера: часть горячих клавиш перехватывается обозревателем. Надёжнее использовать кнопку выбора даты рядом с полем и кликнуть по текущему числу в календаре — этот способ работает в любом клиенте.
Время в документе всегда 00:00:00, как поставить текущее время?
Если поле даты редактируется вручную в формате только даты, время обнуляется. Проведите документ заново — при проведении многие конфигурации проставляют текущее время автоматически. В коде используйте ТекущаяДата(), которая возвращает дату вместе со временем.
Что важно запомнить
Текущую дату в поле документа быстрее всего поставить клавишей F4 или Ctrl+Shift+4. Автоматическую подстановку правильной даты обеспечивает настройка рабочей даты в персональных параметрах. В коде используйте ТекущаяДата() для реального времени и РабочаяДата — для настройки сеанса. Перед массовой сменой дат делайте резервную копию и учитывайте закрытые периоды.