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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.01.2008, 14:10   #1  
SeregaK is offline
SeregaK
Участник
 
76 / 21 (1) +++
Регистрация: 10.11.2006
RetriveMultiple in Callout (CrmDateTime)
Почему в Callout при получении одной и той же записи с помощью методов service.Execute(RetrieveRequest) и service.RetrieveMultiple(QueryExpression) все даты, которые хранятся в этой записи, в первом случае будут преобразованы к локальному времени пользователя, от имени которого работает сервис, а во втором случае нет? При этом только в колаут, т.к. например, при получении записи методом service.RetrieveMultiple(QueryExpression) с собственной странички даты преобразуются к локальному времени пользователя. Это баг, фича или проблемы с моим недопониманием?
Ниже приведён код, который используется в колаут:
//создаём сервис, который позволит работать с объектами с соответствующими правами
CrmServiceservice = newCrmService();
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
service.CallerIdValue = new CallerId();
service.CallerIdValue.CallerGuid = userContext.UserId;
//получаемданныеотранзакции
TargetRetrieveNew_TransactionJournal targetGetTJ =new TargetRetrieveNew_TransactionJournal();
targetGetTJ.EntityId = entityContext.InstanceId;
RetrieveRequest getTJ = new RetrieveRequest();
getTJ.Target = targetGetTJ;
ColumnSet transColSet=new ColumnSet();
transColSet.Attributes=new string[]{"new_transactiondatetime","new_action","new_crater_stage","new_spstage","new_finance"};
getTJ.ColumnSet = transColSet;
RetrieveResponse BusinessEntityTJ =
(RetrieveResponse)service.Execute(getTJ);
//Получаем коллекцию всех транзакций
QueryExpression Q = new QueryExpression();
Q.EntityName = EntityName.new_transactionjournal.ToString();
Q.ColumnSet = new AllColumns();
BusinessEntityCollection Collect=service.RetrieveMultiple(Q);

Может кто встречался с такой проблемой? Помогите, плз!
Старый 11.01.2008, 14:59   #2  
SeregaK is offline
SeregaK
Участник
 
76 / 21 (1) +++
Регистрация: 10.11.2006
Ну не ужели никто не сталкивался с этой проблемой?
Немного изменённая формулировка проблемы с Callout:
При отсутствии нижеприведённых строк кода (для идентификации пользователя от имени которого выполняются методы CrmService)
service.CallerIdValue = new CallerId();
service.CallerIdValue.CallerGuid = userContext.UserId;
методы service.Execute(RetrieveRequest) и service.RetrieveMultiple(QueryExpression) возврашают записи даты в которых не будут преобразованны к локальному времени пользователя, что вполне естественно, так и должно быть.
А вот при наличии этих строк даты должны преобразовываться к локальному времени указанного пользователя. И действительно использование метода service.Execute(RetrieveRequest) возврашает запись даты в которой преобразованы к локальному времени, а вот метод service.RetrieveMultiple(QueryExpression) не выполняет такого преобразования! Почему так?
Plz, HELP me!
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Не работает Callout после апгрейда до CRM 4.0 macattack Dynamics CRM: Разработка 1 25.06.2008 15:16
Как запустить CallOut tatra Dynamics CRM: Разработка 0 02.10.2007 09:04
CallOut в CampaignItem shaban Dynamics CRM: Разработка 0 28.09.2007 10:12
Callout faust911 Dynamics CRM: Разработка 7 14.07.2006 20:18
Использование Callout glad Dynamics CRM: Разработка 1 11.07.2006 09:55

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

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

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