다음을 통해 공유


비즈니스 프로세스 흐름에 대한 스크립트 작성

 

게시 날짜: 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. 저작권 정보