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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.11.2013, 18:52   #10  
Space-06 is offline
Space-06
Участник
 
57 / 10 (1) +
Регистрация: 23.01.2013
Пытаясь изменить код под свои нужды, столкнулся вот с какой проблемой, вроде все делаю так как надо:

X++:
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Client;
using Microsoft.Xrm.Sdk.Query;
using Microsoft.Xrm.Sdk.Messages;
using Microsoft.Xrm.Sdk.Discovery;
using Microsoft.Crm.Sdk.Messages;
using System.ServiceModel;

namespace SetAccountName
{
    public class SetAccountName : IPlugin
    {
        public void Execute(IServiceProvider serviceProvider)
        {
            // Получаемо сервис CRM из контекста
            IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
            IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
            IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);

            // Получаемо объект Target
            Entity entity = (Entity)context.InputParameters["Target"];
            ColumnSet cs = new ColumnSet();
            //try
            //{
                if (entity.LogicalName == "phonecall")
                {
                    if (entity.Contains("regardingobjectid"))
                    {
                        Guid phoneid = entity.Id;
                        //Entity PhoneCall = service.Retrieve("phonecall", phoneid, new Microsoft.Xrm.Sdk.Query.ColumnSet(true));
                        Entity PhoneCall = service.Retrieve("phonecall", phoneid, cs);
                        EntityReference regarding = ((EntityReference)PhoneCall.Attributes["regardingobjectid"]);
                        
                        switch (regarding.LogicalName.ToString())
                        { 
                            case "account":
                                Entity account = service.Retrieve("account", regarding.Id, cs);
                                entity.Attributes.Add("new_nameofaccount", account.FormattedValues.ToString());
                            //entity.Attributes["new_nameofaccount"] = account.FormattedValues["name"].ToString();
                                //entity.Attributes["new_nameofaccount"] = account.;
                                //entity.Attributes["new_companyname"] = ((EntityReference)account.Attributes["name"]);
                                break;
                            case "lead":
                                Entity lead = service.Retrieve("lead", regarding.Id, cs);
                                entity.Attributes["new_nameofaccount"] = lead.FormattedValues["new_companyname"].ToString();
                                break;
                            case "opportunity":
                                Entity opport = service.Retrieve("opportunity", regarding.Id, cs);
                                entity.Attributes["new_nameofaccount"] = opport.FormattedValues["customerid"].ToString();
                                break;
                        }
                        service.Update(PhoneCall);
                    }
              }
                       
//catch (Exception ex)
//                {
//                    throw new InvalidPluginExecutionException("An error occured in the Plugin.", ex);
//                }        
        
        }

    }   
    }
и все равно поле не обновляется.

Прошу сильно не пинать меня ногами. Это первый так сказать опыт по написанию своего собственного плагина, и как говорится сроки очень сильно поджимают. Подскажите - где мог ошибится и как все таки правильно реализовать получение значения имени организации в первом Кейсе.

За ранее спасибо.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема выбора импортированной организации для клиента Outlook (Аутлук) CRM 2011 Likefire Dynamics CRM: Администрирование 4 29.10.2012 14:05
Добавление карты Яндекс на форму организации в MS CRM 2011 Dmitrij777 Dynamics CRM: Разработка 0 05.06.2012 12:03
CRM 2011, создание дочерней организации - недостаточно прав [решено] mistah Dynamics CRM: Функционал 2 10.01.2012 14:06
Отображение Организаций для ответственного с привилегиями "читать только свои организации" Lazarus Dynamics CRM: Администрирование 7 03.09.2009 18:06
Отображение списка контактов на вкладке организации SLK Dynamics CRM: Разработка 39 19.03.2008 15:16
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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