Получение RecordId и OwnerId с помощью настраиваемого действия CRM

Я новичок в CRM, и теперь я создал настраиваемое действие. Действие является глобальным и не привязано к объекту.

Активность запускается кнопкой, размещенной на форме (сущности) в CRM.

Теперь мне нужно получить RecordId и OwnerId записи в контексте.

На стороне клиента это просто, в том числе с помощью плагина. Но до сих пор я не мог понять, как получить эти направляющие в моем пользовательском действии.

РЕДАКТИРОВАТЬ: Я пробовал с этим, но Guid всегда "000-00-000-000 ...."

IWorkflowContext context = executionContext.GetExtension<IWorkflowContext>();
Guid recordId = context.PrimaryEntityId;

Может быть, это связано с тем, что моя CodeActivity является глобальной и у меня нет PrimaryEntity?

Любая помощь очень ценится!


person Martin Felber    schedule 25.10.2017    source источник


Ответы (1)


Если ваше действие является глобальным, то по определению оно не привязано к какой-либо сущности, поэтому у вас не будет никакой «контекстной» информации - вы можете вызвать это действие даже вне CRM, система не будет передавать внутри никакой информации на основе формы на котором вы сейчас находитесь.

Ваше глобальное действие должно иметь некоторые входные параметры, и вы должны передавать их при вызове Action (из JavaScript, как я правильно понял). Это может быть идентификатор объекта, тип объекта или что-то еще, что вам нужно. Затем вы должны передать их внутри своего пользовательского действия рабочего процесса (используя входные параметры пользовательского действия). Или вы можете просто воссоздать это действие как связанное действие (но в таком случае вам все равно придется передать связанный объект при вызове действия, система не будет волшебным образом вводить вам контекстную информацию)

person Pawel Gradecki    schedule 25.10.2017
comment
Привет, Павел Спасибо за отзыв. Да, в этом есть смысл. Мне нужно поговорить с нашим руководителем проекта, что эту информацию необходимо передать в действие кода (они хотели, чтобы это было в самом действии). приведенный выше код просто работает, если он привязан к объекту. С уважением, Сандро - person Martin Felber; 25.10.2017