Salesforce
Goedkeuringsproces objecten
Zoeken…
Opmerkingen
Goedkeuringsproces is een zeer verbazingwekkende functie in Salesforce om het bedrijfsproces te automatiseren. Een goedkeuringsproces is een reeks stappen die nodig zijn om een bepaald record te laten goedkeuren of afwijzen door een goedkeurder of een reeks goedkeurders.
Een stap kan van toepassing zijn op alle records die deel uitmaken van het proces, of alleen records die aan bepaalde door de beheerder gedefinieerde criteria voldoen. Een goedkeuringsproces specificeert ook de acties die moeten worden ondernomen wanneer een record wordt goedgekeurd, afgewezen, teruggehaald of voor het eerst ter goedkeuring wordt voorgelegd.
Object ProcessDefinition en ProcessNode fungeren als een sjabloon en slaan de hoofdconfiguraties op voor het goedkeuringsproces zelf.
ProcessDefinition
Vertegenwoordigt de definitie van een enkel goedkeuringsproces. Gebruik dit object om de beschrijving van een goedkeuringsproces te lezen. De definitie is alleen-lezen. We kunnen het record dat is gemaakt in ProcessDefinition Object niet wijzigen. Maar we kunnen informatie over de goedkeuringsprocessen beschrijven, doorzoeken, zoeken en ophalen.
~ Vraag ~
SELECT CreatedById,CreatedDate,Description,DeveloperName,LastModifiedById,
LastModifiedDate,LockType,Name,State,SystemModstamp,TableEnumOrId,Type,Id
FROM ProcessDefinition
De records worden gemaakt wanneer we een nieuw goedkeuringsproces maken met behulp van Salesforce-gebruikersinterface van Goedkeuringsproces.
ProcessNode
Vertegenwoordigt de processtappen die zijn gemaakt voor een specifiek goedkeuringsproces (ProcessDefinition). Dit object wordt gebruikt om de beschrijving van de processtap te lezen. In eenvoudige woorden beschrijft ProcessNode-records een stap in een procesdefinitie. We kunnen de goedkeuringsprocessen stappen beschrijven, doorzoeken, doorzoeken en ophalen.
~ Vraag ~
SELECT Description,DeveloperName,Name,ProcessDefinitionId,SystemModstamp
,Id,FROM ProcessNode
Zoals we kunnen zien, werkt het veld ProcessDefinitionId als een externe sleutel die verwijst naar het ProcessDefinition-object of de tabel waarvoor stappen of procesknooppunten worden gemaakt. Dit object wordt ook alleen gelezen als ProcessDefinition-object.
ProcessInstance
Vertegenwoordigt een exemplaar van een enkel, volledig goedkeuringsproces. ProcessInstance-record wordt elke keer gemaakt voor een bepaald objectrecord dat ter goedkeuring wordt ingediend. Het is ook een alleen-lezen object. We kunnen de goedkeuringsprocessen Instance beschrijven, opvragen en ophalen.
~ Vraag ~
SELECT CompletedDate,CreatedById,CreatedDate,ElapsedTimeInDays,
ElapsedTimeInHours,ElapsedTimeInMinutes,Id,IsDeleted,LastActorId,
LastModifiedById,LastModifiedDate,ProcessDefinitionId,Status,
SubmittedById,SystemModstamp,TargetObjectId FROM ProcessInstance
Alle ProcessInstance-velden worden automatisch ingevuld zodra de record ter goedkeuring is ingediend, met twee uitzonderingsvelden: CompletedDate en LastActorId die alleen worden ingevuld nadat de instantie van het goedkeuringsproces is voltooid. Het veld ProcessDefinitionId is de referentie of ID van de externe sleutel van het ProcessDefinition-object.
ProcessInstanceStep & ProcessInstanceWorkitem
Beide objecten ProcessInstanceStep & ProcessInstanceWorkItem zijn instanties van processtappen die zijn gemaakt voor bepaalde ProcessInstance. ProcessInstanceStep staat voor een stapinstantie in een goedkeuringsproces (ProcessInstance) waarop gebruikers al hebben gehandeld en ProcessInstanceWorkItem vertegenwoordigt een stapinstantie in een goedkeuringsproces (ProcessInstance) waarop nog moet worden gelet en waarop gebruikers vervolgens een actie moeten uitvoeren. We kunnen de stappen en workItems van de goedkeuringsprocessen beschrijven, opvragen en ophalen.
~ Vraag ~
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 *
De ProcessInstanceHistory is het object dat niet doorzoekbaar of opvraagbaar is en dit is het alleen-lezen object dat alle stappen en in afwachting van goedkeuringsverzoeken geassocieerd met een goedkeuringsproces (ProcessInstance) toont. Maar we kunnen dit object gebruiken om de gerelateerde lijstfunctionaliteit van de Salesforce-gebruikersinterface te repliceren voor goedkeuringsprocessen die binnenkort in mijn volgende blogbericht worden getoond. We kunnen ProcessInstanceHistory gebruiken voor een enkele alleen-lezen weergave van de objecten ProcessInstanceStep en ProcessInstanceWorkitem. We kunnen ProcessInstanceHistory opvragen door het in een geneste soql-query op het bovenliggende ProcessInstance-object op te vragen. De geneste soql-query verwijst naar StepsAndWorkitems , de onderliggende relatienaam voor ProcessInstanceHistory in het ProcessInstance-object. Dit is een zeer nuttig object om verschillende bedrijfsproblemen op te lossen.
~ Vraag ~
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