AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.11.2011, 20:13   #61  
Alex05507 is offline
Alex05507
Участник
Сотрудники Microsoft Dynamics
 
33 / 12 (1) ++
Регистрация: 17.10.2005
Коллеги, спасибо за все замечания, которые вы описали выше. Как уже упоминалось, все замечания были отправлены на прошлой неделе, идёт обработка.

Я веду обсуждение исправления в рамках созданного ранее запроса в отдел поддержки (сопровождения) партнёров практики Dynamics.
Старый 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).
Старый 27.08.2014, 07:49   #64  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
В связи с предстоящим переходом в октябре обратно на зимнее время, есть информация, как будет делаться обновление для DAX2012?

В ней в AOT не наблюдается объектов, связанных с TimeZonePatcher
Может, вынесли в сборки? Или привязали к настройкам ОС?

По крайней мере, табличка TimeZonesRulesData присутствует и она заполнена данными по таймзонам
__________________
Axapta v.3.0 sp5 kr2
Старый 20.10.2014, 17:01   #65  
online
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,928 / 3227 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от AndyD Посмотреть сообщение
В связи с предстоящим переходом в октябре обратно на зимнее время, есть информация, как будет делаться обновление для DAX2012?
http://axforum.info/forums/blog.php?b=8150
http://axforum.info/forums/blog.php?b=8151
За это сообщение автора поблагодарили: gl00mie (2).
Старый 20.10.2014, 20:29   #66  
online
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,928 / 3227 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
У кого-нить есть kb номер официального апдейта ?
Поиском не находится ничего.
Старый 21.10.2014, 09:52   #67  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Спасибо за ссылку, но ручками мы и сами можем)
__________________
Axapta v.3.0 sp5 kr2
Старый 21.10.2014, 10:14   #68  
online
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,928 / 3227 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от AndyD Посмотреть сообщение
Спасибо за ссылку, но ручками мы и сами можем)
Официального апдейта вы тоже не нашли ?
Старый 21.10.2014, 10:19   #69  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от Logger Посмотреть сообщение
Официального апдейта вы тоже не нашли ?
Нет
__________________
Axapta v.3.0 sp5 kr2
Старый 21.10.2014, 10:49   #70  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Я запросил у MS, ждем.
__________________
Ivanhoe as is..
За это сообщение автора поблагодарили: Logger (1).
Старый 22.10.2014, 10:47   #71  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Предварительно - планируется обновление, но конкретики пока никакой. Как минимум MS в курсе, что вопрос очень насущный.
__________________
Ivanhoe as is..
Старый 22.10.2014, 11:02   #72  
DenisS is offline
DenisS
Участник
 
65 / 24 (1) +++
Регистрация: 01.09.2003
А может кто-нибудь выложить здесь содержимое таблички TimeZoneRulesData с установленным обновлением для 2010-2011 года? Дело в том, что в упоминаемом здесь KB2628929 содержится некорректный XML, он не отрабатывает (последний) перевод часов в марте 2011 года.
Старый 24.10.2014, 12:13   #73  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2156 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Вышло обновление для 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   #74  
DenisS is offline
DenisS
Участник
 
65 / 24 (1) +++
Регистрация: 01.09.2003
Импортировал XML из KB3011878 - создалось 11 новых зон.
Единственно что смущает - поле TimeZoneRulesData.RuleId более не привязано к значению Enum TimeZone, a идет просто по порядку:
Нажмите на изображение для увеличения
Название: NewZones.png
Просмотров: 484
Размер:	26.4 Кб
ID:	9010
Старый 24.10.2014, 15:16   #75  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,685 / 1189 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от DenisS Посмотреть сообщение
Импортировал XML из KB3011878 - создалось 11 новых зон.
Единственно что смущает - поле TimeZoneRulesData.RuleId более не привязано к значению Enum TimeZone, a идет просто по порядку:
Вложение 9010
А это вообще работает? Вы после импорта XML уже успели перезагрузить AOS? У Вас СЕЙЧАС (до наступления 26.10.2014) какое время сеанса показывает? Время сеанса равна текущему времени?

Сервис \ Дата сеанса

Дело в том, что когда я экспериментировал, если указана только одна граница года, например, как в данном случае указаны только поля D*, но не указаны поля S*, то у меня такие настройки вообще игнорировались. На весь год устанавливался сдвиг указанный в BIAS (в данном случае -3 часа). Т.е. при таких настройках у Вас уже сейчас должен быть -1 час, а не после 26.10.2014

PS: Значение RuleID принципиальной роли не играет. Главное, чтобы он был уникален в таблице.
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 24.10.2014, 16:52   #76  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от DenisS Посмотреть сообщение
Импортировал XML из KB3011878 - создалось 11 новых зон.
Единственно что смущает - поле TimeZoneRulesData.RuleId более не привязано к значению Enum TimeZone, a идет просто по порядку:
Вложение 9010
Интересно, а откуда берутся значения енума TimeZone (GMT*RTZ*)?
И откуда у вас в приложении правило для TZ Якутск+09 для 2015-го года?

