프로세스를 통해 사용자 지정 비즈니스 논리 만들기Create custom business logic through processes

비즈니스 프로세스를 정의하고 일관되게 유지하는 것은 사람들이 모바일 기반 앱을 사용하는 주요 이유 중 하나입니다.Defining and enforcing consistent business processes is one of the main reasons people use model-driven apps. 일관된 프로세스를 사용하면 시스템을 사용하는 사용자가 기계적인 단계들을 수행하기 위해 기억할 필요 없이 작업에 집중할 수 있습니다.Consistent processes help make sure people using the system can focus on their work and not on remembering to perform a set of manual steps. 프로세스는 간단하거나 복잡할 수 있으며 시간이 지남에 따라 변경될 수 있습니다.Processes can be simple or complex and can change over time.

Power Apps에는 여러 유형의 프로세스가 있고, 각각은 다른 목적을 위해 설계되었습니다.Power Apps includes several types of processes, each designed for a different purpose:

  • 비즈니스 프로세스 흐름Business process flows

  • 모바일 작업 흐름Mobile task flows

  • 워크플로Workflows

  • 작업Actions

프로세스와 마찬가지로 비즈니스 규칙과 권장 사항도 만들 수 있습니다.Similar to processes, you can also create business rules and recommendations. 자세한 내용은 비즈니스 규칙 및 권장 사항을 만들어 양식에서 논리 적용을 참조하세요.For more information, see Create business rules and recommendations to apply logic in a form

참고

프로세스를 사용하면 Power Apps 및 흐름에 대한 라이선스 요구 사항에 영향을 줄 수 있습니다.Using processes can impact the license requirements for Power Apps and flows. 자세한 내용은 엔터티 라이선스 요구 사항을 참조하세요.For more information, see Entity license requirements.

비즈니스 프로세스 흐름을 사용하는 경우When to use business process flows

직원이 동일한 스테이지를 통해 이동하고, 동일한 단계에 따라 고객을 상대하도록 할 경우 비즈니스 프로세스 흐름을 사용합니다.Use a business process flow when you want staff to move through the same stages and follow the same steps to interact with a customer. 예를 들어 모든 직원이 고객 서비스 요청을 동일한 방식으로 처리하도록 하거나, 주문을 제출하기 전에 송장 승인을 얻도록 할 경우 비즈니스 프로세스 흐름을 사용합니다.For example, use a business process flow if you want everyone to handle customer service requests the same way, or to require staff to gain approval for an invoice before submitting an order.

사용자 환경에는 일반적인 영업, 서비스 및 마케팅 작업에 바로 사용 가능한 비즈니스 프로세스 흐름이 여러 개 포함되어 있으며, 거의 또는 전혀 변경할 필요 없이 사용할 수 있습니다.Your environment includes several ready-to-use business process flows for common sales, service, and marketing tasks that you can use with little or no changes required. 또는 사용자 고유의 흐름을 만들 수 있습니다.Or, you can create your own. 비즈니스 프로세스 흐름에 대한 자세한 내용은 다음 항목을 참조하세요.See the following topic for more information on business process flows:

워크플로 사용 시기When to use workflows

워크플로를 사용하여 비즈니스 프로세스를 자동화할 수 있습니다.Use workflows to automate business processes behind the scenes. 일반적으로 워크플로는 시스템 이벤트에 의해 시작되므로 사용자가 실행할 필요가 없습니다.Workflows are typically initiated by system events so the user doesn't need to be aware that they are running. 백그라운드에서 작동하는 워크플로는 "비동기"입니다.Workflows that operate in the background are "asynchronous." 수동으로 시작하는 사람에 대해 워크플로를 구성할 수도 있습니다.Workflows can also be configured for people to manually initiate them. 주문이 운송되면 고객에게 확인 전자 메일을 자동으로 보내는 것과 같이 일반적인 작업을 자동화할 경우 사용합니다.when you want to automate common tasks, such as automatically sending a confirmation email to a customer when an order ships. 실시간으로 작동하는 워크플로는 "동기"입니다.Workflows that operate in real time are "synchronous." 워크플로에 대한 자세한 내용은 워크플로 프로세스를 참조하십시오.For more information on workflows, see Workflow processes

작업을 사용하는 경우When to use Actions

