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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.11.2009, 10:33   #1  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Я не слишком искушен в программировании плагинов, но почему-бы не использовать IPluginExecutionContext.SharedVariables. Есть даже целый раздел SDK: Passing Data Between Plug-ins.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 13.11.2009, 11:29   #2  
SVK is offline
SVK
Участник
Аватар для SVK
 
36 / 10 (1) +
Регистрация: 20.09.2005
Адрес: Москва
Нюансы SharedVariables таковы, что невозможно передать сообщение между двумя плагинами на разных сущностях, а только между плагинами пре и пост на одной сущности.
Следует учесть, что у меня плагины для разных сущностей разнесены по разным сборкам. Может быть, если запихнуть все в одну сборку будет иначе...
__________________
CRM programmer

Последний раз редактировалось SVK; 13.11.2009 в 12:57.
Старый 13.11.2009, 13:35   #3  
SVK is offline
SVK
Участник
Аватар для SVK
 
36 / 10 (1) +
Регистрация: 20.09.2005
Адрес: Москва
UPD. Иначе не стало - плагин теряет этот контекст для разных сущностей ((
__________________
CRM programmer
Старый 13.11.2009, 14:09   #4  
SVK is offline
SVK
Участник
Аватар для SVK
 
36 / 10 (1) +
Регистрация: 20.09.2005
Адрес: Москва
Коллеги, я сделал это - передал что мне нужно, не используя базу )

Через следующую конструкцию
1) сделал промежутчную DLL для общих методов
2) реализовал статичный метод, через еоторый можно будет передавать статичные переменные

X++:
namespace Helper
{
    public static class Keeper
    {
        private static bool _UpdateOppAfterHistory = true;
        public static bool UpdateOppAfterHistory 
        {
            get { return _UpdateOppAfterHistory; }
            set { _UpdateOppAfterHistory = value; }
        }
        
    }
    public class OpportunityHelper
    { ... }
}
3) вызов производится следующим образом
X++:
 // Перед вызовом создания истории, устанавливаем флаг,
 // для плагина New_opportunityhistory.OpportunityHistory_Create
Keeper.UpdateOppAfterHistory = false;

OpportunityHelper.CreateOpportunityHistory(Opp,crmService);
                
// снимаем флажок обратно
Keeper.UpdateOppAfterHistory = true;
4) в плагине, который вызывается каскадом анализ переменной

X++:
bool UpdateOppAfterHistory = Keeper.UpdateOppAfterHistory;
if (UpdateOppAfterHistory)
{ ... }
__________________
CRM programmer
Теги
plugin, plugin context, share

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
перенос баз CRM'а на другой SQL Server kras Dynamics CRM: Администрирование 17 01.02.2016 10:31
Модификая контекста плагина ZooY Dynamics CRM: Разработка 3 28.09.2008 13:52
Перенос баз и настроек CRM 3.0 в 4.0 с одного сервера на другой Antonf Dynamics CRM: Администрирование 11 11.08.2008 18:14
перенос CRM3,0 с одного сервера на другой gor0422 Dynamics CRM: Администрирование 2 05.06.2008 10:08
Доступ через Outlook из другой сети Артем Enot Грунин Dynamics CRM: Администрирование 6 29.02.2008 09:22

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

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

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