Salesforce
Objets du processus d'approbation
Recherche…
Remarques
Le processus d'approbation est une fonctionnalité très étonnante de Salesforce pour automatiser le processus métier. Un processus d'approbation est un ensemble d'étapes nécessaires pour qu'un enregistrement particulier soit approuvé ou rejeté par un approbateur ou un ensemble d'approbateurs.
Une étape peut s'appliquer à tous les enregistrements inclus dans le processus ou uniquement aux enregistrements répondant à certains critères définis par l'administrateur. Un processus d'approbation spécifie également les actions à entreprendre lorsqu'un enregistrement est approuvé, rejeté, rappelé ou soumis pour la première fois pour approbation.
Les objets ProcessDefinition et ProcessNode agissent comme un modèle et stockent les configurations principales pour le processus d'approbation proprement dit.
ProcessDefinition
Représente la définition d'un processus d'approbation unique. Utilisez cet objet pour lire la description d'un processus d'approbation. La définition est en lecture seule. Nous ne pouvons pas modifier l'enregistrement créé dans ProcessDefinition Object. Mais nous pouvons décrire, interroger, rechercher et récupérer les informations relatives aux processus d'approbation.
~ Requête ~
SELECT CreatedById,CreatedDate,Description,DeveloperName,LastModifiedById,
LastModifiedDate,LockType,Name,State,SystemModstamp,TableEnumOrId,Type,Id
FROM ProcessDefinition
Les enregistrements sont créés lorsque nous créons un nouveau processus d'approbation à l'aide de l'interface utilisateur Salesforce du processus d'approbation.
ProcessNode
Représente les étapes de processus créées pour un processus d'approbation particulier (ProcessDefinition). Cet objet permet de lire la description de l'étape du processus. En termes simples, les enregistrements ProcessNode décrivent une étape dans une définition de processus. Nous pouvons décrire, interroger, rechercher et récupérer les processus d'approbation. Étapes.
~ Requête ~
SELECT Description,DeveloperName,Name,ProcessDefinitionId,SystemModstamp
,Id,FROM ProcessNode
Comme nous pouvons le voir, le champ ProcessDefinitionId agit comme une clé étrangère qui fait référence à Objet ou Table ProcessDefinition pour laquelle des étapes ou des nœuds de processus sont créés. Cet objet est également lu uniquement en tant qu'objet ProcessDefinition.
ProcessInstance
Représente une instance d'un processus d'approbation unique et complet. L'enregistrement ProcessInstance est créé chaque fois pour un enregistrement d'objet particulier soumis pour approbation. C'est aussi un objet en lecture seule. Nous pouvons décrire, interroger et récupérer l'instance de processus d'approbation.
~ Requête ~
SELECT CompletedDate,CreatedById,CreatedDate,ElapsedTimeInDays,
ElapsedTimeInHours,ElapsedTimeInMinutes,Id,IsDeleted,LastActorId,
LastModifiedById,LastModifiedDate,ProcessDefinitionId,Status,
SubmittedById,SystemModstamp,TargetObjectId FROM ProcessInstance
Tous les champs ProcessInstance sont automatiquement remplis une fois l'enregistrement soumis pour approbation, avec deux champs d'exception: CompletedDate et LastActorId qui ne sont renseignés qu'après la fin de l'instance du processus d'approbation. Le champ ProcessDefinitionId est l'ID de clé étrangère ou de référence de l'objet ProcessDefinition.
ProcessInstanceStep & ProcessInstanceWorkitem
Les deux objets ProcessInstanceStep & ProcessInstanceWorkItem sont des instances d'étapes de processus créées pour ProcessInstance spécifique. ProcessInstanceStep représente une instance d'étape dans un processus d'approbation (ProcessInstance) sur lequel les utilisateurs ont déjà agi et ProcessInstanceWorkItem représente une instance d'étape dans un processus d'approbation (ProcessInstance) sur lequel les utilisateurs doivent effectuer des actions. Nous pouvons décrire, interroger et récupérer les étapes et les workItems des processus d'approbation.
~ Requête ~
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 est l'objet qui n'est ni consultable ni interrogeable. Il s'agit de l'objet en lecture seule qui affiche toutes les étapes et les demandes d'approbation en attente associées à un processus d'approbation (ProcessInstance). Mais nous pouvons utiliser cet objet pour répliquer la fonctionnalité de liste associée de l'interface utilisateur de Salesforce pour les processus d'approbation qui seront bientôt affichés dans mon prochain article. Nous pouvons utiliser ProcessInstanceHistory pour une seule vue en lecture seule des objets ProcessInstanceStep et ProcessInstanceWorkitem. Nous pouvons interroger ProcessInstanceHistory en l'interrogeant dans une requête soql imbriquée sur l'objet ProcessInstance parent. La requête soql imbriquée fait référence à StepsAndWorkitems , qui est le nom de la relation enfant pour ProcessInstanceHistory dans l'objet ProcessInstance. Ceci est un objet très utile pour résoudre divers problèmes commerciaux.
~ Requête ~
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