AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.02.2009, 16:30   #1  
Bondonello is offline
Bondonello
Kostya Afendikov
Аватар для Bondonello
MCBMSS
Лучший по профессии 2009
 
510 / 106 (5) +++++
Регистрация: 06.06.2008
Адрес: Украина
Plugin на для обновления задачи (Task)
Добрый день!
Второй день разбираюсь с 4-й, немного запутался с обновлением Задачи. Вешаю на Update (Post) Вот пример кода.
При update ошибка - "В экземпляре объекта не задана ссылка на объект", но я вроде и с вязываю с ActivityId.
Спасибо

X++:
 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));

                        TargetUpdateDynamic targetUpdate = new TargetUpdateDynamic();
                        targetUpdate.Entity = task;
                       
                        UpdateRequest update = new UpdateRequest();
                        update.Target = targetUpdate;
                       
                        ICrmService service = context.CreateCrmService(true);
                        UpdateResponse updated = (UpdateResponse)service.Execute(update);

                    }
                }

                    
       
       

            }
            catch (System.Web.Services.Protocols.SoapException ex)
            {
                throw new InvalidPluginExecutionException(
                    String.Format("An error occurred in the {0} plug-in.",
                       this.GetType().ToString()),
                    ex);
            }
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
PlugIn ImageEntity Konstantin Katsovich Dynamics CRM: Разработка 3 16.01.2009 17:35
Доступ к custom fields в Plugin Олег Михайлов Dynamics CRM: Разработка 3 10.10.2008 17:47
Получить id объекта вызвавшего PlugIn sergeyjb Dynamics CRM: Разработка 5 09.10.2008 14:17
Закрыть задачи Lida Dynamics CRM: Разработка 2 02.11.2007 15:11
Письма в "Списки ожидания" - "Мои задачи" ДмитрийCол Dynamics CRM: Функционал 0 10.01.2007 09:46

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:14.