시스템에서 일련의 명령을 자동화할 경우 작업을 사용합니다.Use Actions when you want to automate a series of commands in the system. 작업을 사용하여 개발자가 비즈니스 프로세스를 표현하기 위해 사용할 수 있는 단어를 확장합니다.Actions expand the vocabulary available for developers to express business processes. 시스템에서 제공되는 Create, Update, Delete 및 Assign과 같은 핵심 동사를 사용할 경우 작업은 이러한 핵심 동사를 사용하여 Approve, Escalate, Route 또는 Schedule과 같은 더 많은 표현 동사를 만듭니다.With core verbs like Create, Update, Delete, and Assign provided by the system, a Action uses those core verbs to create more expressive verbs like Approve, Escalate, Route, or Schedule. 비즈니스 프로세스 정의가 변경되면 개발자가 아닌 사용자가 작업을 편집할 수 있으므로 코드를 변경할 필요가 없습니다.If the definition of a business process changes, someone who isn’t a developer can edit the Action so the code doesn’t need to be changed. 작업에 대한 자세한 내용은 작업을 참조하세요.For more information on Actions, see Actions

Power Automate를 사용하는 경우When to use Power Automate

Dynamics 365, Twitter, Dropbox, Google services, Office 365 및 SharePoint 등 사용자 환경과 즐겨 찾는 앱 또는 서비스 간에 작업을 수행하는 자동화된 워크플로를 만들어야 할 경우 Power Automate를 사용합니다.Use Power Automate when you need to create automated workflows that perform actions between your environment and favorite app or service, such as Dynamics 365, Twitter, Dropbox, Google services, Office 365, and SharePoint. 특정 작업을 기준으로 흐름을 트리거하거나 앱 내에서 호출할 수 있습니다.You can trigger a flow based on a specific action, or invoke from within your app. 추가 정보: Power Automate를 사용하여 서비스 간 프로세스 자동화More information: Use Power Automate to automate processes across services

프로세스를 만들려면 어디로 이동하나요?Where do I go to create processes?

프로세스를 탐색하는 다음 두 가지 경로가 있습니다.There are two paths to navigate to processes:

  • 솔루션 탐색기를 열고 구성 요소 > 프로세스로 이동합니다.Open solution explorer and go to Components > Processes. 이 경로는 사용자 지정 도구에서 다른 사용자 지정 작업을 수행할 때 편리한 액세스를 제공합니다.This path provides convenient access when you are doing other customization work in the customization tools.

  • 설정 > 프로세스.Settings > Processes. 이 경로에서는 사용자 지정 보기를 포함하여 프로세스 엔터티에 대해 정의된 보기를 사용할 수 있습니다.This path allows you to use views defined for the Process entity, including any custom views.

개별 비즈니스 프로세스 흐름은 비즈니스 프로세스 흐름이 활성 상태인 양식의 명령 모음에서 프로세스 편집 단추를 사용하여 편집할 수 있습니다.Individual business process flows can also be edited using the Edit Process button in the command bar for the form where the business process flow is active.

프로세스를 만들 수 있는 사람은 누구입니까?Who can create processes?

시스템 관리자, 시스템 사용자 지정자 또는 CEO 비즈니스 관리자 보안 역할이 있는 사용자만 전체 환경에 적용되는 프로세스를 만들 수 있습니다.Only people with the System Administrator, System Customizer, or CEO-Business Manager security role can create processes that apply to the whole environment. 다른 역할이 있는 사용자는 제한된 액세스 수준으로 프로세스를 만들 수 있습니다.People with other roles can create processes with limited access level. 예를 들어 사용자 액세스 수준을 가진 사용자는 사용자가 소유한 레코드를 사용하여 자신만의 워크플로를 만들 수 있습니다.For example, people with the User access level can create workflows for their own use with records they own.

다음 표는 기본 보안 역할에 따른 액세스 수준을 보여 줍니다.The following table shows the access level of processes based on default security roles.

