Suche…


Bemerkungen

Der Genehmigungsprozess ist eine erstaunliche Funktion in Salesforce zur Automatisierung des Geschäftsprozesses. Ein Genehmigungsprozess ist ein Satz von Schritten, die erforderlich sind, damit ein bestimmter Datensatz von einem Genehmiger oder einem Satz von Genehmigern genehmigt oder abgelehnt wird.

Ein Schritt kann für alle Datensätze gelten, die im Prozess enthalten sind, oder nur Datensätze, die bestimmte vom Administrator definierte Kriterien erfüllen. Ein Genehmigungsprozess legt auch die Aktionen fest, die ausgeführt werden sollen, wenn ein Datensatz genehmigt, abgelehnt, zurückgerufen oder zum ersten Mal zur Genehmigung übermittelt wird.

ProcessDefinition- und ProcessNode-Objekte fungieren als Vorlage und speichern die Masterkonfigurationen für den Genehmigungsprozess selbst.

Geben Sie hier die Bildbeschreibung ein

ProcessDefinition

Repräsentiert die Definition eines einzelnen Genehmigungsprozesses. Verwenden Sie dieses Objekt, um die Beschreibung eines Genehmigungsprozesses zu lesen. Die Definition ist schreibgeschützt. Wir können den in ProcessDefinition Object erstellten Datensatz nicht ändern. Aber wir können die Informationen des Genehmigungsprozesses beschreiben, abfragen, suchen und abrufen.

~ Abfrage ~

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

Die Datensätze werden erstellt, wenn wir einen neuen Genehmigungsprozess mithilfe der Salesforce-Benutzeroberfläche des Genehmigungsprozesses erstellen.

ProcessNode

Stellt die Prozessschritte dar, die für einen bestimmten Genehmigungsprozess (ProcessDefinition) erstellt wurden. Dieses Objekt wird zum Lesen der Beschreibung des Prozessschritts verwendet. In einfachen Worten beschreibt ProcessNode-Datensätze einen Schritt in einer Prozessdefinition. Wir können die Genehmigungsprozesse beschreiben, abfragen, suchen und abrufen.

~ Abfrage ~

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

Wie wir sehen, verhält sich das ProcessDefinitionId-Feld wie ein Fremdschlüssel, der auf ProcessDefinition-Objekt oder Tabelle verweist, für die Schritte oder Prozessknoten erstellt werden. Dieses Objekt kann auch nur als ProcessDefinition-Objekt gelesen werden.

ProcessInstance

Stellt eine Instanz eines einzelnen vollständigen Genehmigungsprozesses dar. ProcessInstance-Datensatz wird jedes Mal für einen bestimmten Objektdatensatz erstellt, der zur Genehmigung übermittelt wird. Sein Objekt ist auch schreibgeschützt. Wir können die Genehmigungsprozesse Instanz beschreiben, abfragen und abrufen.

~ Abfrage ~

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

Alle ProcessInstance-Felder werden automatisch ausgefüllt, sobald der Datensatz zur Genehmigung übermittelt wird, mit zwei Ausnahmenfeldern: CompletedDate und LastActorId, die nur nach Abschluss der Genehmigungsprozessinstanz gefüllt werden. Das ProcessDefinitionId-Feld ist die Referenz- oder Fremdschlüssel-ID des ProcessDefinition-Objekts.

ProcessInstanceStep & ProcessInstanceWorkitem

Beide Objekte ProcessInstanceStep & ProcessInstanceWorkItem sind Instanzen von Prozessschritten, die für bestimmte ProcessInstance erstellt werden. ProcessInstanceStep repräsentiert eine Schrittinstanz in einem Genehmigungsprozess (ProcessInstance), auf die Benutzer bereits reagiert haben, und ProcessInstanceWorkItem stellt eine Schrittinstanz in einem Genehmigungsprozess (ProcessInstance) dar, für den ein Benutzer ansteht, und der Benutzer muss daraufhin eine Aktion ausführen. Wir können die Schritte des Genehmigungsprozesses und workItems beschreiben, abfragen und abrufen.

~ Abfrage ~

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 ist das Objekt, das weder durchsucht noch abgefragt werden kann. Dies ist das schreibgeschützte Objekt, in dem alle Schritte und ausstehenden Genehmigungsanforderungen angezeigt werden, die mit einem Genehmigungsprozess (ProcessInstance) verbunden sind. Wir können dieses Objekt jedoch verwenden, um die Funktionalität der verwandten Liste der Salesforce-Benutzeroberfläche für Genehmigungsprozesse zu replizieren, die in meinem nächsten Blogbeitrag bald angezeigt wird. Wir können ProcessInstanceHistory für eine einzige schreibgeschützte Ansicht der beiden ProcessInstanceStep- und ProcessInstanceWorkitem-Objekte verwenden. Wir können ProcessInstanceHistory abfragen, indem wir es in einer verschachtelten Soql-Abfrage für das übergeordnete ProcessInstance-Objekt abfragen. Die verschachtelte Soql-Abfrage verweist auf StepsAndWorkitems. Dies ist der untergeordnete Beziehungsname für ProcessInstanceHistory im ProcessInstance-Objekt. Dies ist ein sehr nützliches Objekt, um verschiedene geschäftliche Probleme zu lösen.

~ Abfrage ~

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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow