Получить RecordId и OwnerId с помощью пользовательской активности CRM
Я совсем новичок в CRM, и теперь я создал пользовательскую активность. Деятельность является глобальной и не связана с сущностью.
Активность запускается кнопкой, размещенной на форме (сущности) в CRM.
Теперь мне нужно получить RecordId и OwnerId записи в контексте.
На стороне клиента это легко, а также с плагином. Но до сих пор я не мог понять, как получить эти руководства в моей пользовательской активности.
РЕДАКТИРОВАТЬ: Я пытался с этим, но Guid всегда "000-00-000-000...."
IWorkflowContext context = executionContext.GetExtension<IWorkflowContext>();
Guid recordId = context.PrimaryEntityId;
Может быть, это связано с тем, что моя CodeActivity является глобальной, и у меня нет "PrimaryEntity"?
Любая помощь очень ценится!
1 ответ
Если ваше действие является глобальным, то по определению оно не привязано ни к какому объекту, поэтому у вас не будет никакой "контекстной" информации - вы можете вызвать это действие даже из-за пределов CRM, система не будет передавать какую-либо информацию, основанную на форме что вы в данный момент.
Ваше глобальное действие должно иметь некоторые входные параметры, и вы должны передавать их при вызове Action (из JavaScript, как я правильно понял). Это может быть идентификатор объекта, тип объекта или все, что вам нужно. Затем вы должны передать их в свою пользовательскую активность рабочего процесса (используя входные параметры пользовательской активности). Или вы можете просто воссоздать это Действие как связанное действие (но в этом случае вам все равно придется передавать связанную сущность при вызове действия, система не будет волшебным образом вводить контекстную информацию для вас)