Есть проблема - нужно выбрать все процессы которые запускались из сделки и открыть к ним доступ новому ответственному по сделке ( как открыть доступ придумали это решено) остаётся проблема, а как выбрать все эти процессы? Есть примеры в базе знаний как отфильтровать процессы по контекстной переменной,
Код:
var header = ProcessHeaderManager.Instance.Load (21);
//загружаем процесс в переменную в зависимости от id
var contextFilterType = Locator.GetServiceNotNull<WorkflowInstanceContextService> ().GetInstanceContextFilterType (header.Published);
//задаем тип фильтра контекста
var filter = InterfaceActivator.Create<WorkflowInstanceFilter> ();
List<WorkflowInstanceStatus> statuses = new List<WorkflowInstanceStatus> ();
statuses.Add (WorkflowInstanceStatus.Running);
filter.Statuses = statuses;
filter.GeneralStatus = WorkflowInstanceGeneralStatus.Current;
filter.ProcessHeader = header;
//присваиваем фильтру процесс, который определили по Id
dynamic fl = Activator.CreateInstance (contextFilterType);
//создаем экземпляр фильтра по контексту
if (context.Station != null) {
fl.Station = context.Station;
//присваиваем значение переменной, по которому будет фильтровать
filter.ContextFilter = fl;
//присваиваем искомое значение фильтру
filter.ProcessHeader = header;
//присваиваем фильтру процесс, который определили по Id
var process = WorkflowInstanceManager.Instance.Find (filter, null);
но нужно знать заголовки всех процессов запускаемых из сделки чтобы искать экземпляры каждого типа процесса и в них искать по контекстной переменной типа сделка.
А как бы выдрать все процессы, которые запускаются из сделки? ведь хранится же где-то в сделке информация о тех процессах, которые из неё можно запускать!
Так же есть стандартный список связанных объектов активные и не активные экземпляры процессов может его можно как-то расковырять и выдрать из него EQL?