비즈니스 프로세스 흐름에 대한 스크립트 작성
게시 날짜: 2017년 1월
적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
이 Microsoft Dynamics 365(온라인 및 온-프레미스)에는 스크립트에서 비즈니스 프로세스 흐름과 상호 작용하는 데 사용할 수 있는 클라이언트 쪽 개체가 있습니다.Xrm.Page.data 네임스페이스는 Xrm.Page.data.process 아래 메서드를 포함하도록 확장됩니다.Xrm.Page.ui 네임스페이스는 Xrm.Page.ui.process 아래 메서드를 포함하도록 확장됩니다.
이 항목의 내용
비즈니스 프로세스 흐름의 구조
자동화할 수 있는 작업
비즈니스 프로세스 흐름용 이벤트
비즈니스 프로세스 흐름의 구조
비즈니스 프로세스 흐름은 각각 많은 단계를 포함하는 일련의 스테이지로 구성됩니다. 한 스테이지만 활성 스테이지입니다. 각 스테이지에 필요한 단계가 완료되면 프로세스는 다음 스테이지로 이동할 수 있으며 활성 스테이지가 됩니다. 다음 다이어그램에 나와 있는 대로 비즈니스 프로세스 흐름의 조건을 기준으로 어떤 스테이지가 다음 스테이지인지 정의할 수 있습니다.
스테이지는 특정 관련 엔터티에 연결할 수 있으므로 비즈니스 프로세스 흐름은 여러 엔터티에 걸쳐 있을 수 있습니다. 비즈니스 프로세스는 동일하게 유지되며 원하는 결론으로 사용자를 안내합니다.
Dynamics 365용 2016년 12월 업데이트(온라인 및 온-프레미스)부터 다양한 비즈니스 프로세스 흐름 정의를 다양한 역할에 연결할 수 있으며 동일한 엔터티 레코드에 대한 인스턴스를 동시에 실행할 수 있습니다. 사용자가 동시 비즈니스 프로세스 인스턴스 사이를 전환하고 프로세스의 현재 스테이지에서 작업을 다시 시작할 수 있습니다.
추가 정보:TechNet: 비즈니스 프로세스 흐름
자동화할 수 있는 작업
일반적으로 비즈니스 프로세스의 처리는 사용자 입력에 따라 다릅니다. 개발자는 양식 스크립트에서 동일한 작업을 프로그래밍 방식으로 수행할 수 있습니다.
엔터티에 대한 사용 가능한 둘 이상의 프로세스가 있을 때 프로세스를 변경합니다.
Xrm.Page.data.process.getEnabledProcesses를 사용하여 사용자가 엔터티에 대해 선택할 수 있는 활성화된 프로세스에 대한 정보를 검색합니다. 그 다음 Xrm.Page.data.process.setActiveProcess를 사용하여 사용하도록 설정된 프로세스 인스턴스 중 하나를 활성으로 설정하거나 새 프로세스 인스턴스를 만듭니다.엔터티 레코드에 대한 프로세스 인스턴스 변경
getProcessInstances를 사용하여 엔터티 레코드에 대한 모든 프로세스 인스턴스 정보를 검색하고 setActiveProcessInstance를 사용하여 프로세스 인스턴스를 활성 인스턴스로 설정합니다.모든 필요한 단계가 완료되면 다음 스테이지로 이동하여 현재 활성 스테이지로 만듭니다.
Xrm.Page.data.process.moveNext 사용이전 스테이지로 이동하여 현재 활성 스테이지로 만듭니다.
Xrm.Page.data.process.movePrevious 사용스테이지를 선택하여 스테이지에서 단계의 상태를 봅니다.
Xrm.Page.data.process.getActivePath를 사용하여 완료된 스테이지, 현재 활성 스테이지 및 현재 활성 스테이지에서 사용할 수 있는 유효한 스테이지에 대한 정보를 검색합니다. 해당 스테이지에 포함된 단계를 검토하고 해당 양식 특성 값을 비교하여 완료되었는지 여부를 확인합니다.단계 완료
양식의 해당 데이터가 입력되면 단계가 완료됩니다. 단계 getAttribute 메서드를 사용하여 특성을 확인할 수 있습니다. 특성의 논리 이름을 반환합니다. 그런 다음 Xrm.Page.getAttribute를 사용하여 Xrm.Page.data.entity.attributes 컬렉션의 특성을 검색한 다음 특성 6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_setValue 메서드를 사용하여 값을 설정합니다.단계가 필요한지 여부 감지
단계 isRequired 메서드를 사용하여 비즈니스 프로세스 흐름에 단계가 필요한지 확인합니다.비즈니스 프로세스 흐름 컨트롤 확장 또는 축소
Xrm.Page.ui.process.setDisplayState 사용유효환 완료된 스테이지로 건너뜁니다.
Xrm.Page.data.process.setActiveStage를 사용하여 현재 엔터티에 대한 유효한 완료된 스테이지를 하나 설정합니다.
사용자가 수행할 수 없지만 개발자로서 수행할 수 있는 것도 있습니다.
프로세스 컨트롤 숨기기
Xrm.Page.ui.process.setVisible를 사용하여 비즈니스 프로세스 흐름 컨트롤을 표시할지 여부를 제어할 수 있습니다.현재 표시되지 않은 스테이지를 포함하여 프로세스 정의 쿼리
Xrm.Page.data.process.getActiveProcess를 사용하여 프로세스의 분기 논리로 인해 표시할 수 없는 스테이지를 포함하여 비즈니스 프로세스 흐름의 정의를 쿼리합니다.
비즈니스 프로세스 흐름용 이벤트
비즈니스 프로세스 흐름이 있는 양식에서 제공되는 모든 이벤트와 상호 작용할 수 있지만 다음의 새 이벤트를 사용하면 비즈니스 프로세스 흐름 컨트롤에 대한 이벤트만을 기반으로 코드를 실행할 수 있습니다.
비즈니스 프로세스 흐름의 활성 스테이지를 변경하거나(d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange) 스테이지를 선택(d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected)할 때 코드를 실행할 수 있습니다.
비즈니스 프로세스 흐름 인스턴스의 상태가 변경될 때 코드를 실행할 수 있습니다(d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnProcessStatusChange). 비즈니스 프로세스 흐름 인스턴스의 상태는 Active, Finished, Aborted 중 하나입니다.
이러한 새 이벤트는 이벤트 처리기를 등록하는 사용자 인터페이스를 제공하지 않습니다. 제공된 메서드를 사용하여 양식 OnLoad 이벤트에서 이러한 이벤트에 대한 처리기를 추가하거나 제거해야 합니다.추가 정보:f451f339-bcee-4260-9904-abc8c0efa153#BKMK_BPFControl
참고 항목
Xrm.Page 개체 모델 사용
Xrm.Page.data.process(클라이언트 쪽 참조)
샘플: Xrm.Page.data.process.getEnabledProcesses
샘플: Xrm.Page.data.process.getActivePath
f451f339-bcee-4260-9904-abc8c0efa153#BKMK_BPFControl
TechNet: 비즈니스 프로세스 흐름
Microsoft Dynamics 365
© 2017 Microsoft. All rights reserved. 저작권 정보