Показать сообщение отдельно
Старый 06.12.2011, 18:09   #63  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
Решил воспользоваться 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).