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

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

Рабочая дата в 1С: как получить и изменить

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

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

Важно понимать: рабочая дата не влияет на уже проведённые документы и не «перематывает» учёт назад. Она только определяет, какая дата будет предложена при создании новых объектов. При этом в разных режимах работы 1С (обычное приложение, управляемое приложение, веб-клиент) способы получения и изменения рабочей даты отличаются.

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

Что такое рабочая дата и чем она отличается от текущей даты

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

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

В типовых конфигурациях на управляемых формах (Бухгалтерия предприятия 3.0, Управление торговлей 11, ERP) понятие рабочей даты частично вытеснено: программа чаще использует текущую дату сеанса, а дату документов предлагает исходя из даты последнего аналогичного документа. Однако механизм рабочей даты по-прежнему доступен и применяется, особенно в конфигурациях на обычных формах.

Как посмотреть текущую рабочую дату

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

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

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

Сообщить(РабочаяДата());

Функция РабочаяДата() возвращает значение типа «Дата» — именно ту дату, которую платформа считает рабочей в текущем сеансе. Если нужна именно системная дата компьютера, используйте ТекущаяДата() (в управляемом приложении — ТекущаяДатаСеанса(), которая корректно работает на сервере).

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

Обычное приложение (толстый клиент)

Откройте «Сервис → Параметры», перейдите на вкладку «Общие». В поле «Рабочая дата» установите нужное значение вручную либо снимите фиксацию, чтобы использовалась текущая дата компьютера. Нажмите «ОК» — изменение вступит в силу сразу, перезапуск программы не требуется.

Управляемое приложение (тонкий клиент, веб-клиент)

В типовых конфигурациях путь зависит от версии платформы и конфигурации. Чаще всего: «Главное меню (кнопка с тремя полосами или оранжевым треугольником) → Сервис и настройка → Параметры» или «Администрирование → Общие настройки». Найдите параметр рабочей даты и задайте нужное значение.

Порядок изменения рабочей даты
  1. 1
    Откройте параметры: «Сервис → Параметры» (обычные формы) или «Главное меню → Сервис и настройка → Параметры» (управляемые формы)
  2. 2
    Найдите поле «Рабочая дата» и установите нужное значение или снимите фиксацию для использования текущей даты
  3. 3
    Сохраните настройки кнопкой «ОК»
  4. 4
    Создайте тестовый документ и убедитесь, что в поле «Дата» подставляется новая рабочая дата
  5. 5
    После завершения пакетного ввода верните рабочую дату на текущую, чтобы новые документы не уходили в старый период

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

Как получить и установить рабочую дату программно

Для разработчиков и при автоматизации рабочая дата доступна через встроенный язык. Получение значения:

ДатаСеанса = РабочаяДата();

Сообщить("Рабочая дата: " + Формат(ДатаСеанса, "ДЛФ=D"));

Установка рабочей даты в обычном приложении выполняется присваиванием:

РабочаяДата = Дата(2026, 12, 31); // только в обычном приложении

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

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

НовыйДок.Дата = Дата(2026, 12, 31);

НовыйДок.Записать(РежимЗаписиДокумента.Проведение);

bsl
// Получить рабочую дату
ДатаСеанса = РабочаяДата();
// Сравнить с текущей датой сеанса
Если НачалоДня(ДатаСеанса) <> НачалоДня(ТекущаяДатаСеанса()) Тогда
    Сообщить("Рабочая дата отличается от текущей!");
КонецЕсли;

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

Как задать рабочую дату для всех пользователей

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

Альтернативный механизм — установка рабочей даты через параметр командной строки при запуске или через код в модуле сеанса (событие «ПриНачалеРаботыСистемы» в обычном приложении). Это требует доработки конфигурации и применяется, когда нужно жёстко контролировать период ввода.

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

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

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

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

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

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

Совпадает с установленной рабочей датой

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

Подставляется текущая дата — настройка не применилась

Документ в отчёте за период
Норма

Документ виден в ОСВ или журнале за нужный месяц

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

Документ попал в другой период — проверьте дату в самом документе

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

Проводится без сообщений о запрете периода

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

Ошибка «дата запрета изменения данных» — период закрыт

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

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

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

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

Рабочая дата влияет на уже проведённые документы?

Нет. Рабочая дата определяет только значение по умолчанию для новых документов, отчётов и записей. Все ранее созданные и проведённые документы сохраняют свои даты независимо от настройки.

Почему в Бухгалтерии 3.0 нет привычной настройки рабочей даты?

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

Как программно узнать, отличается ли рабочая дата от текущей?

Сравните РабочаяДата() с ТекущаяДатаСеанса(), приведя обе к началу дня функцией НачалоДня(). Если значения не равны, рабочая дата сдвинута — стоит предупредить пользователя перед массовым вводом документов.

Можно ли задать рабочую дату только для одного пользователя?

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

Что делать, если документы не проводятся из-за закрытого периода?

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

Сохранится ли рабочая дата после перезапуска 1С?

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

Итог

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

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