Есть возможность вызвать рабочий процесс по запросу с экрана расширенного поиска CRM. Чтобы запустить рабочий процесс, пользователю необходимо сначала выбрать записи.
Как передать выбранные данные в настраиваемый рабочий процесс?
Есть возможность вызвать рабочий процесс по запросу с экрана расширенного поиска CRM. Чтобы запустить рабочий процесс, пользователю необходимо сначала выбрать записи.
Как передать выбранные данные в настраиваемый рабочий процесс?
Когда вы запускаете рабочий процесс с триггером, таким как создание или запись, или обновление записи, или назначенная запись или т. Д., То есть автоматический триггер, действие рабочего процесса будет иметь входной параметр в качестве цели, то есть контекст записи, из которого запускается рабочий процесс. В Target вы можете найти такую информацию, как идентификатор записи, поля и так далее.
Но когда вы запускаете рабочий процесс OnDemand, действие рабочего процесса не будет содержать параметр ввода, и, следовательно, такие сведения, как поле и т. Д., Из какой записи оно запускается, будут недоступны. Вы получите только небольшую информацию, такую как идентификатор записи, логическое имя записи, но не данные поля.
Вам нужно будет получить запись с заданным идентификатором записи и логическим именем записи.
IWorkflowContext context = executionContext.GetExtension<IWorkflowContext>();
IOrganizationServiceFactory serviceFactory = executionContext.GetExtension<IOrganizationServiceFactory>();
IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
Entity abc= service.Retrieve(context.PrimaryEntityName, context.PrimaryEntityId, new ColumnSet("colum1", "field2", "field3", "field4"));
Вот ссылка, которая объясняет все в Подробности < / а>