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

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

Как синхронизировать время в 1С и устранить расхождения

Пошаговая инструкция по синхронизации времени в 1С: настройка NTP на сервере, проверка расхождений, исправление ошибок с датами документов и сеансами.

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

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

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

Где именно 1С берёт время и почему возникают расхождения

Платформа 1С:Предприятие не имеет собственного механизма получения точного времени. Каждый компонент использует часы своей операционной системы: агент сервера 1С — время сервера приложений, процесс СУБД (MS SQL, PostgreSQL) — время своего хоста, клиентское приложение — время рабочей станции пользователя.

Критичны три типа расхождений. Первое — между сервером 1С и сервером СУБД: при разнице даже в несколько минут возможны ошибки блокировок, неверное время в технологическом журнале и сбои фоновых заданий. Второе — между сервером и клиентами: пользователи видят неверное время в документах, а проверка лицензий и Kerberos-аутентификация в домене отказывает при разнице более 5 минут. Третье — между кластером серверов 1С, если их несколько: события журнала регистрации перемешиваются, и расследовать инциденты становится невозможно.

Как проверить текущее расхождение времени

Прежде чем что-либо настраивать, зафиксируйте фактическое состояние. На каждой машине (сервер 1С, сервер СУБД, несколько типовых рабочих станций) выполните проверку и сравните результаты с эталоном.

В Windows откройте командную строку от имени администратора и выполните команду опроса источника времени. В Linux используйте timedatectl или chronyc. Заодно проверьте часовой пояс: неверный пояс даёт стабильное смещение на целое число часов, которое NTP не исправит, потому что синхронизируется UTC, а смещение добавляется локально.

cmd
w32tm /query /status
w32tm /stripchart /computer:pool.ntp.org /samples:5 /dataonly
Контрольные точки

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

Разница времени между сервером 1С и СУБД
Норма

Менее 1–2 секунд

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

Более 5 секунд — требуется настройка NTP

Часовой пояс на всех машинах
Норма

Одинаковый и соответствует фактическому региону

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

Различается либо включён автопереход, дающий смещение

Источник времени в w32tm /query /source
Норма

Доменный контроллер или внешний NTP-сервер

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

Local CMOS Clock — машина синхронизируется только с собственными часами

Настройка синхронизации времени в Windows

На изолированном сервере или рабочей станции без домена настройте службу времени Windows на внешний источник. Откройте командную строку от имени администратора и задайте NTP-серверы, затем перезапустите службу и принудительно выполните синхронизацию.

cmd
w32tm /config /manualpeerlist:"pool.ntp.org,0x8 time.windows.com,0x8" /syncfromflags:manual /update
net stop w32time && net start w32time
w32tm /resync

Флаг 0x8 переводит клиента в стандартный клиентский режим опроса. После перезапуска проверьте состояние командой w32tm /query /status: в поле «Источник» должен отображаться заданный сервер, а не Local CMOS Clock. Если служба возвращает ошибку, убедитесь, что UDP-порт 123 не блокируется брандмауэром или сетевым оборудованием.

Синхронизация в домене Active Directory

В доменной сети вручную настраивать каждую машину не нужно и нежелательно. Доменные компьютеры по умолчанию синхронизируются с контроллером домена, контроллеры — с владельцем роли PDC Emulator, а его, в свою очередь, настраивают на внешний источник. Найти PDC-эмулятор можно командой netdom query fsmo.

Если ранее кто-то вручную задавал источник времени на рядовых серверах, верните доменное поведение командой w32tm /config /syncfromflags:domhier /update с последующим перезапуском службы. Проверьте, что сервер 1С и сервер СУБД получают время именно от домена — это видно в выводе w32tm /query /source.

Настройка синхронизации времени в Linux

Если сервер 1С или PostgreSQL развёрнут на Linux, используйте штатный механизм дистрибутива. В современных системах это чаще всего chrony или systemd-timesyncd. Проверить состояние можно командой timedatectl status — она покажет, включена ли синхронизация и какой источник используется.

Для chrony отредактируйте файл /etc/chrony.conf, указав ближайшие NTP-серверы, перезапустите службу и проверьте источники командой chronyc sources. Звёздочка (*) напротив сервера означает, что он выбран текущим источником синхронизации.

bash
timedatectl set-ntp true
systemctl restart chronyd
chronyc sources -v

Отдельно задайте правильный часовой пояс: timedatectl set-timezone Europe/Moscow (или соответствующий регион). Неверный пояс — самая частая причина того, что время в 1С «съезжает» ровно на несколько часов при корректно работающем NTP.

