Показать сообщение отдельно
Старый 22.04.2014, 15:55   #3  
Lavdislav is offline
Lavdislav
Участник
 
34 / 10 (1) +
Регистрация: 28.02.2014
Цитата:
Сообщение от Ksani Посмотреть сообщение
1. Вот этот вот апдейт crmService.Update(survey); вызывает Ваш плагин снова и снова. Что получается? Бесконечный цикл. Но СРМ умный и останавливает это после 8-го раза.
Для того чтобы это не случалось нужно либо делать это в пре-плагине.
Или добавлять как-то флаг, который бы говорил нужно ли делать апдейт или нет.
2. Вместо вот этого:
Entity survey = crmService.Retrieve(TargetEntity.LogicalName, TargetEntity.Id, new ColumnSet(true));

Используйте пост-имедж. Хотя в Вашем коде и этого не нужно. Для апдета достаточно следующего кода:

Entity survey = new Entity(TargetEntity.LogicalName);
survey.Id = TargetEntity.Id;
survey["bf_survey_tkcnt"] = surveyTokens.Count.ToString();
crmService.Update(survey);
Вроде как и мысль понял, но если убрать Entity survey = crmService.Retrieve(TargetEntity.LogicalName, TargetEntity.Id, new ColumnSet(true)); и использовать вот этот следующий код, то та же проблема.