|
27.10.2014, 11:11 | #1 |
Участник
|
Цитата:
Сообщение от someOne
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)); PHP код:
PHP код:
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
За это сообщение автора поблагодарили: Logger (10), someOne (3). |
23.11.2011, 12:47 | #2 |
Участник
|
Alex05507, FYI:
https://community.dynamics.com/produ...?wa=wsignin1.0 |
|
06.12.2011, 18:09 | #3 |
Участник
|
Решил воспользоваться KB2628929. Ax 2009 SP1 RU7, Oracle.
XPO кривой, как писали выше в этой ветке. Для исправления пригодился только XML-файл из этого архива. Из формы TimezonePatchImport загружаем файл WindowsTimeZone_Latest.xml В результате этого импорта также добавятся нужные строчки в таблицу TimeZonesRulesData. После перезагрузки AOS отображение местного времени встает на место. Сходу не понял насколько критично запускать дальнейшие обновления из формы TimeZonePatcher. Там делается попытка обновить данные в нескольких таблицах (PurchParmTable, SalesParmTable, ...), но в логике сборки SQL-запроса на обновление данных есть ошибки. Для SQL Server исправление выкладывали в этой ветке. Для Oracle я поправил по аналогии метод runORACode_PatchDataForDSTChange класса TimezonePatchingHelper, но глубоко не копая: X++: //sqlSubString += ' WHERE (%2 >= B.%3 and %4 < B.%5) '; //sqlSubString += ' and (%6 = B.%7 '; sqlSubString += ' WHERE (A.%2 >= B.%3 and A.%4 < B.%5) '; sqlSubString += ' and (A.%6 = B.%7 '; X++: //sqlString = 'UPDATE %1 SET '; //sqlString += ' %2 = (%3 + 1/%4*%5), '; sqlString = 'UPDATE %1 A SET '; sqlString += ' A.%2 = (A.%3 + 1/%4*%5), '; |
|
|
За это сообщение автора поблагодарили: Logger (3). |
27.08.2014, 07:49 | #4 |
Участник
|
В связи с предстоящим переходом в октябре обратно на зимнее время, есть информация, как будет делаться обновление для DAX2012?
В ней в AOT не наблюдается объектов, связанных с TimeZonePatcher Может, вынесли в сборки? Или привязали к настройкам ОС? По крайней мере, табличка TimeZonesRulesData присутствует и она заполнена данными по таймзонам
__________________
Axapta v.3.0 sp5 kr2 |
|
20.10.2014, 17:01 | #5 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: gl00mie (2). |
21.10.2014, 09:52 | #6 |
Участник
|
__________________
Axapta v.3.0 sp5 kr2 |
|
21.10.2014, 10:14 | #7 |
Участник
|
|
|
21.10.2014, 10:19 | #8 |
Участник
|
__________________
Axapta v.3.0 sp5 kr2 |
|
20.10.2014, 20:29 | #9 |
Участник
|
У кого-нить есть kb номер официального апдейта ?
Поиском не находится ничего. |
|
21.10.2014, 10:49 | #10 |
Участник
|
Я запросил у MS, ждем.
__________________
Ivanhoe as is.. |
|
|
За это сообщение автора поблагодарили: Logger (1). |
22.10.2014, 10:47 | #11 |
Участник
|
Предварительно - планируется обновление, но конкретики пока никакой. Как минимум MS в курсе, что вопрос очень насущный.
__________________
Ivanhoe as is.. |
|
22.10.2014, 11:02 | #12 |
Участник
|
А может кто-нибудь выложить здесь содержимое таблички TimeZoneRulesData с установленным обновлением для 2010-2011 года? Дело в том, что в упоминаемом здесь KB2628929 содержится некорректный XML, он не отрабатывает (последний) перевод часов в марте 2011 года.
|
|
24.10.2014, 12:13 | #13 |
Участник
|
Вышло обновление для AX 2009.
Ссылка на обновление тут: http://support2.microsoft.com/hotfix...?kbnum=3011878 Как пользоваться тут: http://technet.microsoft.com/en-us/l...(v=ax.50).aspx
__________________
Ivanhoe as is.. |
|
|
За это сообщение автора поблагодарили: sukhanchik (4), Logger (3), AraraT® (3), SIrina (1), S.Kuskov (5), GBH (1), someOne (5), EugenPit (0). |
24.10.2014, 13:55 | #14 |
Участник
|
Импортировал XML из KB3011878 - создалось 11 новых зон.
Единственно что смущает - поле TimeZoneRulesData.RuleId более не привязано к значению Enum TimeZone, a идет просто по порядку: |
|
24.10.2014, 15:16 | #15 |
Участник
|
Цитата:
Сообщение от DenisS
Импортировал XML из KB3011878 - создалось 11 новых зон.
Единственно что смущает - поле TimeZoneRulesData.RuleId более не привязано к значению Enum TimeZone, a идет просто по порядку: Вложение 9010 Сервис \ Дата сеанса Дело в том, что когда я экспериментировал, если указана только одна граница года, например, как в данном случае указаны только поля D*, но не указаны поля S*, то у меня такие настройки вообще игнорировались. На весь год устанавливался сдвиг указанный в BIAS (в данном случае -3 часа). Т.е. при таких настройках у Вас уже сейчас должен быть -1 час, а не после 26.10.2014 PS: Значение RuleID принципиальной роли не играет. Главное, чтобы он был уникален в таблице.
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
24.10.2014, 16:52 | #16 |
Участник
|
Цитата:
Сообщение от DenisS
Импортировал XML из KB3011878 - создалось 11 новых зон.
Единственно что смущает - поле TimeZoneRulesData.RuleId более не привязано к значению Enum TimeZone, a идет просто по порядку: Вложение 9010 И откуда у вас в приложении правило для TZ Якутск+09 для 2015-го года? DenisS, какая у вас версия ядра клиента и AOS? И можете посмотреть в енуме \System Documentation\Enums\Timezone, какие значения в нем есть?
__________________
Axapta v.3.0 sp5 kr2 |
|
24.10.2014, 17:47 | #17 |
Участник
|
Ну, в общем, как я и предполагал, этот патч работает не то, чтобы не корректно, но не ожидАемым способом.
Во-первых, в инструкции забыли упомянуть одну "маленькую" деталь В этом патче указаны новые временные зоны, а не обновление ранее существовавших! Это значит, что после импорта временных зон надо будет пройтись по настройкам всех пользователей и установить эти самые новые временные пояса. Старые использовать будет нельзя! Как следствие, для новых временных зон форма TimeZonePatcher работать не будет! Невозможно обновить то, что создается заново! Вы не сможете скорректировать времена работы ранее созданных пакетных заданий. Вам придется создавать пакетные задания заново. Ну, или "вручную" модифицировать соответствующие поля. Во-вторых, как я уже говорил, если в настройка указаны только поля D* или только поля S*, то такие настройки вообще игнорируются. Используется только основной сдвиг по полю BIAS. Это значит, что при использовании этих новых часовых поясов установить корректное время "задним числом" до 26.10.2014 будет невозможно. Всегда будете ошибаться на 1 час Ну, и наконец, по законодательству, переход должен осуществлять в 2 часа ночи, а не в 00:00, как указано в этом патче. Впрочем, это уже мелочи... Короче, я бы не спешил накатывать этот патч, поскольку, скорее всего, будет выпущено его исправление Ну, или (скорее всего) подправят инструкцию по его установке
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... Последний раз редактировалось Владимир Максимов; 24.10.2014 в 18:07. |
|
26.10.2014, 08:07 | #18 |
Administrator
|
Ну и у кого без патча чего-то "сломалось"? А то я чего-то долго курил, курил над ним и... пока курил - наступил "час Х". И АХ как-то "сама" подстроилась под винду
__________________
Возможно сделать все. Вопрос времени |
|
27.10.2014, 08:13 | #19 |
Участник
|
Цитата:
Сообщение от DenisS
Импортировал XML из KB3011878 - создалось 11 новых зон.
Единственно что смущает - поле TimeZoneRulesData.RuleId более не привязано к значению Enum TimeZone, a идет просто по порядку: Вложение 9010 Цитата:
Патч не был установлен, но все равно, часы в Аксапте перевелись? Так? А о какой версии идет речь? О 2009-й? Просто, я ничего подобно не наблюдаю) Две инсталляции 2009-й Аксапты: на одной из них патч установлен, на другой - нет Соответственно, без патча нет новых зачений енума, а по старому - нет перевода часов
__________________
Axapta v.3.0 sp5 kr2 |
|
27.10.2014, 17:24 | #20 |
Administrator
|
Цитата:
Сообщение от AndyD
Не понятно)
Патч не был установлен, но все равно, часы в Аксапте перевелись? Так? А о какой версии идет речь? О 2009-й? Просто, я ничего подобно не наблюдаю) Две инсталляции 2009-й Аксапты: на одной из них патч установлен, на другой - нет Соответственно, без патча нет новых зачений енума, а по старому - нет перевода часов На самом деле - я думаю - ответом является сравнение содержимого XML-файла и таблички TimeZonesRulesData. В моем случае - значение в поле BIAS у 61-го значения енума совпадало со значением из XML-файла. Енум TimeZone на самом деле не енум - а лукап из таблицы TimeZonesList. Добавляем записи в TimeZonesList, рестартуем АОС - и оппа... енум TimeZone расширился По большому счету - этот патч нужен был тем, кому: - не нравилось существующее название часового пояса - хотели его увидеть "по-новому". - у кого в результате перехода времени образовался новый часовой пояс Форма TimeZonePatcher работает... только если загружаемый файл имеет новые правила для уже существующих зон. А если зоны новые - то она не работает. Поэтому я изменил XML-файлик под существующие зоны и его закачал. И результат сравнил с "непатченной" АХ. Вот прошел перевод стрелок... и никто "не вякнул". Ядро 5.0.1600.2983 Скриншот
__________________
Возможно сделать все. Вопрос времени Последний раз редактировалось sukhanchik; 27.10.2014 в 17:27. |
|
Теги |
time, time zone, utc, utcdatetime, зимнее время, часовые пояса |
|
|