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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.02.2012, 09:29   #1  
griefon is offline
griefon
Участник
 
131 / 52 (2) ++++
Регистрация: 07.12.2010
Адрес: down under
Попробуйте перезапросить account с минимальным набором полей.
Что-то вроде:
X++:
Entity account = (Entity)context.InputParameters["Target"];
Entity acc_for_update = m_service.Retrieve("account", (Guid)account["accountid"], new ColumnSet("accountid"));
acc_for_update["ars_leadaccountant"] = new EntityReference(leadAccountant.LogicalName, leadAccountant.Id);
acc_for_update["ars_officemanager"] = new EntityReference("systemuser", context.UserId); 
m_service.Update(acc_for_update);
Старый 21.02.2012, 10:30   #2  
KP0H is offline
KP0H
Участник
 
41 / 11 (1) +
Регистрация: 11.08.2011
Адрес: Тюмень
Да, такой вариант работает.
Вопрос в том, грамотно ли это делать доп запрос (а по сути получается 2), т.к. дальше идет функционал которому необходимы все поля?
Нагрузки конечно с них на данном этапе практически нет и выполняются они мигом.
Старый 22.02.2012, 14:47   #3  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Подозреваю, что неверно изменять Target. Надо попытаться заполнить Target на событии Pre. Если Вы его заполните, то Вам не нужен веб-сервис. Объект targer на протяжении всего процесса один и тот же.
Если Вы измените его на шаге pre, то изменения попаду в CRM. думаю что именно из-за попытки изменения target таким способом у Вас ошибка.
Старый 22.02.2012, 15:10   #4  
griefon is offline
griefon
Участник
 
131 / 52 (2) ++++
Регистрация: 07.12.2010
Адрес: down under
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
Подозреваю, что неверно изменять Target. Надо попытаться заполнить Target на событии Pre. Если Вы его заполните, то Вам не нужен веб-сервис. Объект targer на протяжении всего процесса один и тот же.
Если Вы измените его на шаге pre, то изменения попаду в CRM. думаю что именно из-за попытки изменения target таким способом у Вас ошибка.
Да, по возможности лучше менять target на этапе Pre. Но не всегда это возможно, тогда можно обновлять его и потом (по сути вызывается веб-сервис для обновления записи с указанным типом, guid и набором полей), но только при этом важно, чтобы обновлялись только те поля, которые изменились. И не забывать о том, что плагин может зациклиться.
Старый 24.02.2012, 10:44   #5  
KP0H is offline
KP0H
Участник
 
41 / 11 (1) +
Регистрация: 11.08.2011
Адрес: Тюмень
Спасибо. Я всегда ставлю)
Старый 22.02.2012, 15:06   #6  
griefon is offline
griefon
Участник
 
131 / 52 (2) ++++
Регистрация: 07.12.2010
Адрес: down under
Цитата:
Сообщение от KP0H Посмотреть сообщение
Да, такой вариант работает.
Вопрос в том, грамотно ли это делать доп запрос (а по сути получается 2), т.к. дальше идет функционал которому необходимы все поля?
Нагрузки конечно с них на данном этапе практически нет и выполняются они мигом.
Да, не совсем грамотно, я немного поспешил с ответом.

Лучше сделать вот так:
X++:
Entity account = (Entity)context.InputParameters["Target"];
Entity acc_for_update = new Entity();
acc_for_update.LogicalName = "account";
acc_for_update.Id = (Guid)account["accountid"];
acc_for_update["ars_leadaccountant"] = new EntityReference(leadAccountant.LogicalName, leadAccountant.Id);
acc_for_update["ars_officemanager"] = new EntityReference("systemuser", context.UserId); 
m_service.Update(acc_for_update);
ПС: Вы бы ставили плюсики тем, кто вам помогает.
За это сообщение автора поблагодарили: a33ik (1), KP0H (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка при работе отчетов Elka Dynamics CRM: Администрирование 14 03.02.2011 09:59
Ошибка при создании плагина SergGrey Dynamics CRM: Разработка 1 26.05.2010 11:47
Ошибка при создание "Возможной сделки" Alpen Dynamics CRM: Администрирование 12 14.11.2009 13:41
Создание экземпляра кастомной сущности из плагина Roman08 Dynamics CRM: Разработка 14 31.08.2009 21:34
Создание и регистрация плагина на Execute и Retreive a33ik Dynamics CRM: Разработка 7 30.11.2008 15:03
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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