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