Время в 1С 8.3: откуда программа его берёт и как его поправить
Содержание
Своих часов у 1С нет: время в 1С берётся из операционной системы. В файловой базе это часы компьютера пользователя, в клиент-серверной — часы сервера 1С. Поэтому установить время в 1С можно тремя способами: поправить часы Windows или Linux, задать часовой пояс информационной базы или поменять рабочую дату пользователя.
Инструкция подходит для всех версий платформы 8.3 и типовых конфигураций на ней. Ниже разобраны ручная настройка, автоматическая синхронизация и сбои, которые даёт расхождение часов на клиенте и сервере.
Откуда 1С берёт текущее время и как его проверить
В языке 1С есть две функции, от которых зависит всё остальное:
- 🕐
ТекущаяДата()— время компьютера, на котором выполняется код. На клиенте это часы рабочего места, на сервере — часы сервера. - 🕑
ТекущаяДатаСеанса()— время сеанса с учётом часового пояса сеанса. Типовые конфигурации подставляют в новые документы именно его.
Отсюда простое правило:
| Режим работы | Чьи часы определяют дату документов | Что настраивать |
|---|---|---|
| Файловая база | Компьютер пользователя | Часы и часовой пояс каждого рабочего места |
| Клиент-серверная база | Сервер 1С (рабочий сервер кластера) | Часы сервера, плюс часовой пояс базы |
| Веб-клиент и публикация | Сервер 1С, а не веб-сервер и не браузер | Часы сервера 1С |
Быстрая проверка без кода
- Создайте любой новый документ, например приходный кассовый ордер .
- Посмотрите поле даты рядом с номером. Там стоят дата и время сеанса на момент создания.
- Сравните с часами в трее и с точным временем.
- Закройте документ без записи.
Расхождение больше минуты — повод разбираться дальше.
Проверка внешней обработкой
Если нужно увидеть отдельно время клиента, сервера и сеанса, создайте в Конфигураторе внешнюю обработку с одной формой и командой. Код формы:
&НаКлиенте
Процедура ПроверитьВремя(Команда)
ВремяСервера = ВремяНаСервере();
Сообщить("Компьютер пользователя: " + Формат(ТекущаяДата(), "ДЛФ=DT"));
Сообщить("Сервер 1С: " + Формат(ВремяСервера, "ДЛФ=DT"));
Сообщить("Сеанс: " + Формат(ТекущаяДатаСеанса(), "ДЛФ=DT"));
КонецПроцедуры
&НаСервереБезКонтекста
Функция ВремяНаСервере()
Возврат ТекущаяДата();
КонецФункции
В файловой базе первые две строки совпадут: серверный код там выполняется на том же компьютере. В клиент-серверной базе разница между ними — это и есть рассинхрон часов клиента и сервера.
Ручная настройка времени в 1С: четыре уровня
Ручная установка времени — это всегда правка одного из четырёх уровней. Начинайте с нижнего: если неверны часы системы, остальные настройки не помогут.
1. Часы и часовой пояс Windows
На рабочем месте с файловой базой или на сервере 1С:
- Откройте
Параметры → Время и язык → Дата и время(или выполнитеtimedate.cpl). - Проверьте часовой пояс. Частая ошибка — верные цифры на часах, но чужой пояс, например UTC вместо Москвы.
- Включите автоматическую установку времени или нажмите «Синхронизировать».
- Если автоматическая установка недоступна, задайте время вручную. Нужны права администратора.
После смены часового пояса на сервере перезапустите службу «Агент сервера 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. Рабочая дата пользователя
Иногда нужно не поправить часы, а работать «задним числом»: например, вносить документы за прошлый месяц так, чтобы они сразу получали нужную дату.
- Откройте
Главное → Персональные настройки. - Снимите флажок «Использовать текущую дату компьютера».
- Укажите рабочую дату.
Новые документы этого пользователя будут создаваться с указанной датой. Не забудьте вернуть флажок после работы, иначе завтра документы снова лягут в прошлый месяц.
Время конкретного документа
Время уже записанного документа меняют прямо в поле даты: щёлкните по нему и введите, например, 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С и свои часы. Документ получает время того узла, где его создали, и в таком виде уходит в обмен.
Что настроить:
- Часы каждого узла. Синхронизация по NTP на всех серверах и рабочих местах, где стоят узлы. Отставание филиала на 20 минут даёт путаницу в порядке документов за день.
- Часовой пояс базы на каждом узле. Пояс задаётся настройкой конкретной информационной базы, поэтому его выставляют на каждом узле отдельно, а после настройки проверяют внешней обработкой из первого раздела.
- Единые правила по датам. Договоритесь, по чьему времени ведётся учёт: обычно по местному времени подразделения. Для закрытия месяца в головной базе это не критично, если границы периодов совпадают по дате.
Для схемы «один сервер — несколько городов» без РИБ часовой пояс задают на уровне базы или сеанса. Отдельные базы под каждый филиал — тоже вариант: у каждой свой пояс, а сервер один.
Не переводите часы сервера на время филиала, чтобы «починить» даты в одной базе. Сдвинутся регламентные задания, журнал регистрации и даты во всех остальных базах этого кластера.
Регламентные и фоновые задания: по каким часам они работают
Расписание регламентных заданий 1С считает по местному времени компьютера, который их выполняет. Часовой пояс базы и сеанса на расписание не влияет.
- В клиент-серверном варианте задания запускает кластер, значит, ориентир — часы и пояс рабочего сервера 1С.
- В файловом варианте задания выполняются в одном из клиентских сеансов или на веб-сервере публикации. Ориентир — часы этого компьютера.
Что из этого следует на практике:
| Ситуация | Чем грозит | Что делать |
|---|---|---|
| Сервер в UTC, расписание «в 03:00» по Москве | Задание стартует в 06:00 по Москве, посреди рабочего утра | Поставить серверу верный пояс или пересчитать расписание |
| Часы сервера убежали вперёд на час | Загрузка курсов валют и обмены идут раньше, чем ожидают | Включить NTP-синхронизацию |
| Часы перевели назад вручную | Задание может пропустить запуск или отработать повторно | Не крутить часы на работающем сервере; если пришлось — проверить журнал |
Посмотреть, когда задание отработало на самом деле, можно в журнале регистрации: отберите события по фоновым или регламентным заданиям и сравните время с расписанием. Журнал записывает время сервера, поэтому неверные серверные часы видны и в нём.
В типовых конфигурациях список заданий и их расписание открываются через Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания.
Время, лицензии и обновления
Сама проверка лицензии в повседневной работе не опирается на текущую дату. Но всё, что идёт через интернет, от неё зависит.
- 🔒 HTTPS-соединения. Активация программной лицензии по пин-коду, подключение к интернет-поддержке, загрузка обновлений, курсы валют, ЭДО и 1С-Отчётность работают по защищённому протоколу. Если часы ушли на сутки, сертификат сервера кажется «ещё не действующим» или «просроченным», и соединение обрывается.
- ✍️ Электронная подпись. Криптопровайдер сверяет срок действия сертификата с часами компьютера. Неверная дата — подпись «недействительна», хотя сертификат в порядке.
- 🔑 Вход по доменной учётной записи. Kerberos в Active Directory по умолчанию допускает расхождение часов клиента и контроллера до 5 минут. Больше — вход в 1С через аутентификацию операционной системы перестаёт работать.
Не переводите часы назад, чтобы продлить пробный период, подписку или срок сертификата. Это не работает и ломает даты документов, журнал регистрации и регламентные задания.
Если активация лицензии или загрузка обновления падает с ошибкой соединения, первым делом сверьте часы и пояс компьютера, а уже потом разбирайтесь с прокси и антивирусом.
Сбои из-за неверного времени: как найти причину
Симптомы рассинхрона часов часто выглядят как ошибки учёта. Подберите свой случай:
Частые ошибки при настройке
- Правят время в 1С вместо часов системы. В клиент-серверной базе часы пользователя на дату документов почти не влияют, смотреть нужно на сервер.
- Меняют часы сервера ради одной базы. Для филиала в другом городе есть часовой пояс базы.
- Синхронизируют сервер одновременно с хостом и с доменом. Два источника спорят, время прыгает.
- Смещают часы без пересчёта документов. Документы, созданные со сбитым временем, сами не исправятся: найдите их отбором по дате в журнале документов и поправьте время вручную.