다음을 통해 공유


작업, 단계 및 단계로 워크플로를 구성하는 방법 구성

이 항목은 Dynamics 365 Customer Engagement (on-premises)에 적용됩니다. 이 항목의 Power Apps 버전은 다음을 참조하십시오. 실시간 워크플로 스테이지 및 단계 구성

워크플로를 구성할 때 고려해야 할 네 가지 주요 영역은 다음과 같습니다.

  • 워크플로를 언제 시작합니까?

  • 실시간 워크플로로 실행해야 합니까 아니면 백그라운드 워크플로로 실행해야 합니까?

  • 어떤 작업을 수행해야 합니까?

  • 어떤 조건에서 작업을 수행해야 합니까?

    워크플로 프로세스 개요 항목은 워크플로 프로세스를 찾는 방법과 워크플로 프로세스를 언제 시작할지와 실시간으로 실행해야 하는지 아니면 백그라운드로 실행해야 하는지에 대해 설명합니다. 이 항목은 워크플로에서 수행할 수 있는 작업과 이러한 작업을 수행하기 위한 조건을 설명합니다.

워크플로 스테이지 및 단계

워크플로를 디자인할 때 스테이지와 단계에서 수행할 논리가 포함된 옵션이 있습니다.

스테이지
스테이지는 워크플로 논리의 가독성을 높이고 워크플로 논리를 설명합니다. 워크플로의 논리 또는 동작에 영향을 주지는 않습니다. 프로세스에 스테이지가 있으면 프로세스 내 모든 단계는 스테이지에 포함되어 있어야 합니다.

단계
단계는 워크플로 내에서 비즈니스 논리의 단위입니다. 단계에는 조건, 작업, 다른 단계 등의 요소나 이러한 요소의 조합이 포함될 수 있습니다.

워크플로 프로세스에서 수행할 수 있는 작업

워크플로 프로세스는 다음 표에 나열된 작업을 수행할 수 있습니다.

작업 설명
레코드 만들기 선택한 엔터티에 대한 새 레코드를 만들고 선택한 값을 특성에 할당합니다.
레코드 업데이트 워크플로가 실행되는 레코드, N:1 관계로 해당 레코드에 연결된 레코드 또는 이전 단계에서 만든 레코드를 업데이트할 수 있습니다.
레코드 할당 워크플로가 실행되는 레코드, N:1 관계로 해당 레코드에 연결된 레코드 또는 이전 단계에서 만든 레코드를 할당할 수 있습니다.
이메일 보내기 이메일을 보냅니다. 새 전자 메일 메시지를 만들도록 선택하거나, 워크플로가 실행되는 레코드의 엔터티, 엔터티와 N:1 관계를 가진 엔터티 또는 이전 단계에서 만든 레코드의 엔터티에 대해 구성된 전자 메일 템플릿을 사용하도록 선택할 수 있습니다.
하위 워크플로 시작 하위 워크플로로 구성된 워크플로 프로세스를 시작합니다.
상태 변경 프로세스가 실행되는 레코드, N:1 관계로 해당 레코드에 연결된 레코드 또는 이전 단계에서 만든 레코드의 상태를 변경할 수 있습니다.
워크플로 중지 현재 워크플로를 중지합니다. 상태를 성공 또는 취소됨으로 설정하고 상태 메시지를 지정할 수 있습니다.

실시간 워크플로가 이벤트에 대해 구성되는 경우 취소됨 상태로 워크플로를 중지하면 이벤트 작업이 완료되지 못하도록 합니다. 자세한 내용은 실시간 워크플로 사용을 참조하십시오.
사용자 지정 단계 개발자는 작업을 정의하는 사용자 지정 워크플로 단계를 만들 수 있습니다. 기본적으로 사용할 수 있는 사용자 지정 단계는 없습니다.

레코드 값 설정

레코드를 만들 때 해당 레코드의 값을 설정할 수 있습니다. 설정할 수 있는 레코드를 업데이트할 때 값을 추가, 증가, 감소, 곱하기 또는 지웁니다.

속성 설정을 선택하면 엔터티에 대한 기본 양식을 보여 주는 대화 상자가 열립니다.

대화 상자 맨 아래에서 양식에 없는 추가 필드 목록을 볼 수 있습니다.

모든 필드에 정적 값을 설정할 수 있으며 워크플로에서 설정됩니다.

대화 상자의 오른쪽에 있는 양식 도우미는 현재 레코드의 컨텍스트에서 동적 값을 설정하거나 추가할 수 있는 기능을 제공합니다. 여기에는 엔터티에 대해 N:1(다대일) 관계에서 액세스할 수 있는 관련 데이터의 값이 포함됩니다.

