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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.08.2009, 12:38   #1  
Dissident is offline
Dissident
Вопрошающий
Аватар для Dissident
 
210 / 24 (1) +++
Регистрация: 07.06.2006
Адрес: Тюмень
Опять про даты-время
Господа, помогите разобраться, уже сломали голову... не можем понять - баг это или мы ламеры.

Суть такова: Есть веб-страничка с редактируемым гридом (размерность Nx8). грид - представление для пользователя, в котором первый столбец - намиенования продуктов из прайс-листа, а первая строка (заголовки столбцов со 2 по 8й) - считаются датами от понедельника текущей недели до воскресенья текущей недели.
В ячейки можно вводить кол-во необходимых продуктов. Таким образом, совокупные данные отдельно взятого столбца передставляют собой спецификацию ЗАКАЗА.
Сия вещь сделана для быстрого приема заказов от клиентов на любой день недели.

Так вот, есть функционал, который при сохранении создает заказ на определенную дату с введенной спецификацией (с помощью стандартного веб-сервиса CRM). Вот как раз с этой датой-временем ЗАКАЗА и происходит странная вещь.
При выполнении данного ф-ла консольным приложением, дата и время становится правильно (т.е. по текущим настройкам клиентского АРМ). При попытке выполнить данный ф-л на сервере (на серверной ASP-странице, под IIS) - с датой-временем происходит интересная вещь. система считает что она находится в часовом поясе Гринвича и добавляет к дате-времени разницу во времени между Грмнвичем и моим часовым поясом.
Мой часовой пояс +5 GMT (Екатеринбург) + учет перехода на летнее время
В итоге при попытке создания заказа после 18-00 местного времени заказы создаются не на дату переданную приложению, а на указанную дату + 6 (5+й летний час) часов.

Попытка создать ЛЮБОЙ объект, передав ему дату приводит к такому же результату.

Да, чтобы избежать уточняющих вопросов и восклицаный "кури RTFM", сразу описываю все сущ. настройки:
1. На клиентских АРМ - WinXP sp3 или Виста, везде часовой пояс +5 GMT
2. На сервере Win2008Server SP1, IIS 7.0, часовой пояс +5 GMT
3. У каждого пользователя CRM в персональных настройках CRM (Рабочая область - Настройка личных параметров - Выбор часового пояса) стоит +5 GMT
4. CRM 4.0 со всеми роллапами, базовый язык Русский
__________________
Победивший противника - силен, победивший себя - величественнен
Старый 20.08.2009, 12:39   #2  
Dissident is offline
Dissident
Вопрошающий
Аватар для Dissident
 
210 / 24 (1) +++
Регистрация: 07.06.2006
Адрес: Тюмень
есть сильные подозрения что портачит IIS
есть ли в нем где-либо настройки, связанные с часовым поясом?
__________________
Победивший противника - силен, победивший себя - величественнен
Старый 20.08.2009, 13:38   #3  
Bondonello is offline
Bondonello
Kostya Afendikov
Аватар для Bondonello
MCBMSS
Лучший по профессии 2009
 
510 / 106 (5) +++++
Регистрация: 06.06.2008
Адрес: Украина
может Вам "в лоб" указывать свою зону. В SDK есть описание как работать с timezone.
Сам, к сожалению, не приходилось с таким столкнуться
Старый 20.08.2009, 14:30   #4  
Dissident is offline
Dissident
Вопрошающий
Аватар для Dissident
 
210 / 24 (1) +++
Регистрация: 07.06.2006
Адрес: Тюмень
Цитата:
может Вам "в лоб" указывать свою зону. В SDK есть описание как работать с timezone.
Дело в том что стадартным методам запроса, создания, модификации как раз и передается дата в UTC формате, т.е. дата, время часовой пояс... сами методы внутри пользуют встроенную функцию конвертации (что-то типа fn_LocalizetUTCTimeZone - эту ф-ю разрыли в описании FilteredSalesOrder и собственно саму ф-ю в описании ф-ий для программирования) и на выходе вываливают в БД значение на 6 часов отстоящее от переданого...

еще раз повторюсь - внутри любого метода вызывается данная ф-я, которая упорно считает что переданный ей параметр соответствует Гринвичу... и начинает применять к ней настройки локальной таймзоны пользователя, от имени которого запущен сервис
__________________
Победивший противника - силен, победивший себя - величественнен
Старый 31.08.2009, 07:33   #5  
Dissident is offline
Dissident
Вопрошающий
Аватар для Dissident
 
210 / 24 (1) +++
Регистрация: 07.06.2006
Адрес: Тюмень
Видимо с детим действительно никто не сталкивался.
ока проблему решили половинчато
1. для IIS указали формат вывода логов родной
2. время явно присваиваем на 12-00 дня. Пока вроде бы обходим эту проблему
__________________
Победивший противника - силен, победивший себя - величественнен
Старый 31.08.2009, 12:42   #6  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Проблема может быть связана с тем, что для учетных записей под которыми крутятся сервисы системы заданы различные региональные настройки.
Боюсь что у вас крайне специфичная разработка и смоделировать что подобное крайне затруднительно. Совет тут может быть один - дебаггер вам в руки, и ищите где теряются часы.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 02.10.2009, 10:56   #7  
Dissident is offline
Dissident
Вопрошающий
Аватар для Dissident
 
210 / 24 (1) +++
Регистрация: 07.06.2006
Адрес: Тюмень
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Проблема может быть связана с тем, что для учетных записей под которыми крутятся сервисы системы заданы различные региональные настройки.
Боюсь что у вас крайне специфичная разработка и смоделировать что подобное крайне затруднительно. Совет тут может быть один - дебаггер вам в руки, и ищите где теряются часы.
у всех учеток одинаковые региональные настройки: +5 GMT Ёбург, Карачи...
это как раз в первую очередь проверяли...
мало того, ручками смотрели в таблички региональных настроек, которые СРМ для себя хранит... там тоже все ОК. Проблему как раз получаем на выходе системной СРМовской ф-ии преобразования даты-времени...
__________________
Победивший противника - силен, победивший себя - величественнен
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Отслеживание даты Talisman2005 Dynamics CRM: Разработка 16 25.11.2011 17:14
Создание отчета из VS. Проблемы с датами!(опять) KKNDSTER Dynamics CRM: Разработка 8 20.07.2009 20:07
Передача Оганизации на время отпуска Ответственного Lazarus Dynamics CRM: Администрирование 3 16.06.2008 18:53
Время получения и отправления писем Boris Ilyin Dynamics CRM: Функционал 0 24.05.2007 12:54
Указание даты при создании объектов sam Dynamics CRM: Разработка 1 06.06.2006 17:51

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:23.