![]() |
#11 |
Участник
|
Как резюме, привожу порядок действий, которые произвел для применения исправления KB3011878
1 Загрузить файл "windowstimezonerules.xml" (из исправления KB3011878) используя форму "TimezonePatchImport" (ее можно нейти в дереве АОТ) При этом в систему будут загруженные новые временные зоны и правила их пересчета То есть в списке енумов TimeZone появятся новые значения (после рестарта АОС). В списке енумов будет уже два значения: GMTPLUS0300MOSCOW_STPETERSBURG_VOLGOGRAD (старое, с кодом 61) GMTPLUS0300MOSCOW_STPETERSBURG_VOLGOGRAD_RTZ2 (новое, с кодом 87) 2. Рестартовать АОС 3. Обновить пользователям новое значение временной зоны. Это можно сделать так X++: userInfo userInfo; userInfo userInfoUpd; int i; ; while select userInfo where userInfo.preferredTimeZone == TimeZone::GMTPLUS0300MOSCOW_STPETERSBURG_VOLGOGRAD { try { ttsbegin; select forupdate userInfoUpd where userInfoUpd.Id == userInfo.id; userInfoUpd.preferredTimeZone = TimeZone::GMTPLUS0300MOSCOW_STPETERSBURG_VOLGOGRAD_RTZ2; userInfoUpd.update(); ttscommit; i++; } catch { error(userInfo.name); } } info(strFmt("обновлено %1 записей пользователей", i)); либо просто завершить их сеансы принудительно. 4. Изменил в настройках формы "Данные компании" (CompanyInfo) значение часового пояса. (Если есть активные пользователи - сделать это не получится. Поэтому изменил это прямо в таблице БД DATAAREA поле TIMEZONE заменил 61 на 87) После этого стоит сделать рестарт АОС 5. Обновил настройки списков пакетных заданий - время запуска на час вперед + изменение значений часового пояса. это можно сделать так X++: batchJob batchJob; int i; TimeZone batchTimeZone; ; ttsbegin; while select forupdate batchJob { batchTimeZone = conPeek(batchJob.RecurrenceData, 9); if (batchTimeZone == TimeZone::GMTPLUS0300MOSCOW_STPETERSBURG_VOLGOGRAD) { batchJob.OrigStartDateTime = DateTimeUtil::addHours(batchJob.OrigStartDateTime, 1); batchJob.RecurrenceData = conPoke(batchJob.RecurrenceData, 9, TimeZone::GMTPLUS0300MOSCOW_STPETERSBURG_VOLGOGRAD_RTZ2); batchJob.update(); i++; } } ttscommit; info(strFmt("обновлено %1 пакетных заданий", i)); (через поиск в АОТ), с заменой на этого значения на GMTPLUS0300MOSCOW_STPETERSBURG_VOLGOGRAD_RTZ2 Может еще что забыл ? |
|
|
За это сообщение автора поблагодарили: Maksim (1), sukhanchik (4), Logger (3), Ace of Database (3), SIrina (1), Pandasama (1). |
Теги |
time, time zone, utc, utcdatetime, зимнее время, часовые пояса |
|
|