|
![]() |
#1 |
Moderator
|
Я не слишком искушен в программировании плагинов, но почему-бы не использовать IPluginExecutionContext.SharedVariables. Есть даже целый раздел SDK: Passing Data Between Plug-ins.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. ![]() ![]() |
|
![]() |
#2 |
Участник
|
Нюансы SharedVariables таковы, что невозможно передать сообщение между двумя плагинами на разных сущностях, а только между плагинами пре и пост на одной сущности.
Следует учесть, что у меня плагины для разных сущностей разнесены по разным сборкам. Может быть, если запихнуть все в одну сборку будет иначе...
__________________
CRM programmer Последний раз редактировалось SVK; 13.11.2009 в 12:57. |
|
![]() |
#3 |
Участник
|
UPD. Иначе не стало - плагин теряет этот контекст для разных сущностей ((
__________________
CRM programmer |
|
![]() |
#4 |
Участник
|
Коллеги, я сделал это - передал что мне нужно, не используя базу )
Через следующую конструкцию 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 { ... } } X++: // Перед вызовом создания истории, устанавливаем флаг, // для плагина New_opportunityhistory.OpportunityHistory_Create Keeper.UpdateOppAfterHistory = false; OpportunityHelper.CreateOpportunityHistory(Opp,crmService); // снимаем флажок обратно Keeper.UpdateOppAfterHistory = true; X++: bool UpdateOppAfterHistory = Keeper.UpdateOppAfterHistory;
if (UpdateOppAfterHistory)
{ ... }
__________________
CRM programmer |
|