|
![]() |
#1 |
Участник
|
хехе, не, это у меня тупняк.
Ошибка не тут случайно падает? Код: Entity record = crmService.Retrieve(TargetEntity.LogicalName, TargetEntity.Id, new ColumnSet("subject", "regardingobjectid")); Да и смысла тянуть ее нет, так как в таргете у тебя уже есть эти данные. Попробуй так; Инициализируй Entity record дальше Код: if (executionContext.MessageName == MessageName.Update) { record = crmService.Retrieve(TargetEntity.LogicalName, TargetEntity.Id, new ColumnSet("subject", "regardingobjectid")); } else { record = TargetEntity; } Мой кусок кода у тебя лишний будут, его можно удалить впринципе, либо удали свой и проверь работает ли мой. |
|
|
За это сообщение автора поблагодарили: a33ik (2), Lavdislav (1). |
![]() |
#2 |
Участник
|
Цитата:
Сообщение от maksii
![]() хехе, не, это у меня тупняк.
Ошибка не тут случайно падает? Код: Entity record = crmService.Retrieve(TargetEntity.LogicalName, TargetEntity.Id, new ColumnSet("subject", "regardingobjectid")); Да и смысла тянуть ее нет, так как в таргете у тебя уже есть эти данные. Попробуй так; Инициализируй Entity record дальше Код: if (executionContext.MessageName == MessageName.Update) { record = crmService.Retrieve(TargetEntity.LogicalName, TargetEntity.Id, new ColumnSet("subject", "regardingobjectid")); } else { record = TargetEntity; } Мой кусок кода у тебя лишний будут, его можно удалить впринципе, либо удали свой и проверь работает ли мой. ![]() |
|
![]() |
#3 |
Участник
|
Цитата:
Код: public override void Execute() { Entity record = crmService.Retrieve(TargetEntity.LogicalName, TargetEntity.Id, new ColumnSet("subject", "regardingobjectid")); if (TargetEntity.Contains("regardingobjectid")) { string uniq = ""; int uniqLength = 1024; if (executionContext.MessageName == MessageName.Update) { record = crmService.Retrieve(TargetEntity.LogicalName, TargetEntity.Id, new ColumnSet("subject", "regardingobjectid")); } else { record = TargetEntity; } if (record.Contains("regardingobjectid")) { uniq = record.GetAttributeValue<EntityReference>("regardingobjectid").Name; RetrieveEntityRequest rerq = new RetrieveEntityRequest { LogicalName = record.GetAttributeValue<EntityReference>("regardingobjectid").LogicalName, RetrieveAsIfPublished = true }; RetrieveEntityResponse rers = (RetrieveEntityResponse)crmService.Execute(rerq); uniq = rers.EntityMetadata.DisplayName.UserLocalizedLabel.Label + " " + "[" + uniq + "]"; } if (!record.Contains("subject") || record["subject"].ToString() != uniq) { uniq = string.Format("{0}", uniq.Length > uniqLength ? (uniq.Substring(0, uniqLength - 3) + "...") : uniq); record["subject"] = uniq; if (executionContext.MessageName == MessageName.Update) { crmService.Update(record); } } } } |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|