|
![]() |
#1 |
Чайный пьяница
|
![]() Цитата:
Код: public void Execute(IPluginExecutionContext context) { DynamicEntity entity = null; DynamicEntity inpEntity = null; // Check if the InputParameters property bag contains a target // of the current operation and that target is of type DynamicEntity. if (context.InputParameters.Properties.Contains(ParameterName.Target) && context.InputParameters.Properties[ParameterName.Target] is DynamicEntity) { // Obtain the target business entity from the input parmameters. entity = (DynamicEntity)context.InputParameters.Properties[ParameterName.Target]; // TODO Test for an entity type and message supported by your plug-in. // if (entity.Name != EntityName.account.ToString()) { return; } // if (context.MessageName != MessageName.Create.ToString()) { return; } } else { return; } try { Key inputEntityId = new Key(); /* if (inpEntity.Name == EntityName.task.ToString() || inpEntity.Name == EntityName.letter.ToString() || inpEntity.Name == EntityName.appointment.ToString() || inpEntity.Name == EntityName.email.ToString() || inpEntity.Name == EntityName.fax.ToString() || inpEntity.Name == EntityName.phonecall.ToString() || inpEntity.Name == EntityName.orderclose.ToString() || inpEntity.Name == EntityName.quoteclose.ToString() || inpEntity.Name == EntityName.incidentresolution.ToString()) {*/ if (inpEntity.Name == EntityName.task.ToString()) { if (inpEntity.Properties.Contains("activityid")) { inputEntityId = ((Key)inpEntity["activityid"]);//.Value;//.ToString(); inpEntity = (DynamicEntity)context.InputParameters[ParameterName.Target]; DynamicEntity task = new DynamicEntity(); task.Name = EntityName.task.ToString(); task.Properties = new PropertyCollection(); task.Properties.Add(new StringProperty("subject", "test")); task.Properties.Add(new KeyProperty("activityid", inputEntityId)); ICrmService service = context.CreateCrmService(true); service.Update(task); } } } catch (System.Web.Services.Protocols.SoapException ex) { throw new InvalidPluginExecutionException( String.Format("An error occurred in the {0} plug-in.", this.GetType().ToString()), ex); }
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit Последний раз редактировалось a33ik; 12.02.2009 в 16:44. |
|
|
За это сообщение автора поблагодарили: Bondonello (1). |
![]() |
#2 |
Kostya Afendikov
|
>>>Попробуйте так
Не помогло "В экземпляре объекта не задана ссылка на объект". Регистрировал на Update сначала Post потом и Pre попробовал. |
|
![]() |
#3 |
Чайный пьяница
|
Завтра покопаюсь. Но всё примитивно просто.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
![]() |
#4 |
Участник
|
2 Bondonello:
Ну посмотрите внимательно, что у Вас написано: Код: if (inpEntity.Name == EntityName.task.ToString()) { if (inpEntity.Properties.Contains("activityid")) { Код: DynamicEntity inpEntity = null; А для чего введены две переменные inpEntity и entity вообще неясно. Очевидно, надо оставить одну. Но это всё фигня по сравнению с тем, что у вас нет "защиты" от бесконечного цикла. ![]() |
|
|
За это сообщение автора поблагодарили: Bondonello (1). |
|
![]() |
||||
Тема | Ответов | |||
PlugIn ImageEntity | 3 | |||
Доступ к custom fields в Plugin | 3 | |||
Получить id объекта вызвавшего PlugIn | 5 | |||
Закрыть задачи | 2 | |||
Письма в "Списки ожидания" - "Мои задачи" | 0 |
|