DenisS, какая у вас версия ядра клиента и AOS?
И можете посмотреть в енуме \System Documentation\Enums\Timezone, какие значения в нем есть?
__________________
Axapta v.3.0 sp5 kr2
Старый 24.10.2014, 17:47   #77  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,685 / 1189 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Ну, в общем, как я и предполагал, этот патч работает не то, чтобы не корректно, но не ожидАемым способом.

Во-первых, в инструкции забыли упомянуть одну "маленькую" деталь В этом патче указаны новые временные зоны, а не обновление ранее существовавших! Это значит, что после импорта временных зон надо будет пройтись по настройкам всех пользователей и установить эти самые новые временные пояса. Старые использовать будет нельзя!

Как следствие, для новых временных зон форма TimeZonePatcher работать не будет! Невозможно обновить то, что создается заново! Вы не сможете скорректировать времена работы ранее созданных пакетных заданий. Вам придется создавать пакетные задания заново. Ну, или "вручную" модифицировать соответствующие поля.

Во-вторых, как я уже говорил, если в настройка указаны только поля D* или только поля S*, то такие настройки вообще игнорируются. Используется только основной сдвиг по полю BIAS. Это значит, что при использовании этих новых часовых поясов установить корректное время "задним числом" до 26.10.2014 будет невозможно. Всегда будете ошибаться на 1 час

Ну, и наконец, по законодательству, переход должен осуществлять в 2 часа ночи, а не в 00:00, как указано в этом патче. Впрочем, это уже мелочи...

Короче, я бы не спешил накатывать этот патч, поскольку, скорее всего, будет выпущено его исправление Ну, или (скорее всего) подправят инструкцию по его установке
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...

Последний раз редактировалось Владимир Максимов; 24.10.2014 в 18:07.
Старый 26.10.2014, 08:07   #78  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,303 / 3533 (124) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Ну и у кого без патча чего-то "сломалось"? А то я чего-то долго курил, курил над ним и... пока курил - наступил "час Х". И АХ как-то "сама" подстроилась под винду
__________________
Возможно сделать все. Вопрос времени
Старый 26.10.2014, 12:54   #79  
someOne is offline
someOne
Участник
Аватар для someOne
 
173 / 429 (15) +++++++
Регистрация: 11.12.2008
Адрес: Москва
Как резюме, привожу порядок действий, которые произвел для применения исправления 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));
6 Просмотр всех мест в коде Аксапта, где использовано значение GMTPLUS0300MOSCOW_STPETERSBURG_VOLGOGRAD
(через поиск в АОТ), с заменой на этого значения на GMTPLUS0300MOSCOW_STPETERSBURG_VOLGOGRAD_RTZ2

Может еще что забыл ?
За это сообщение автора поблагодарили: sukhanchik (4), Maksim (1), Logger (3), Ace of Database (3), SIrina (1), Pandasama (1), NeveB (1).
Старый 27.10.2014, 08:13   #80  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от DenisS Посмотреть сообщение
Импортировал XML из KB3011878 - создалось 11 новых зон.
Единственно что смущает - поле TimeZoneRulesData.RuleId более не привязано к значению Enum TimeZone, a идет просто по порядку:
Вложение 9010
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Ну и у кого без патча чего-то "сломалось"? А то я чего-то долго курил, курил над ним и... пока курил - наступил "час Х". И АХ как-то "сама" подстроилась под винду
Не понятно)

Патч не был установлен, но все равно, часы в Аксапте перевелись?
Так?

А о какой версии идет речь?
О 2009-й?

Просто, я ничего подобно не наблюдаю)
Две инсталляции 2009-й Аксапты: на одной из них патч установлен, на другой - нет
Соответственно, без патча нет новых зачений енума, а по старому - нет перевода часов
__________________
Axapta v.3.0 sp5 kr2
Теги
time, time zone, utc, utcdatetime, зимнее время, часовые пояса

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Время транспортировки в часах Innokentiy DAX: Программирование 2 21.07.2011 15:44
DAX2009 зафиксировать дату и время сеанса Raven Melancholic DAX: Функционал 3 25.04.2011 16:26
Переход с Axapta 3.0 на AX 2009 - критика утилиты конвертации БД и скриптов обновления gl00mie DAX: Администрирование 5 02.01.2011 23:37
Время по графику и фактическое время работы в табеле nicko DAX: Функционал 0 09.02.2005 15:24
Установить время файла? SnowMan DAX: Программирование 5 01.10.2003 14:42

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:45.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.