양식 도우미에서 사용할 수 있는 옵션은 양식에서 선택한 필드에 따라 다릅니다. 동적 값을 설정하면 동적 데이터가 포함된 위치를 표시하는 '동적 필드'라는 노란색 자리 표시자가 표시됩니다. 값을 제거하려면 동적 필드를 선택하고 삭제하면 됩니다. 텍스트 필드의 경우 정적 데이터와 동적 데이터의 조합을 사용할 수 있습니다.

동적 값을 사용하면 필드 또는 관련 엔터티에 설정하려는 값이 있는지 확실하지 않습니다. 실제로 시도할 여러 필드를 설정하고 값을 설정한 후 녹색 화살표를 사용하여 순서대로 정렬할 수 있습니다. 첫 번째 필드에 데이터가 없으면 두 번째 필드를 시도하고 계속 시도합니다. 어떤 필드에도 데이터가 없을 경우 사용할 기본값을 지정할 수 있습니다.

워크플로 작업에 대한 조건 설정

적용되는 작업은 종종 조건에 따라 달라집니다. 워크플로 프로세스는 조건을 설정하는 여러 가지 방법을 제공하고 분기 논리를 만들어 원하는 결과를 가져옵니다. 워크플로 프로세스가 실행되는 레코드, 해당 레코드에 N:1 관계로 연결된 레코드 또는 프로세스 자체 내의 값을 확인할 수 있습니다.

조건 유형 Description
확인 조건 "if-<condition> then" 논리 문입니다.

워크플로가 실행되는 레코드, N:1 관계로 해당 레코드에 연결된 레코드 또는 이전 단계에서 만든 레코드의 현재 값을 확인할 수 있습니다. 이러한 값에 따라 조건이 true일 때 추가 단계를 정의할 수 있습니다.

"if-<condition> then" 문에서 같음, 같지 않음, 데이터 포함, 데이터 포함하지 않음, 이하이상 연산자를 사용할 수 있습니다. 참고: 이하이상은 계층적 연산자입니다. 이러한 연산자는 정의된 계층적 관계가 있는 엔터티에만 사용할 수 있습니다. 정의된 계층적 관계가 없는 엔터티에서 이러한 연산자를 사용하려고 하면 다음과 같은 오류 메시지가 나타납니다. "’정의된 계층적 관계가 없는 엔터티에 계층적 연산자를 사용하고 있습니다. 관계를 계층적으로 만들어 엔터티를 계층적으로 만들거나 다른 연산자를 사용하십시오. 계층적 관계에 대한 자세한 내용은 계층적 데이터 쿼리 및 시각화를 참조하십시오. 표 다음에 나오는 스크린샷은 이하이상 계층적 연산자를 사용하는 워크플로 프로세스의 정의를 보여 주는 예입니다.
조건부 분기 "else-if-then" 논리 문, 편집기는 “Otherwise, if <condition> then:” 텍스트를 사용합니다.

이전에 정의한 확인 조건을 선택하고 확인 조건이 false를 반환하면 추가 단계를 정의하는 조건부 분기를 추가할 수 있습니다.
기본 작업 논리적 "else" 문입니다. 편집기는 "Otherwise:"텍스트를 사용합니다.

이전에 정의한 확인 조건, 조건부 분기, 대기 조건 또는 병렬 대기 분기를 선택하고 기본 작업을 사용하여 조건 또는 분기 요소에 정의된 조건과 일치하지 않는 모든 서비스 케이스의 단계를 정의할 수 있습니다.
대기 조건 해당 조건에 정의된 기준에 부합할 때까지 백그라운드 워크플로를 일시 중지할 수 있도록 합니다. 대기 조건의 기준이 충족되면 워크플로가 자동으로 다시 시작됩니다.

실시간 워크플로는 대기 조건을 사용할 수 없습니다.
병렬 대기 분기 초기 조건이 맞을 경우에만 수행되는 일련의 해당 추가 단계로 백그라운드 워크플로에 대한 대체 대기 조건을 정의합니다. 병렬 대기 분기를 사용하여 워크플로 논리에 시간 제한을 만들 수 있습니다. 이렇게 하면 대기 조건에 정의된 기준에 부합할 때까지 워크플로가 무한히 대기하는 문제가 발생하지 않습니다.
사용자 지정 단계 개발자는 조건을 정의하는 사용자 지정 워크플로 단계를 만들 수 있습니다. 기본적으로 사용할 수 있는 사용자 지정 단계는 없습니다.

