Время в 1С 8.3: откуда программа его берёт и как его поправить

· 10 мин

Содержание

Своих часов у 1С нет: время в 1С берётся из операционной системы. В файловой базе это часы компьютера пользователя, в клиент-серверной — часы сервера 1С. Поэтому установить время в 1С можно тремя способами: поправить часы Windows или Linux, задать часовой пояс информационной базы или поменять рабочую дату пользователя.

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

Откуда 1С берёт текущее время и как его проверить

В языке 1С есть две функции, от которых зависит всё остальное:

  • 🕐 ТекущаяДата() — время компьютера, на котором выполняется код. На клиенте это часы рабочего места, на сервере — часы сервера.
  • 🕑 ТекущаяДатаСеанса() — время сеанса с учётом часового пояса сеанса. Типовые конфигурации подставляют в новые документы именно его.

Отсюда простое правило:

Режим работыЧьи часы определяют дату документовЧто настраивать
Файловая базаКомпьютер пользователяЧасы и часовой пояс каждого рабочего места
Клиент-серверная базаСервер 1С (рабочий сервер кластера)Часы сервера, плюс часовой пояс базы
Веб-клиент и публикацияСервер 1С, а не веб-сервер и не браузерЧасы сервера 1С

Быстрая проверка без кода

  1. Создайте любой новый документ, например приходный кассовый ордер .
  2. Посмотрите поле даты рядом с номером. Там стоят дата и время сеанса на момент создания.
  3. Сравните с часами в трее и с точным временем.
  4. Закройте документ без записи.

Расхождение больше минуты — повод разбираться дальше.

Проверка внешней обработкой

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

&НаКлиенте
Процедура ПроверитьВремя(Команда)
	ВремяСервера = ВремяНаСервере();
	Сообщить("Компьютер пользователя: " + Формат(ТекущаяДата(), "ДЛФ=DT"));
	Сообщить("Сервер 1С: " + Формат(ВремяСервера, "ДЛФ=DT"));
	Сообщить("Сеанс: " + Формат(ТекущаяДатаСеанса(), "ДЛФ=DT"));
КонецПроцедуры

&НаСервереБезКонтекста
Функция ВремяНаСервере()
	Возврат ТекущаяДата();
КонецФункции

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

Ручная настройка времени в 1С: четыре уровня

Ручная установка времени — это всегда правка одного из четырёх уровней. Начинайте с нижнего: если неверны часы системы, остальные настройки не помогут.

1. Часы и часовой пояс Windows

На рабочем месте с файловой базой или на сервере 1С:

  1. Откройте Параметры → Время и язык → Дата и время (или выполните timedate.cpl).
  2. Проверьте часовой пояс. Частая ошибка — верные цифры на часах, но чужой пояс, например UTC вместо Москвы.
  3. Включите автоматическую установку времени или нажмите «Синхронизировать».
  4. Если автоматическая установка недоступна, задайте время вручную. Нужны права администратора.

После смены часового пояса на сервере перезапустите службу «Агент сервера 1С:Предприятия 8.3», чтобы рабочие процессы подхватили новый пояс. Перезапуск обрывает все сеансы: делайте его вечером, предупредив пользователей.

2. Часы Linux-сервера

Если сервер 1С работает на Linux:

timedatectl                              # текущее время, пояс, статус NTP
sudo timedatectl set-timezone Europe/Moscow
sudo timedatectl set-ntp true            # включить синхронизацию

После смены пояса так же перезапустите службу сервера 1С в нерабочее время.

3. Часовой пояс информационной базы

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

  • В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) поле часового пояса находится в Администрирование → Общие настройки. Нужны права администратора.
  • Программно пояс задаёт метод платформы УстановитьЧасовойПоясИнформационнойБазы(), читает — ПолучитьЧасовойПоясИнформационнойБазы().

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

4. Рабочая дата пользователя

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

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

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

Время конкретного документа

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

Автоматическая синхронизация времени на сервере и рабочих местах

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

Компьютер вне домена

Команды выполняются в командной строке от имени администратора:

w32tm /config /manualpeerlist:"pool.ntp.org time.windows.com" /syncfromflags:manual /reliable:yes /update
net stop w32time
net start w32time
w32tm /resync
w32tm /query /status

В выводе последней команды проверьте строки «Источник» и «Время последней успешной синхронизации».

Компьютеры в домене Active Directory

В домене схема другая:

  • 🖥️ рабочие станции и сервер 1С берут время у контроллеров домена;
  • 🌐 с внешним NTP синхронизируется только контроллер с ролью PDC-эмулятора.

На рядовом сервере проверьте, что он смотрит в домен:

w32tm /config /syncfromflags:domhier /update
w32tm /resync
w32tm /query /source

Если /query /source показывает Local CMOS Clock или Free-running System Clock, синхронизации нет, и часы постепенно уплывают.

Виртуальные машины Hyper-V и VMware могут брать время у хоста через интеграционные службы. Если хост сам настроен неверно, гостевой сервер 1С уходит вслед за ним. Оставьте один источник: либо домен, либо хост.

Linux

На современных дистрибутивах время держит chrony или systemd-timesyncd. Проверка:

chronyc tracking      # смещение относительно источника
chronyc sources -v    # список NTP-серверов и их состояние