보안 역할Security role 액세스 수준Access level
CEO-비즈니스 관리자CEO-Business Manager 조직Organization
시스템 관리자System Administrator 조직Organization
시스템 커스트마이저System Customizer 조직Organization
마케팅 담당 부사장Vice President of Marketing 상위 및 하위 사업부 모두 포함Parent: Child Business Units
영업부 부서장Vice President of Sales 상위 및 하위 사업부 모두 포함Parent: Child Business Units
서비스 관리자Service Manager 사업부Business Unit
마케팅 관리자Marketing Manager 사업부Business Unit
영업 관리자Sales Manager 사업부Business Unit
일정 관리자Schedule Manager 사업부Business Unit
고객 서비스 담당자Customer Service Representative 사용자User
마케팅 전문가Marketing Professional 사용자User
영업 직원Salesperson 사용자User
공정 관리자Scheduler 사용자User

참고

사용자는 비즈니스 프로세스 흐름, 실시간 워크플로 또는 작업 프로세스를 만들 수 있지만 이를 활성화하려면 비즈니스 프로세스 흐름 활성화 또는 실시간 프로세스 활성화 권한이 있어야 합니다.While people may be able to create business process flow, real-time workflow, or action processes, they’ll need to have the Activate Business Process Flows or Activate Real-time Processes privileges to activate them.

워크플로 및 작업에 대한 자세한 내용More about workflows and Actions

프로세스는 조건을 확인하고, 분기 논리를 적용하고, 작업을 수행할 수 있습니다.Processes can check conditions, apply branching logic, and perform actions. 일련의 단계에서 이러한 작업을 수행합니다.They perform these actions in a series of steps. 다음 표는 워크플로 및 작업 프로세스에서 사용 가능한 단계에 대해 설명합니다.The following table describes the available steps in workflow and action processes. 자세한 내용은 각 프로세스 유형의 항목을 참조하십시오.For more detail see the topics for each type of process.

단계Step 프로세스 유형Process type 설명Description
스테이지Stage 워크플로, 작업Workflow, Action 스테이지는 워크플로 논리의 가독성을 높이고 워크플로 논리를 설명합니다.Stages make the workflow logic easier to read, and explain the workflow logic. 하지만 스테이지는 워크플로의 논리 또는 동작에 영향을 주지는 않습니다.However, stages don’t affect the logic or behavior of workflows. 프로세스에 스테이지가 있으면 프로세스의 모든 단계는 스테이지에 포함되어 있어야 합니다.If a process has stages, all the steps in the process must be contained with a stage.
확인 조건Check Condition 워크플로, 작업Workflow, Action "if-<condition> then" 논리 문입니다.A logical "if-<condition> then" statement.

워크플로가 실행되는 레코드, N:1 관계로 해당 레코드에 연결된 레코드 또는 이전 단계에서 만든 레코드의 값을 확인할 수 있습니다.You can check values for the record that the workflow is running on, any of the records linked to that record in an N:1 relationship, or any records created by earlier steps. 이러한 값에 따라 조건이 true일 때 추가 단계를 정의할 수 있습니다.Based on these values you can define additional steps when the condition is true.
조건부 분기Conditional Branch 워크플로, 작업Workflow, Action "else-if-then" 논리 문, 편집기는 “Otherwise, if <condition> then:” 텍스트를 사용합니다.A logical "else-if-then" statement, the editor uses the text “Otherwise, if <condition> then:”

이전에 정의한 확인 조건을 선택하고 확인 조건이 false를 반환하면 추가 단계를 정의하는 조건부 분기를 추가할 수 있습니다.Select a check condition you have previously defined and you can add a conditional branch to define additional steps when the check condition returns false.
기본 작업Default Action 워크플로, 작업Workflow, Action 논리적 "else" 문입니다.A logical "else" statement. 편집기는 "Otherwise:"텍스트를 사용합니다.the editor uses the text “Otherwise:”

