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

Администрирование · 8 мин

Как изменить текущую дату в 1С

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

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

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

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

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

Дата сеанса — это внутреннее значение платформы 1С:Предприятие, которое функция ТекущаяДатаСеанса() возвращает всем механизмам конфигурации. Именно она подставляется в поле «Дата» новых документов, определяет период записей регистров сведений и влияет на расчёт итогов.

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

Как изменить дату сеанса через меню «Все функции»

Стандартный способ работает в большинстве конфигураций на управляемых формах (Бухгалтерия, Управление торговлей, ЗУП и другие). Откройте главное меню (кнопка с треугольником или «≡» в левом верхнем углу) и выберите пункт «Все функции». Если пункта нет — его нужно включить: «Сервис» → «Параметры» → установите флажок «Отображать команду "Все функции"».

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

Порядок действий в пользовательском режиме
  1. 1
    Откройте главное меню и включите отображение команды «Все функции» в параметрах, если её нет
  2. 2
    Откройте «Все функции» → «Стандартные» → «Изменить текущую дату сеанса»
  3. 3
    Укажите нужную дату и время, подтвердите ввод
  4. 4
    Создайте тестовый документ и проверьте, какая дата подставилась автоматически

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

Изменение даты в конфигураторе при отладке

Разработчику чаще нужно менять дату не вручную через меню, а для сеанса отладки. В конфигураторе это делается через параметры запуска: «Сервис» → «Параметры» → закладка «Запуск 1С:Предприятия» → «Дополнительные» (или аналогичная группа в зависимости от версии платформы), где задаётся параметр запуска.

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

text
"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" ENTERPRISE /F"C:\Bases\Test" /DisableStartupDialogs /Execute

Точный синтаксис параметров запуска зависит от версии платформы, поэтому перед использованием сверьтесь с документацией к своей версии 1С:Предприятия. Для разовой проверки проще запустить предприятие из конфигуратора и уже в сеансе сменить дату через «Все функции», как описано выше.

Программное изменение даты сеанса

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

bsl
// В модуле сеанса или обработчике тестирования
ПараметрыСеанса.ТестоваяДата = Дата(2026, 1, 15);

// В прикладном коде вместо ТекущаяДатаСеанса():
РабочаяДата = ?(ЗначениеЗаполнено(ПараметрыСеанса.ТестоваяДата), ПараметрыСеанса.ТестоваяДата, ТекущаяДатаСеанса());

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

Когда меняют системную дату Windows и почему это рискованно

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

Особенно опасно переводить системное время назад на рабочей базе: документы и записи регистров начнут создаваться «в прошлом», нарушится хронологическая последовательность, возможны конфликты при обмене данными и ошибки в регламентных заданиях. На сервере СУБД сдвиг времени может привести к рассинхронизации с клиентскими сеансами.

Ограничения и права доступа

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

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

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

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

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

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

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

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

Подставляется установленная дата сеанса

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

Подставляется реальная системная дата — изменение не применилось

После перезапуска 1С
Норма

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

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

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

У других пользователей
Норма

Их дата сеанса не изменилась

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

Изменилась у всех — значит, меняли системное время сервера

Изменится ли дата у других пользователей, если я поменяю дату сеанса?

Нет. Дата сеанса устанавливается индивидуально для каждого запущенного сеанса. Коллеги продолжат работать со своей текущей датой — обычно системной.

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

Нет. При новом входе платформа снова берёт системную дату компьютера или сервера. Изменение действует только в пределах текущего сеанса.

Почему у меня нет пункта «Все функции» в меню?

Команда скрыта по умолчанию. Включите её: «Сервис» → «Параметры» → флажок «Отображать команду "Все функции"». Если параметр недоступен — проверьте роли пользователя у администратора.

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

Да, при наличии прав и если период не закрыт датой запрета изменения данных. Откройте документ, измените поле «Дата» и перепроведите. Это отдельная операция, не связанная с датой сеанса.

Влияет ли дата сеанса на отчёты за прошлые периоды?

Только если отчёт использует текущую дату как период по умолчанию. Данные за прошлые периоды и сами записи регистров от смены даты сеанса не пересчитываются.

Итог

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

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