サーチ…


備考

承認プロセスは、ビジネスプロセスを自動化するSalesforceの非常に驚くべき機能です。承認プロセスは、特定のレコードが承認者または承認者セットによって承認または拒否されるために必要な一連の手順です。

手順は、プロセスに含まれるすべてのレコードに適用することも、特定の管理者定義基準を満たすレコードだけに適用することもできます。承認プロセスでは、レコードの承認、拒否、再呼び出し、または承認のために最初に提出されたときに実行するアクションも指定します。

ProcessDefinitionおよびProcessNodeオブジェクトはテンプレートとして動作し、承認プロセス自体のマスタ構成を格納します。

ここに画像の説明を入力

プロセス定義

単一の承認プロセスの定義を表します。このオブジェクトを使用して、承認プロセスの説明を読み取ります。定義は読み取り専用です。 ProcessDefinitionオブジェクトで作成されたレコードは変更できません。しかし、承認プロセス情報を記述、検索、検索することができます。

〜クエリ〜

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オブジェクトまたはテーブルを参照している外部キーのように動作している。このオブジェクトは、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という2つの例外フィールドがあり、レコードが承認のために送信されると自動的に設定されます。 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