Показать сообщение отдельно
Старый 24.04.2014, 10:54   #14  
Lavdislav is offline
Lavdislav
Участник
 
34 / 10 (1) +
Регистрация: 28.02.2014
:(
Цитата:
Сообщение от a33ik Посмотреть сообщение
Мда. Зачем таким образом плагины писать - мне умом не понять (хотя я в CRM пришёл из мира ООП и немного в этом понимаю), но то ваше дело.

Суть в чём - как я и писал у вас не заполняется _entity. И соответственно проперти TargetEntity отдаёт null. Отсюда и ошибка.

А вообще - учитесь дебажить плагины через VS.
Вроде и preimage сделал, в коде тож добавил, но ругается так и так на ту же ошибку...

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);
                    }
                }
            }
Я хоть на правильном пути?
Изображения