Администрирование · 9 мин
Как изменить время в программе 1С
Как изменить время в 1С: в документе, сеансе, на сервере и в коде. Пошаговые инструкции, типичные ошибки и способы проверки результата.
Вопрос о том, как изменить время в 1С, обычно возникает в трёх разных ситуациях: нужно поправить дату и время конкретного документа, изменить рабочее время сеанса пользователя (например, чтобы провести документ «вчера») или скорректировать системное время на сервере, от которого зависят все пользователи базы. Это разные задачи с разными инструментами и разными рисками.
Важно понимать ключевой принцип: 1С не хранит собственные «часы». Программа берёт время из операционной системы — с компьютера пользователя в файловом режиме или с сервера в клиент-серверном. Поэтому глобально «перевести часы внутри 1С» нельзя: можно либо изменить время источника, либо подменить его для сеанса, либо скорректировать значение в конкретном объекте.
Ниже разобраны все рабочие сценарии: от простой правки времени в документе до настройки смещения часового пояса информационной базы. Для каждого случая указаны ограничения, способы проверки и типичные ошибки.
Откуда 1С берёт время и почему это важно
Перед любыми изменениями полезно понять, какое именно время использует программа. В файловой базе дата и время документов, сеансов и регистрации событий берутся с компьютера, на котором открыта база. Если на машине сбились часы, все новые документы получат неверное время.
В клиент-серверном варианте (1С:Предприятие + СУБД) время сеансов и большинство системных отметок формируются на сервере 1С или сервере баз данных. Правка часов на компьютере бухгалтера в этом случае ничего не изменит — документ всё равно получит серверное время.
Дополнительно в свойствах информационной базы может быть задан часовой пояс. Если он не указан, используется пояс сервера. От этого зависит, какое значение вернут функции получения текущей даты для пользователей из других регионов.
Как изменить дату и время конкретного документа
Самая частая задача — поправить время в уже созданном документе: счёте, реализации, приходном ордере. В типовых конфигурациях поле даты обычно доступно прямо в шапке документа. Откройте документ, кликните в поле даты и введите нужное значение в формате «дд.мм.гггг чч:мм:сс».
Если поле даты скрыто или недоступно для редактирования, используйте стандартную команду: откройте документ, нажмите кнопку «Ещё» в командной панели и выберите пункт «Изменить дату» (в некоторых конфигурациях — «Изменить дату и время»). В появившемся окне задайте новое значение и подтвердите.
После изменения даты документ, проведённый по регистрам, нужно перепровести, чтобы движения попали на правильный период. Простое сохранение без перепроведения оставит старые записи в регистрах, и отчёты покажут данные за прежнюю дату.
- 1Откройте нужный документ в списке или через поиск
- 2Измените дату в поле шапки или через «Ещё → Изменить дату»
- 3Запишите документ и перепроведите его
- 4Проверьте отчёт или регистр: движения должны стоять на новой дате
Ограничения при правке документов
Изменить дату не получится, если период закрыт: установлена дата запрета редактирования, месяц закрыт регламентными операциями или у пользователя нет прав на изменение документов этого вида. В этом случае программа выдаст сообщение об ошибке при записи.
Также учтите последовательность документов: перенос документа на более раннее время может нарушить хронологию и потребовать восстановления последовательности проведения, особенно в учёте партий и расчётов.
Как изменить время сеанса для работы «прошлой датой»
Иногда нужно, чтобы все новые документы пользователя автоматически создавались прошлой датой — например, при вводе данных за выходные. Для этого время на сервере менять не нужно: достаточно подменить дату сеанса.
В тонком клиенте есть штатная возможность: меню «Сервис» (или кнопка с треугольником в левом верхнем углу в старых версиях) → «Параметры» → установите фиксированную дату сеанса, если конфигурация это поддерживает. В ряде типовых решений эта настройка называется «Рабочая дата» и находится в разделе персональных настроек пользователя.
Если штатной настройки нет, используют внешнюю обработку, которая через код устанавливает нужное поведение, либо корректируют параметр часового пояса сеанса. Учтите: рабочая дата влияет только на подстановку даты в новые объекты, но не меняет фактическое время записи в журнале регистрации.
Как изменить время на сервере 1С и в операционной системе
Если время неверно у всех пользователей и во всех новых документах, проблема в системных часах. В файловом режиме проверьте часы на компьютере с базой: в Windows — правый клик по часам в трее → «Настройка даты и времени», включите автоматическую синхронизацию или задайте время вручную.
В клиент-серверном режиме время нужно править на сервере 1С:Предприятия и на сервере СУБД — их часы должны быть синхронизированы. На Windows-сервере используется служба времени W32Time, на Linux — chrony или systemd-timesyncd. Расхождение часов между сервером приложений и сервером баз данных приводит к «прыгающему» времени документов.
Изменение серверного времени — административная операция. Перед переводом часов назад завершите работу пользователей: откат времени при активных сеансах может вызвать ошибки транзакций и нарушение нумерации документов.
Настройка часового пояса информационной базы
Если пользователи работают из разных регионов, время документов может отличаться от ожидаемого. Проверьте часовой пояс базы: в конфигураторе откройте «Администрирование → Свойства информационной базы» и посмотрите поле «Часовой пояс». Если оно пустое, применяется пояс сервера.
Для филиальной сети имеет смысл явно указать пояс головного офиса, чтобы все документы формировались в едином времени. Либо, наоборот, оставить пояс пустым и настроить пояса сеансов, если каждый регион должен работать в своём локальном времени.
После смены пояса базы уже записанные документы не пересчитываются — настройка действует только на новые значения текущей даты. Это частая причина путаницы: пользователи ждут, что старые записи «переведутся», но этого не происходит.
Как задать время в коде и обработках
Разработчику время задаётся явным литералом даты: Дата(2026, 5, 15, 14, 30, 0) — год, месяц, день, часы, минуты, секунды. Для получения текущего момента используется ТекущаяДатаСеанса(), а не ТекущаяДата() в серверном коде — вторая функция в клиент-серверном режиме может вернуть время клиентского компьютера и считается ненадёжной.
Для массовой правки времени документов пишется простая обработка: перебор документов за период, установка нового значения реквизита «Дата», запись в режиме проведения. Такую обработку обязательно сначала запускают на копии базы.
НоваяДата = Дата(2026, 5, 15, 14, 30, 0);
ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
ДокументОбъект.Дата = НоваяДата;
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);Проверка результата и типичные ошибки
После любых изменений убедитесь, что время встало правильно: создайте тестовый документ и посмотрите подставившуюся дату, откройте журнал регистрации и сверьте отметки событий, постройте отчёт за нужный период и проверьте, что документ попал в него.
Как проверить результат
Подставляется ожидаемое текущее время
Дата смещена на часы или сутки — проверяйте пояс базы и часы сервера
Записи стоят на новой дате документа
Движения остались на старой дате — документ не был перепроведён
Отметки событий идут последовательно
Отметки «скачут» — расхождение часов сервера 1С и СУБД
Частые вопросы
Почему в документе подставляется неправильное время?
Чаще всего причина в неверном часовом поясе информационной базы или сбитых часах сервера. Проверьте свойства базы в конфигураторе и системное время на сервере 1С и сервере СУБД — они должны совпадать.
Можно ли провести документ «вчерашним» временем, если дата запрета установлена?
Нет, пока дата запрета редактирования активна, записать документ в закрытый период не получится. Нужно временно сдвинуть дату запрета (если есть права администратора) или попросить ответственного сотрудника открыть период.
Изменится ли время у уже проведённых документов после смены часового пояса?
Нет. Часовой пояс влияет только на вычисление текущей даты сеанса. Значения, уже записанные в документы и регистры, остаются прежними и автоматически не пересчитываются.
Как узнать, чьё время берёт база — клиента или сервера?
Создайте тестовый документ и сравните подставившееся время с часами сервера и своего компьютера. В клиент-серверном режиме совпадение будет с сервером, в файловом — с локальной машиной. Также можно посмотреть отметку события в журнале регистрации.
Безопасно ли массово менять время документов обработкой?
Только на копии базы и с последующим контролем. Массовая смена дат затрагивает проведение, последовательности и регистры — после обработки нужно проверить отчёты за затронутые периоды и при необходимости восстановить последовательность документов.
Что важно запомнить
1С берёт время из операционной системы: в файловом режиме — с компьютера пользователя, в клиент-серверном — с сервера. Время документа правится в его форме с обязательным перепроведением, время сеанса — рабочей датой или часовым поясом, а глобальное время — только на сервере и только при остановленных сеансах.