다음을 통해 공유


사용자 지정 프로세스 작업 만들기

시스템에서 일련의 명령을 자동화하려는 경우 사용자 지정 프로세스 작업을 사용합니다. 사용자 지정 프로세스 작업을 사용하여 개발자가 비즈니스 프로세스를 표현하기 위해 사용할 수 있는 단어를 확장합니다. 사용자 지정 프로세스 작업은 시스템에서 제공되는 만들기, 업데이트, 삭제 및 할당과 같은 핵심 동사를 사용하여 승인, 에스컬레이션, 회람 또는 일정과 같은 더 많은 표현 동사를 만듭니다. 비즈니스 프로세스 정의가 변경되면 개발자가 아닌 사용자가 사용자 지정 프로세스 작업을 편집할 수 있으므로 코드를 변경할 필요가 없습니다.

참고

워크플로 디자이너를 사용하는 대신 사용자 지정 프로세스 작업에 대한 논리를 구현하는 플러그인을 작성하려는 경우 대신 사용자 지정 API를 사용해야 합니다. 추가 정보: 사용자 지정 프로세스 작업과 사용자 지정 API 비교

사용자 지정 프로세스 작업 만들기

중요

배포되는 솔루션의 일부로 포함할 사용자 지정 프로세스 작업을 만들 경우 솔루션의 컨텍스트에서 만듭니다. 설정 > 솔루션으로 이동하고 이 작업이 속하는 관리되지 않는 솔루션을 찾습니다. 그런 다음 메뉴 모음에서 새로 만들기 > 프로세스를 선택합니다. 그러면 작업의 이름에 연결된 사용자 지정 접두사가 솔루션의 다른 구성 요소와 일관됩니다. 작업을 만든 후에는 접두사를 변경할 수 없습니다.

워크플로 프로세스처럼 사용자 지정 프로세스 작업은 프로세스 만들기 대화 상자에 다음과 같은 속성이 있습니다.

  • 프로세스 이름

    프로세스 이름을 입력한 후에 프로세스 이름에서 공백이나 특수 문자를 제거하여 고유한 이름이 만들어집니다.

  • 범주

    이 속성은 작업 프로세스임을 설정합니다. 프로세스를 저장한 후에는 변경할 수 없습니다.

  • 테이블

    작업 프로세스를 사용하면 다른 유형의 프로세스처럼 워크플로의 컨텍스트를 제공하는 테이블을 선택할 수 있지만 없음(전역) 을 선택할 수 있는 옵션도 있습니다. 작업에 특정 테이블의 컨텍스트가 필요하지 않은 경우 이를 사용합니다. 프로세스를 저장한 후에는 변경할 수 없습니다.

  • 타입

    이 속성을 사용하여 처음부터 새 사용자 지정 프로세스 작업을 작성할지 아니면 기존 템플릿에서 시작할지 선택할 수 있습니다.

워크플로 프로세스와 달리 다음 옵션을 설정할 필요는 없습니다.

  • 시작 시기: 코드가 작업에 대해 생성된 메시지를 호출하면 작업이 시작됩니다.

  • 범위: 작업은 호출하는 사용자의 컨텍스트에서 항상 실행됩니다.

  • 백그라운드에서 실행: 작업은 항상 실시간 워크플로입니다.

사용자 지정 프로세스 작업에는 워크플로 프로세스에는 없는 무언가가 있습니다(입력 인수 및 출력 인수).

참고

워크플로에서 코드를 작성하지 않고도 사용자 지정 프로세스 작업을 활성화할 수 있습니다. 추가 정보: 워크플로에서 사용자 지정 프로세스 작업 호출

사용자 지정 프로세스 작업 편집

사용자 지정 프로세스 작업을 편집하려면 먼저 비활성화해야 합니다.

비관리형 솔루션의 일부로 만들어지거나 조직에 설치된 솔루션에 포함된 사용자 지정 프로세스 작업을 편집할 수도 있습니다. 관리형 솔루션인 경우 편집할 수 없습니다. 솔루션 게시자는 관리형 솔루션과 함께 설치된 작업을 편집할 수 없도록 관리형 속성을 편집할 수 있는 옵션이 있습니다.

작업이 저장되면 프로세스 이름에 따라 고유 이름이 생성됩니다. 이 고유 이름에는 솔루션 게시자가 추가한 사용자 지정 접두사가 있습니다. 이 이름은 개발자가 코드에 사용할 메시지의 이름입니다.

