2011-09-16 2 views
2

저는 유형에 따라 다른 케이스 해상도를 갖는 케이스 세부 엔티티가 여러 개 있습니다. 사례 해결 유형을 선택하면 세부 양식을 비활성 상태로 만들고 하위 워크 플로를 호출하여 소유 사례를 해결할 수 있습니다. 그러나 소유 케이스에 열린 활동이있는 경우 당연히 해결되지 않을 것입니다. 소유 한 케이스에서 열린 액티비티 수를 검색하여 내 워크 플로에서 사용할 수있는 방법이 있습니까?소유 한 케이스에서 열린 액티비티 수를 검색합니다.

답변

2

워크 플로는 카운트와 같은 집계 함수를 지원하지 않으므로 부모 케이스에서 열린 활동 수를 유지하기 위해 일부 논리를 추가해야합니다. 사건에 대한 활동 수를 유지하기 위해 생각할 수있는 가장 좋은 방법은 사후/작성 후 변경/사전 삭제에서 실행되는 플러그인을 작성하여 사례 관련 여부를 확인하는 것입니다. , CRM 웹 서비스에 RetrieveMultiple 요청을 보내 부모 케이스에 속한 전체 활동 수를 계산 한 다음 상위 케이스의 사용자 정의 활동 수 필드 (웹 서비스를 통해)를 전체 활동 수로 업데이트합니다.

일단 작업을 완료하면 상위 사례의 활동 수를 사례 워크 플로에서 사용할 수 있습니다. 웹 서비스 호출에는 삭제가 발생하기 전에 동 기적으로 실행해야하므로 특히 삭제시 웹 서비스 호출에 약간의 시간이 걸리기 때문에 성능이 저하됩니다. 아마도 닫힌 활동을 추적하고자하므로 삭제가 자주 발생하지 않을 가능성이 높습니다. 필요에 따라 비동기 적으로 실행되도록 포스트 플러그인을 설정할 수 있으며 직접적인 성능 저하는 볼 수 없지만 비동기 플러그인이 워크 플로와 매우 유사 할 때까지 기다려야합니다. 올바르게 설계된 경우 3 단계 (각 이벤트 당 1 개)로 하나의 플러그인으로 모든 것을 수행 할 수 있습니다.

관련 문제