이전에 정의한 확인 조건, 조건부 분기, 대기 조건 또는 병렬 대기 분기를 선택하고 기본 작업을 사용하여 조건 또는 분기 요소에 정의된 조건과 일치하지 않는 모든 서비스 케이스의 단계를 정의할 수 있습니다.Select a check condition, conditional branch, wait condition, or parallel wait branch that you have previously defined and you can use a default action to define steps for all cases that don’t match the criteria defined in condition or branch elements.
대기 조건Wait Condition 백그라운드 워크플로만Background Workflow Only 해당 조건에 정의된 기준에 부합할 때까지 백그라운드 워크플로를 일시 중지할 수 있도록 합니다.Enables a background workflow to pause itself until the criteria defined by the condition have been met. 대기 조건의 기준이 충족되면 워크플로가 자동으로 다시 시작됩니다.The workflow starts again automatically when the criteria in the wait condition have been met.
병렬 대기 분기Parallel Wait Branch 백그라운드 워크플로만Background Workflow Only 초기 조건이 맞을 경우에만 수행되는 일련의 해당 추가 단계로 백그라운드 워크플로에 대한 대체 대기 조건을 정의합니다.Defines an alternative wait condition for a background workflow with a corresponding set of additional steps that are performed only when the initial criterion is met. 병렬 대기 분기를 사용하여 워크플로 논리에 시간 제한을 만들 수 있습니다.You can use parallel wait branches to create time limits in your workflow logic. 이렇게 하면 대기 조건에 정의된 기준에 부합할 때까지 워크플로가 무한히 대기하는 문제가 발생하지 않습니다.They help prevent the workflow from waiting indefinitely until the criteria defined in a wait condition have been met.
값 할당Assign Value 작업Action 프로세스에서 값을 변수 또는 출력 매개 변수로 설정합니다.Sets a value to a variable or output parameter in the process.
레코드 만들기Create Record 워크플로, 작업Workflow, Action 엔터티에 대한 새 레코드를 만들고 특성에 값을 할당합니다.Creates a new record for an entity and assigns values to attributes.
레코드 업데이트Update Record 워크플로, 작업Workflow, Action 워크플로가 실행되는 레코드, N:1 관계로 해당 레코드에 연결된 레코드 또는 이전 단계에서 만든 레코드를 업데이트할 수 있습니다.You can update the record that the workflow is running on, any of the records linked to that record in an N:1 relationship, or any records created by earlier steps.
레코드 할당Assign Record 워크플로, 작업Workflow, Action 워크플로가 실행되는 레코드, N:1 관계로 해당 레코드에 연결된 레코드 또는 이전 단계에서 만든 레코드를 할당할 수 있습니다.You can assign the record that the workflow is running on, any of the records linked to that record with an N:1 relationship, or any records created by earlier steps.
전자 메일 보내기Send Email 워크플로, 작업Workflow, Action 전자 메일을 보냅니다.Sends an email. 새 전자 메일 메시지를 만들도록 선택하거나, 워크플로가 실행되는 레코드의 엔터티, 엔터티와 N:1 관계를 가진 엔터티 또는 이전 단계에서 만든 레코드의 엔터티에 대해 구성된 전자 메일 템플릿을 사용하도록 선택할 수 있습니다.You can choose to create a new email message or use an email template configured for the entity of the record that the workflow is running on or any entities that have an N:1 relationship with the entity, or the entity for any records created by earlier steps.
하위 워크플로 시작Start Child Workflow 워크플로, 작업Workflow, Action 하위 워크플로로 구성된 워크플로 프로세스를 시작합니다.Starts a workflow process that has been configured as a child workflow.
상태 변경Change Status 워크플로, 작업Workflow, Action 프로세스가 실행되는 레코드, N:1 관계로 해당 레코드에 연결된 레코드 또는 이전 단계에서 만든 레코드의 상태를 변경할 수 있습니다.Changes the status of the record that the process is running on, any of the records linked to that record with an N:1 relationship, or any records created by earlier steps.
워크플로 중지Stop Workflow 워크플로, 작업Workflow, Action 현재 워크플로 또는 작업을 중지합니다.Stops the current workflow or action. 상태를 성공 또는 취소됨으로 설정하고 상태 메시지를 지정할 수 있습니다.You can set a status of either Succeeded or Canceled and specify a status message.
사용자 지정 단계Custom Step 워크플로, 작업Workflow, Action 기본 제공되는 논리 요소를 확장할 수 있습니다.Provides extensions to the logical elements available by default. 단계에는 조건, 작업, 다른 단계 등의 요소나 이러한 요소의 조합이 포함될 수 있습니다.Steps can include conditions, actions, other steps, or a combination of these elements. 개발자는 사용자 지정 워크플로 단계를 만들 수 있습니다.Developers can create custom workflow steps. 기본적으로 사용 가능한 사용자 지정 단계는 없습니다.By default, there are no custom steps available.