작업을 편집할 때 다음과 같은 옵션이 있습니다.

  • 프로세스 이름

    프로세스를 만들고 프로세스 이름에서 고유 이름을 만든 후 프로세스 이름을 편집할 수 있습니다. 특정 프로세스를 찾기 쉽게 명명 규칙을 적용할 수도 있습니다.

  • 고유 이름

    작업이 저장되면 프로세스 이름에 따라 고유 이름이 생성됩니다. 이 고유 이름에는 솔루션 게시자가 추가한 사용자 지정 접두사가 있습니다. 이 이름은 개발자가 코드에 사용할 메시지의 이름입니다. 프로세스가 활성화되고 코드가 이 이름을 사용하여 작업을 호출할 준비가 되어 있다면 이 고유 이름을 변경하지 마십시오.

    중요

    작업이 활성화되고 고유 이름을 사용하도록 코드가 작성된 후 참조하는 코드를 변경하지 않고 고유 이름은 변경되지 않아야 합니다.

  • 롤백 사용

    일반적으로 트랜잭션을 지원하는 프로세스는 작업의 일부가 실패할 경우 전체 작업을 "실행 취소"(또는 롤백)합니다. 다음과 같은 몇 가지 예외가 있습니다. 개발자가 작업으로 시작한 코드에서 수행할 수 있는 일부 사용자 지정 프로세스 작업은 트랜잭션을 지원하지 않을 수 있습니다. 예를 들어 코드가 트랜잭션 범위를 초과하는 다른 시스템에서 작업을 수행합니다. 이 경우 앱에서 실행 중인 작업으로 롤백할 수 없습니다. 플랫폼의 일부 메시지가 트랜잭션을 지원하지 않습니다. 하지만 작업의 사용자 인터페이스로 할 수 있는 모든 것은 트랜잭션을 지원합니다. 실시간 워크플로의 일부가 되는 모든 작업은 트랜잭션에서 고려되지만 작업을 사용하면 이 선택을 취소하는 옵션이 있습니다.

    이 메시지를 사용하여 트랜잭션에 있어야 하는지 아닌지를 결정하는 개발자에게 문의해야 합니다. 일반적으로 작업은 비즈니스 프로세스에서 수행되는 모든 작업이 성공적으로 완료되어야 하는 경우 트랜잭션에 있어야 합니다. 전형적인 예로는 두 은행 계좌 간 자금 전송이 있습니다. 한 계좌에서 자금을 인출할 경우 다른 계좌에 입금해야 합니다. 둘 중 하나가 실패하면 둘 다 실패합니다.

    참고

    사용자 지정 프로세스 작업을 워크플로 내에서 직접 호출할 경우 롤백을 사용할 수 없습니다. 작업이 Power Apps 웹 서비스 메시지에 의해 트리거되는 경우 롤백이 가능합니다.

  • 활성화 형식

    모든 프로세스와 마찬가지로 프로세스를 템플릿으로 활성화하고 유사한 패턴을 따르는 프로세스의 향상된 시작 지점으로 사용할 수 있습니다.

  • 프로세스 인수 정의

    이 영역에서는 작업을 시작해야 하는 데이터와 작업에서 배포해야 하는 데이터를 지정합니다. 추가 정보: 프로세스 인수 정의

  • 스테이지 및 단계 추가

    다른 프로세스와 마찬가지로 수행할 작업과 시기를 지정합니다. 추가 정보: 스테이지 및 단계 추가

프로세스 인수 정의

개발자가 메시지를 사용할 때 메시지로 전달할 수 있는 일부 데이터로 시작할 수 있습니다. 예를 들어 새 케이스 행을 만들 경우, 입력 인수로 전달되는 케이스 제목 값이 있을 수 있습니다.

메시지가 완료되면 개발자는 메시지에서 변경되거나 생성된 일부 데이터를 코드의 다른 작업에 전달해야 할 수도 있습니다. 이 데이터는 출력 인수입니다.

입력 인수와 출력 인수 둘 다에 이름, 유형 및 인수가 항상 필요한지 여부에 대한 정보가 있어야 합니다. 설명을 제공할 수도 있습니다.

