![]() |
#14 |
Участник
|
![]() Цитата:
Сообщение от a33ik
![]() Мда. Зачем таким образом плагины писать - мне умом не понять (хотя я в CRM пришёл из мира ООП и немного в этом понимаю), но то ваше дело.
Суть в чём - как я и писал у вас не заполняется _entity. И соответственно проперти TargetEntity отдаёт null. Отсюда и ошибка. А вообще - учитесь дебажить плагины через VS. X++: if (executionContext.MessageName == MessageName.Delete) { if (executionContext.PreEntityImages.Contains("Target") && executionContext.PreEntityImages["Target"] is Entity) { Entity preMessageImage = (Entity)executionContext.PreEntityImages["Target"]; QueryExpression surveyz = new QueryExpression() { EntityName = "bf_survey", ColumnSet = new ColumnSet(true) }; surveyz.Criteria.AddCondition("bf_surveyid", ConditionOperator.Equal, preMessageImage.GetAttributeValue<EntityReference>("bf_surveytoken_survey").Id); List<Entity> surveylists = crmService.RetrieveMultiple(surveyz).Entities.ToList(); foreach (var surveylist in surveylists) { QueryExpression token = new QueryExpression() { EntityName = "bf_surveytoken", ColumnSet = new ColumnSet(true) }; token.Criteria.AddCondition("bf_surveytoken_survey", ConditionOperator.Equal, surveylist.Id); List<Entity> surveyTokens = crmService.RetrieveMultiple(token).Entities.ToList(); surveylist["bf_survey_tkcnt"] = surveyTokens.Count - 1; crmService.Update(surveylist); } } } |
|
|
|