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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.04.2014, 17:47   #1  
Lavdislav is offline
Lavdislav
Участник
 
34 / 10 (1) +
Регистрация: 28.02.2014
При создании генерировать идентификатор
Добрый день!

При создании Evaluating Object нужно чтобы наверху вместо Information, было название Object'a, так как после создания, если я поменяю Object на другой, то всё появляется, но мне вот нужно именно при создании. Ниже даю код плагина, делаю всё это на Post-operation, Create и Update.
Код:
public class EvalObjectsAIU : IPlugin
    {
        public void Execute(IServiceProvider serviceProvider)
        {
            var process = new EvalObjectsAIUProcess(serviceProvider);
            process.LoadEntity();
            if (!process.ValidateEntityName("bf_evaluatingobject")) return;
            if (!process.ValidateMessage(MessageName.Update)) return;
            process.Run();
        }
    }

    class EvalObjectsAIUProcess : bf_PluginProcess
    {
        public override void Execute()
        {
            if (TargetEntity.Contains("regardingobjectid"))
            {
                string uniq = "";

                int uniqLength = 1024;

                Entity record = crmService.Retrieve(TargetEntity.LogicalName, TargetEntity.Id, new ColumnSet("subject", "regardingobjectid"));

                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;
                    crmService.Update(record);
                }
            }
Так же прикрепил картинки.
Миниатюры
Нажмите на изображение для увеличения
Название: create.jpg
Просмотров: 199
Размер:	159.2 Кб
ID:	8811   Нажмите на изображение для увеличения
Название: update.jpg
Просмотров: 293
Размер:	168.1 Кб
ID:	8812  

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
CRM 2011. Проблема при создании отчетов SergeyP Dynamics CRM: Разработка 22 04.12.2013 10:28
Как подтянуть поле при создании записи, если отношения 1:N? DOlga Dynamics CRM: Разработка 2 05.05.2012 15:53
Ошибки авторизации (помогите найти корень зла) Aza123 Dynamics CRM: Функционал 1 27.01.2012 12:37
Плагин на создании Заказа Krom Dynamics CRM: Разработка 4 04.08.2010 14:48
Проблема при создании отчета в CRM 4.0 Kizickii Dynamics CRM: Администрирование 0 24.06.2009 16:34

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

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

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