메시지 이름과 모든 프로세스 인수에 대한 정보는 메시지에 대한 서명을 나타냅니다. 사용자 지정 프로세스 작업이 활성화되고 코드에서 사용된 후에는 서명을 변경할 수 없습니다. 이 서명이 변경되면 해당 메시지를 사용하는 코드를 사용할 수 없습니다. 유일한 예외는 항상 필요한 것은 아닌 매개 변수 중 하나를 변경하는 것입니다.

인수는 순서가 아닌 이름으로 식별되므로 아래 또는 위로 정렬하여 인수 순서를 변경할 수 있습니다. 또한 설명을 변경하면 해당 메시지를 사용하는 코드가 중단되지 않습니다.

작업 프로세스 인수 유형

다음 표는 작업 프로세스 인수 유형에 대해 설명합니다.

타입 설명
Boolean true 또는 false 값입니다.
날짜/시간 날짜와 시간 정보를 저장하는 값입니다.
10진수 소수점 정밀도의 숫자 값입니다. 정밀도가 매우 중요할 경우 사용됩니다.
테이블 지정된 테이블에 대한 행입니다. 테이블을 선택하면 드롭다운 목록이 활성화되고 테이블 유형을 선택할 수 있습니다.
entityCollection 테이블 행의 컬렉션입니다.
entityReference 고유하게 식별하는 테이블 행의 이름, ID 및 유형이 포함된 개체입니다. entityReference를 선택하면 드롭다운 목록이 활성화되고 테이블 유형을 선택할 수 있습니다.
Float 소수점 정밀도의 숫자 값입니다. 정확하지 않은 측정값에서 데이터를 가져올 때 사용됩니다.
Integer 정수입니다.
금액 금액에 대한 데이터를 저장하는 값입니다.
선택 목록 OptionSet 특성에 대한 옵션을 나타내는 값입니다.
String 텍스트 값입니다.

참고

entityCollection 인수 값은 조건 또는 작업의 사용자 인터페이스에 설정할 수 없습니다. 개발자가 사용자 지정 코드에서 사용하도록 제공됩니다. 추가 정보: 고유한 메시지 만들기

스테이지 및 단계 추가

사용자 지정 프로세스 작업은 실시간 워크플로와 매우 유사한 프로세스 유형입니다. 실시간 워크플로로 사용할 수 있는 모든 단계는 작업에서 사용할 수 있습니다. 실시간 워크플로 및 작업에 모두 사용할 수 있는 단계에 대한 자세한 내용은 워크플로 스테이지 및 단계를 참조하십시오.

실시간 워크플로에 사용할 수 있는 단계 외에도 작업에는 값 할당 단계가 있습니다. 또한 출력 인수를 설정하는 데만 사용할 수 있습니다. 양식 도우미를 사용하여 출력 인수를 특정 값, 작업이 실행되는 행의 값, 다대일 관계가 있는 행과 관련된 행, 이전 단계에서 만든 행, 프로세스 자체의 일부인 값으로 설정할 수 있습니다.

관리 속성

사용자 지정 프로세스 작업에는 두 가지 관련 관리 속성이 있습니다

사용자 지정 가능

사용자 지정 가능 관리 속성은 사용자 지정 프로세스 작업이 포함된 관리형 솔루션을 설치한 사람이 이를 편집하거나 삭제할 수 있는지 여부를 제어합니다. 관리형 솔루션에 포함될 때 사용자 지정 프로세스 작업을 편집하거나 삭제하려면 이 속성을 참으로 설정해야 합니다.

다른 게시자에게 사용자 지정 처리 단계가 허용되나요

다른 게시자에게 사용자 지정 처리 단계가 허용되나요 관리 속성은 타사 플러그인 개발자가 사용자 지정 프로세스 작업에 의해 생성된 메시지에 플러그인 단계를 등록 할 수 있는지 여부를 제어합니다. 이것이 참이면 이 메시지에 등록된 모든 플러그인이 실행되고 사용자 정의 프로세스 작업의 동작을 수정할 수 있습니다. 거짓이면 동일한 솔루션 게시자의 솔루션 내에 등록된 플러그인 단계만 실행됩니다.

다음 단계

워크플로에서 사용자 지정 프로세스 작업 호출

참고

귀사의 설명서 언어 기본 설정에 대해 말씀해 주시겠습니까? 간단한 설문 조사에 응해주세요. (이 설문 조사는 영어로 되어 있습니다.)

이 설문 조사는 약 7분 정도 걸립니다. 개인 데이터는 수집되지 않습니다(개인정보처리방침).