다음 스크린샷에는 이하이상 계층적 연산자를 사용하는 워크플로 프로세스 정의에 대한 예가 들어 있습니다. 이 예에서 두 그룹의 거래처에 다른 할인을 적용합니다. 단계 추가에서 확인 조건을 선택하여 이하 또는 이상 연산자가 포함된 if-then 조건을 지정합니다. 첫 번째 if-then 조건은 Alpine Ski House 거래처 이하인 모든 거래처에 적용됩니다. 이러한 거래처는 구매한 상품 및 서비스에 대해 10% 할인 받습니다. 두 번째 if-then 조건은 Alpine Ski House 거래처 이상인 모든 거래처에 적용되며 5% 할인 받습니다. 그런 후 레코드 업데이트를 선택하여 조건에 따라 수행되는 작업을 정의했습니다.

Under/Not Under 연산자를 사용하여 워크플로 프로세스.

실시간 워크플로 사용

실시간 워크플로를 구성할 수 있지만 주의해서 사용해야 합니다. 시스템에서 백그라운드 워크플로를 서버의 리소스로 사용할 수 있으므로 일반적으로 백그라운드 워크플로가 권장됩니다. 이렇게 하면 서버에서 수행해야 하는 작업을 원활하게 수행하고 시스템을 사용하는 모든 사용자에게 최상의 성능을 유지할 수 있습니다. 단점은 백그라운드 워크플로에서 정의한 작업은 즉시 처리되지 않는 다는 것입니다. 언제 적용될지 예측할 수 없지만 일반적으로 몇 분 정도 걸립니다. 대부분의 비즈니스 프로세스 자동화의 경우 시스템을 사용하는 사용자가 프로세스가 실행되는지 끊임 없이 인식하지 않아도 되므로 괜찮습니다.

비즈니스 프로세스에서 프로세스 결과가 바로 필요하거나 작업을 취소할 수 있는 기능이 필요한 경우에는 실시간 워크플로를 사용하십시오. 처음 저장되는 레코드의 특정 기본값을 설정하거나 일부 레코드를 삭제하지 않아야 할 경우를 예로 들 수 있습니다.

실시간 및 백그라운드 워크플로 변환

도구 모음에서 백그라운드 워크플로로 변환을 선택하여 실시간 워크플로를 백그라운드 워크플로로 변경할 수 있습니다.

도구 모음에서 실시간 워크플로로 변환을 선택하여 백그라운드 워크플로를 실시간 워크플로로 변경할 수 있습니다. 백그라운드 워크플로에서 대기 조건을 사용하면 백그라운드 워크플로가 무효화되고 대기 조건을 제거할 때까지 활성화할 수 없습니다.

상태 변경 전후 실시간 워크플로 시작

실시간 워크플로에 자동 프로세스에 대한 옵션을 구성할 경우 상태 변경 이벤트의 시작 시기 옵션을 사용하면 상태 변경 시기로 이후 또는 이전을 선택할 수 있습니다. 기본 옵션은 이후입니다.

이전을 선택하면 상태 변경 데이터가 저장되기 전에 워크플로의 논리가 적용됩니다. 작업 이후 다른 논리가 적용되기 전에 값을 변경할 수 있고 이후 논리가 수행되지 않도록 합니다. 예를 들어 다른 시스템에서 작업을 시작할 수 있는 플러그 인 또는 사용자 지정 워크플로 동작에 추가 논리가 있을 수 있습니다. 이후 프로세스를 중지하면 외부 시스템에 영향을 받는 경우를 방지할 수 있습니다. 이 이벤트 전에 실시간 워크플로를 적용하면 작업이 취소될 때 데이터가 저장된 다른 워크플로 또는 플러그 인 작업을 "롤백"하지 않아도 됩니다.

실시간 워크플로에 워크플로 중지 동작 사용

워크플로에서 워크플로 중지 작업을 적용하면 성공 또는 취소됨 중 하나가 될 수 있는 상태 조건을 지정하는 옵션이 있습니다. 상태를 취소됨으로 설정하면 작업을 막습니다. 정지 동작 상태 메시지의 텍스트가 포함된 머리글이 비즈니스 프로세스 오류인 오류 메시지가 표시됩니다.

참조

프로세스로 사용자 지정 비즈니스 논리 만들기
워크플로 프로세스 개요
워크플로 프로세스 모니터링 및 관리
워크플로 프로세스에 대한 유용한 정보