2017-10-25 8 views
0

CRM에 익숙하지 않아 사용자 지정 액티비티를 구축했습니다. 활동은 전역이며 엔티티에 바인딩되지 않습니다.CRM 사용자 지정 액티비티로 RecordId 및 OwnerId 검색

활동은 CRM의 양식 (엔터티)에 배치 된 단추에 의해 트리거됩니다.

이제 레코드의 RecordId와 OwnerId를 검색해야합니다.

클라이언트 측에서는이 방법이 쉽고 플러그인도 있습니다. 하지만 지금까지는 사용자 지정 작업에서이 가이드를 가져 오는 방법을 파악할 수 없었습니다.

편집 : 나는이 함께 노력했지만, GUID는

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

은 어쩌면이 내 CodeActivity로되어 있기 때문이다 .... "000-00-000-000"항상 글로벌하고 "PrimaryEntity"가 없습니까?

도움이 정말 감사합니다!

답변

0

귀하의 행동이 글로벌 일 경우 정의에 따라 어떤 주체에도 구속력이 없으므로 "컨텍스트"정보가 없으므로 CRM 외부에서도이 작업을 호출 할 수 있습니다. 현재있는 양식을 기반으로합니다.

전역 작업에는 몇 가지 입력 매개 변수가 있어야하며 올바르게 이해 한대로 JavaScript에서 조치를 호출하는 동안 전달해야합니다. 이것은 엔티티 ID, 엔티티 유형 또는 기타 필요한 것일 수 있습니다. 그런 다음 사용자 정의 워크 플로우 활동 (사용자 정의 활동의 입력 매개 변수 사용)에 해당 활동을 전달해야합니다. 또는이 작업을 바운드 작업으로 다시 만들 수 있습니다 (단, 작업을 호출 할 때 바운드 엔터티를 전달해야하므로 시스템에서 마술로 컨텍스트 정보를 주입하지 않습니다).

+0

안녕하세요 Pawel 고맙습니다 귀하의 의견. 네, 그건 절대적으로 의미가 있습니다. 프로젝트 리드와상의해야합니다.이 정보는 코드 활동에 전달되어야합니다 (활동 자체에서이 정보를 원합니다). 위의 코드는 엔터티에 바인딩 된 경우에만 작동합니다. 안부 산드로 –