Работа с информационной базой в различных часовых поясах
Работа с информационной базой в различных часовых поясах
Формат идентификатора часовых поясов [#TimeID]
Часовой пояс информационной базы [#TimeIB]
Часовой пояс сеанса [#TimeSeance]
Текущая дата сеанса [#CurDateSeance]
Оперативная отметка времени [#OperTime]
В случаях, когда используется распределенная информационная база, узлы которой расположены в различных временных поясах, актуальной становится задача обеспечение адекватности получаемых данных при использовании стандартных периодов, стандартной даты начала и других временных показателях.
Система 1С:Предприятие позволяет осуществлять синхронизацию поясного или директивного времени. Для этого в каждом узле распределенной базы временная привязка данных выполняется к текущей дате сеанса, а сам узел описывается значением часового пояса сеанса. А с помощью средств встроенного языка механизмы конфигурации могут осуществить вычисление времени относительно центрального или любого иного узла базы, в том числе с учетом летнего времени.
Введено понятие часового пояса информационной базы, часового пояса сеанса и времени сеанса.
Часовые пояса определяются и идентифицируются в соответствии с перечнем часовых поясов (zoneinfo database), известным как IANA Time Zone Database или tz database. Большинство идентификаторов часовых поясов задаются как <регион>/<город>, например, Europe/Moscow. Подробности на https://data.iana.org/time-zones/tz-link.html [https://data.iana.org/time-zones/tz-link.html].
Идентификаторы часовых поясов GMT могут быть заданы в формате:
GMT{+/-}h[h][:mm]
где hh=0:23, mm=0:59.
Часовой пояс информационной базы:
•
после создания информационной базы не определен;
•
может быть установлен из встроенного языка;
•
сохраняется в базе данных и при выгрузке информационной базы;
•
доступен из встроенного языка на сервере, толстом клиенте, во внешнем соединении;
•
используется при начале сеанса для определения часового пояса сеанса;
•
переносится в новую базу при создании начального образа информационной базы распределенной информационной базы.
Часовой пояс сеанса:
•
при начале сеанса равен часовому поясу информационной базы, если часовой пояс информационной базы определен, или часовому поясу сервера, если часовой пояс информационной базы не определен;
•
может быть установлен из встроенного языка;
•
сохраняется до конца сеанса;
•
доступен из встроенного языка на сервере, в толстом клиенте, во внешнем соединении;
•
используется для определения текущей даты сеанса и оперативной отметки времени.
Текущая дата сеанса:
•
равна дате компьютера, приведенной к часовому поясу сеанса;
•
доступна из встроенного языка на сервере, в толстом клиенте, во внешнем соединении;
•
используется при работе с документами, бизнес-процессами, задачами, периодическими регистрами сведений для присвоения даты по умолчанию и проверки текущей даты.
Оперативная отметка времени:
•
формируется на основе текущей даты сеанса;
•
возрастающая последовательность дат отдельно для каждого часового пояса сеансов данной информационной базы.
Некоторые алгоритмы работы с часовыми поясами встроены в механизмы системы на уровне платформы. Так при исполнении отчета и работе динамического списка стандартные периоды и стандартные даты начала отсчитываются относительно текущей даты сеанса, при получении текущих дат от стандартного периода и стандартной даты начала на толстом клиенте, сервере и внешнем соединении, даты получаются относительно текущей даты сеанса.
При отработке условного оформления управляемой формы на клиенте используется дата, полученная из текущей даты клиента скорректированной с учетом часового пояса сервера.
Часовой пояс сервера передается в клиентскую часть управляемой формы при создании формы, при условии, что для формы задано условное оформление, и после контекстного вызова, при условии, что в процессе этого вызова условное оформление формы было изменено.