Сервер СУБД

Сервер PostgreSQL или MS SQL синхронизируйте так же. Дату документов определяет сервер 1С, а не СУБД, но в планах обслуживания и логах СУБД удобно видеть одно время с журналом регистрации.

Распределённые базы и филиалы в разных часовых поясах

В распределённой информационной базе (РИБ) у каждого узла своя установка 1С и свои часы. Документ получает время того узла, где его создали, и в таком виде уходит в обмен.

Что настроить:

  1. Часы каждого узла. Синхронизация по NTP на всех серверах и рабочих местах, где стоят узлы. Отставание филиала на 20 минут даёт путаницу в порядке документов за день.
  2. Часовой пояс базы на каждом узле. Пояс задаётся настройкой конкретной информационной базы, поэтому его выставляют на каждом узле отдельно, а после настройки проверяют внешней обработкой из первого раздела.
  3. Единые правила по датам. Договоритесь, по чьему времени ведётся учёт: обычно по местному времени подразделения. Для закрытия месяца в головной базе это не критично, если границы периодов совпадают по дате.

Для схемы «один сервер — несколько городов» без РИБ часовой пояс задают на уровне базы или сеанса. Отдельные базы под каждый филиал — тоже вариант: у каждой свой пояс, а сервер один.

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

Регламентные и фоновые задания: по каким часам они работают

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

  • В клиент-серверном варианте задания запускает кластер, значит, ориентир — часы и пояс рабочего сервера 1С.
  • В файловом варианте задания выполняются в одном из клиентских сеансов или на веб-сервере публикации. Ориентир — часы этого компьютера.

Что из этого следует на практике:

СитуацияЧем грозитЧто делать
Сервер в UTC, расписание «в 03:00» по МосквеЗадание стартует в 06:00 по Москве, посреди рабочего утраПоставить серверу верный пояс или пересчитать расписание
Часы сервера убежали вперёд на часЗагрузка курсов валют и обмены идут раньше, чем ожидаютВключить NTP-синхронизацию
Часы перевели назад вручнуюЗадание может пропустить запуск или отработать повторноНе крутить часы на работающем сервере; если пришлось — проверить журнал

Посмотреть, когда задание отработало на самом деле, можно в журнале регистрации: отберите события по фоновым или регламентным заданиям и сравните время с расписанием. Журнал записывает время сервера, поэтому неверные серверные часы видны и в нём.

В типовых конфигурациях список заданий и их расписание открываются через Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания.

Время, лицензии и обновления

Сама проверка лицензии в повседневной работе не опирается на текущую дату. Но всё, что идёт через интернет, от неё зависит.

  • 🔒 HTTPS-соединения. Активация программной лицензии по пин-коду, подключение к интернет-поддержке, загрузка обновлений, курсы валют, ЭДО и 1С-Отчётность работают по защищённому протоколу. Если часы ушли на сутки, сертификат сервера кажется «ещё не действующим» или «просроченным», и соединение обрывается.
  • ✍️ Электронная подпись. Криптопровайдер сверяет срок действия сертификата с часами компьютера. Неверная дата — подпись «недействительна», хотя сертификат в порядке.
  • 🔑 Вход по доменной учётной записи. Kerberos в Active Directory по умолчанию допускает расхождение часов клиента и контроллера до 5 минут. Больше — вход в 1С через аутентификацию операционной системы перестаёт работать.

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

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

Сбои из-за неверного времени: как найти причину

Симптомы рассинхрона часов часто выглядят как ошибки учёта. Подберите свой случай:

Диагностика: выберите симптом

Частые ошибки при настройке

  • Правят время в 1С вместо часов системы. В клиент-серверной базе часы пользователя на дату документов почти не влияют, смотреть нужно на сервер.
  • Меняют часы сервера ради одной базы. Для филиала в другом городе есть часовой пояс базы.
  • Синхронизируют сервер одновременно с хостом и с доменом. Два источника спорят, время прыгает.
  • Смещают часы без пересчёта документов. Документы, созданные со сбитым временем, сами не исправятся: найдите их отбором по дате в журнале документов и поправьте время вручную.

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

Можно ли в 1С поставить своё время, не трогая часы Windows?
Да, двумя способами. Часовой пояс базы сдвигает время сеанса для всех пользователей. Рабочая дата в персональных настройках задаёт дату новых документов для одного пользователя.
Почему у двух пользователей одной базы разное время в документах?
В файловой базе каждый берёт время своего компьютера. Если у кого-то часы сбиты, его документы получат неверное время. Включите синхронизацию на всех рабочих местах.
Влияет ли переход на летнее время на 1С?
В России переводы часов отменены, но сервер с поясом другой страны продолжит переводить время. Тогда расписания регламентных заданий дважды в год сдвинутся на час. Проверьте пояс сервера.
Какое время пишется в журнал регистрации?
Время компьютера, на котором выполняется сервер 1С: для клиент-серверной базы это рабочий сервер кластера. Поэтому при разборе инцидентов полезно знать, сколько составляет расхождение часов сервера с реальными.
Нужно ли перезапускать 1С после смены времени?
После простой синхронизации часов — нет. После смены часового пояса пользователям стоит перезайти в базу, а на сервере — перезапустить службу 1С в нерабочее время.