Выполнение CRMКонтекст для объекта рабочего процесса

Из пользовательского рабочего процесса CRM мне нужно получить фактический объект «Рабочий процесс» из контекста выполнения. Я пытаюсь получить WorkflowId и имя рабочего процесса, которые хранятся в пользовательском интерфейсе «Процессы».

У кого-нибудь есть образец запроса, которым они готовы поделиться?

Спасибо,

Ричард


person Richard Butterwood    schedule 17.03.2014    source источник


Ответы (1)


Я предполагаю, что вы имеете в виду запись, которая запустила рабочий процесс (т. е. если вы установили ее для запуска при создании учетной записи, вам нужна запись учетной записи, которая запустила рабочий процесс)?

Есть несколько вариантов (включая использование входных параметров). Здесь я буду использовать WorkflowContext для получения идентификатора основного объекта.

public String GetRecordIdFromRecordThatTriggeredWorkflow(CodeActivityContext executionContext)
    {
        String someString = string.Empty;
        try
        {
            //Set up the workflow context 
            IWorkflowContext workFlowContext = executionContext.GetExtension<IWorkflowContext>();

            someString = workFlowContext.PrimaryEntityId.ToString();
            return someString;
        }
        catch (Exception ex)
        {
            throw new InvalidPluginExecutionException("Error occured in GetFeeWaiverId Method:" + ex.Message);
        }
    }

Надеюсь, это поможет!

Изменить. Вот ссылка, содержащая запрос, который вы ищете. Получить текущий идентификатор рабочего процесса

person Bactos    schedule 17.03.2014
comment
Нет, я хочу получить доступ к объекту рабочего процесса, а не к объекту, который инициировал рабочий процесс. - person Richard Butterwood; 17.03.2014
comment
Спасибо. У меня уже работает запрос по имени рабочего процесса, но я не хочу жестко кодировать имя рабочего процесса в коде. Эта ссылка выглядит многообещающе, но мне нужно перейти в WorkflowInstanceID -> asyncoperation (System Jobs) -> Workflow markuserlandsson.wordpress.com/2014/02/08/ - person Richard Butterwood; 18.03.2014