Виртуальные машины и тонкие места гипервизоров

На виртуальных серверах 1С действует дополнительный фактор: гипервизор может синхронизировать время гостевой ОС с хостом через VMware Tools или Hyper-V Integration Services. Если хост имеет своё время, а гостевая ОС настроена на NTP, два механизма начинают конфликтовать, и часы «плавают».

Правильная схема — один активный источник. Либо отключите синхронизацию времени гостевой ОС с хостом и полагайтесь на NTP внутри виртуальной машины (рекомендуемый вариант), либо синхронизируйте сам хост по NTP и разрешите гостям брать время с него. Одновременно включённые оба механизма — типичная причина неустранимых на первый взгляд расхождений.

Типичные ошибки
01
Ручная установка времени вместо NTP — часы снова уходят через несколько дней, проблема возвращается
02
Одновременная синхронизация с хоста виртуализации и по NTP — часы скачут туда-сюда, ошибки в журнале регистрации
03
Игнорирование часового пояса — NTP работает, но время смещено на целые часы
04
Настройка только сервера 1С без сервера СУБД — расхождение сохраняется там, где оно наиболее опасно

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

После настройки убедитесь, что синхронизация реально работает, а не просто сконфигурирована. На Windows смотрите w32tm /query /status: поля «Источник» и «Последняя успешная синхронизация» должны показывать актуальные данные. На Linux — timedatectl и chronyc tracking, где значение System time offset должно быть близко к нулю.

Затем выполните прикладную проверку в 1С: создайте тестовый документ с клиентского компьютера и сравните его дату и время со временем сервера, проверьте, что регламентные задания запускаются по расписанию, а события в журнале регистрации идут в правильной последовательности. Если время в документах верное, а в записях СУБД — нет, проблема осталась на стороне сервера баз данных.

Порядок действий
  1. 1
    Проверьте время и часовой пояс на сервере 1С, сервере СУБД и клиентских машинах
  2. 2
    Определите единый источник времени: PDC-эмулятор в домене или внешний NTP-сервер
  3. 3
    Настройте NTP на всех серверах, при виртуализации — отключите конфликтующую синхронизацию с хостом
  4. 4
    Перезапустите службу времени и выполните принудительную синхронизацию
  5. 5
    Проверьте расхождение и работу 1С: документы, регламентные задания, журнал регистрации
Итог

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

1С берёт время у операционной системы каждого компонента, поэтому синхронизировать нужно все машины: сервер приложений, СУБД и клиентов. Используйте один источник NTP, проверяйте часовые пояса, не меняйте время вручную при активных сеансах и обязательно контролируйте результат после настройки.

Часто задаваемые вопросы

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

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

Насколько критично расхождение в несколько секунд?

Разница в 1–2 секунды между сервером 1С и СУБД практически безвредна. Проблемы начинаются при расхождениях в десятки секунд и минут: нарушается порядок событий в журналах, сбиваются регламентные задания. Разница более 5 минут между клиентом и контроллером домена приводит к отказам Kerberos-аутентификации.

Можно ли синхронизировать время штатными средствами самой 1С?

Нет, в платформе нет собственного механизма синхронизации часов. Все настройки выполняются на уровне операционной системы через службу времени Windows или NTP-демоны в Linux. Внутри 1С можно лишь программно получить текущую дату сеанса для контроля.

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

Если после перезагрузки часы возвращаются к неверному значению, проверьте время в BIOS/UEFI и батарейку CMOS на физическом сервере. На виртуальной машине причина почти всегда в синхронизации с хостом гипервизора — отключите её в настройках VMware Tools или Hyper-V Integration Services и оставьте только NTP.

Нужно ли перезапускать службы 1С после смены времени?

Если коррекция выполнена плавно через NTP на небольшую величину, перезапуск не требуется. При значительном скачке времени (особенно назад) рекомендуется завершить сеансы пользователей, перезапустить агент сервера 1С и убедиться, что фоновые задания не «зависли» в прошлом или будущем времени.

Какой NTP-сервер выбрать для локальной сети без интернета?

В изолированной сети назначьте один сервер эталонным: настройте его на локальный источник (Local CMOS Clock с повышенным приоритетом или аппаратные часы) и укажите остальным машинам синхронизироваться с ним. Абсолютная точность будет зависеть от этого сервера, но внутренняя согласованность — главное условие стабильной работы 1С — сохранится.