수색…


비고

승인 프로세스는 Salesforce에서 비즈니스 프로세스를 자동화하는 매우 놀라운 기능입니다. 승인 프로세스는 특정 레코드가 승인자 또는 승인자 세트에 의해 승인 또는 거부되는 데 필요한 일련의 단계입니다.

단계는 프로세스에 포함 된 모든 레코드에 적용하거나 특정 관리자가 정의한 기준을 충족시키는 레코드에만 적용 할 수 있습니다. 승인 프로세스는 또한 승인을 위해 레코드가 승인, 거부, 회수 또는 처음 제출되었을 때 취할 조치를 지정합니다.

ProcessDefinition 및 ProcessNode 객체는 템플리트의 역할을하며 승인 프로세스 자체에 대한 마스터 구성을 저장합니다.

여기에 이미지 설명을 입력하십시오.

프로세스 정의

단일 승인 프로세스의 정의를 나타냅니다. 이 개체를 사용하여 승인 프로세스에 대한 설명을 읽습니다. 정의는 읽기 전용입니다. ProcessDefinition Object에서 생성 된 레코드는 수정할 수 없습니다. 그러나 승인 프로세스 정보를 설명하고, 쿼리하고, 검색하고 검색 할 수 있습니다.

~ 쿼리 ~

SELECT CreatedById,CreatedDate,Description,DeveloperName,LastModifiedById,
LastModifiedDate,LockType,Name,State,SystemModstamp,TableEnumOrId,Type,Id
FROM ProcessDefinition

Salesforce의 승인 프로세스 사용자 인터페이스를 사용하여 새 승인 프로세스를 만들 때 레코드가 생성됩니다.

ProcessNode

특정 승인 프로세스 (ProcessDefinition)에 대해 생성 된 프로세스 단계를 나타냅니다. 이 오브젝트는 프로세스 단계에 대한 설명을 읽는 데 사용됩니다. 간단히 말해서 ProcessNode 레코드는 프로세스 정의의 단계를 설명합니다. 승인 프로세스 단계를 설명하고, 쿼리하고, 검색하고 검색 할 수 있습니다.

~ 쿼리 ~

SELECT Description,DeveloperName,Name,ProcessDefinitionId,SystemModstamp
,Id,FROM ProcessNode

우리가 볼 수 있듯이 ProcessDefinitionId 필드는 단계 나 프로세스 노드가 생성되는 ProcessDefinition Object 또는 Table을 참조하는 외래 키처럼 작동합니다. 이 개체는 ProcessDefinition 개체로만 읽혀집니다.

ProcessInstance

단일, 완전한 승인 프로세스의 인스턴스를 나타냅니다. ProcessInstance 레코드는 승인을 위해 제출 된 특정 개체 레코드에 대해 항상 만들어집니다. 그것도 읽기 전용 개체입니다. 승인 프로세스 인스턴스를 설명하고 쿼리하고 검색 할 수 있습니다.

~ 쿼리 ~

SELECT CompletedDate,CreatedById,CreatedDate,ElapsedTimeInDays,
ElapsedTimeInHours,ElapsedTimeInMinutes,Id,IsDeleted,LastActorId,
LastModifiedById,LastModifiedDate,ProcessDefinitionId,Status,
SubmittedById,SystemModstamp,TargetObjectId FROM ProcessInstance

모든 ProcessInstance 필드는 승인 프로세스 인스턴스가 완료된 후에 만 ​​채워지는 CompletedDate 및 LastActorId라는 두 가지 예외 필드가있는 레코드가 승인을 위해 제출되면 자동으로 채워집니다. ProcessDefinitionId 필드는 ProcessDefinition 오브젝트의 참조 또는 외부 키 ID입니다.

ProcessInstanceStep 및 ProcessInstanceWorkitem

두 개체 ProcessInstanceStep 및 ProcessInstanceWorkItem은 특정 ProcessInstance에 대해 만들어진 프로세스 단계의 인스턴스입니다. ProcessInstanceStep은 사용자가 이미 수행 한 승인 프로세스 (ProcessInstance)의 단계 인스턴스를 나타내며 ProcessInstanceWorkItem은 승인 프로세스 (ProcessInstance)의 보류중인 단계 인스턴스를 나타내며 사용자는 다음 단계에서 수행해야합니다. 승인 프로세스 단계 및 작업 항목을 설명하고 쿼리하고 검색 할 수 있습니다.

~ 쿼리 ~

SELECT CreatedById,CreatedDate,ElapsedTimeInDays,ElapsedTimeInHours,
ElapsedTimeInMinutes,Id,IsDeleted,OriginalActorId,ProcessInstanceId,
ActorId,SystemModstamp FROM ProcessInstanceWorkitem 

SELECT ActorId,Comments,CreatedById,CreatedDate,ElapsedTimeInDays,Id, 
ElapsedTimeInHours,ElapsedTimeInMinutes,OriginalActorId,ProcessInstanceId
,StepNodeId,StepStatus,SystemModstamp FROM ProcessInstanceStep

ProcessInstanceHistory *

ProcessInstanceHistory 는 검색 가능도 쿼리도 할 수없는 개체이며 승인 프로세스 (ProcessInstance)와 관련된 모든 단계와 승인 보류 요청을 표시하는 읽기 전용 개체입니다. 그러나 우리는이 객체를 사용하여 Salesforce 사용자 인터페이스의 관련 목록 기능을 복제하여 곧 내 다음 블로그 게시물에 표시 될 승인 프로세스에 사용할 수 있습니다. 우리는 ProcessInstanceStep과 ProcessInstanceWorkitem 개체의 단일 읽기 전용보기에 대해 ProcessInstanceHistory를 사용할 수 있습니다. ProcessInstanceHistory는 상위 ProcessInstance 개체의 중첩 된 soql 쿼리에서 쿼리하여 쿼리 할 수 ​​있습니다. 중첩 된 soql 쿼리는 ProcessInstance 개체의 ProcessInstanceHistory에 대한 자식 관계 이름 인 StepsAndWorkitems를 참조합니다. 이것은 다양한 비즈니스 문제를 해결하는 데 매우 유용한 객체입니다.

~ 쿼리 ~

SELECT CompletedDate, CreatedById, CreatedDate,Id,IsDeleted,LastActorId,
LastModifiedById,LastModifiedDate,ProcessDefinitionId,Status,SubmittedById
,SystemModstamp,TargetObjectId, (SELECT ID, ProcessNodeId, StepStatus,
Comments,TargetObjectId,ActorId,CreatedById,IsDeleted,IsPending,
OriginalActorId,ProcessInstanceId,RemindersSent,CreatedDate 
FROM StepsAndWorkitems ) FROM ProcessInstance


Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow