Salesforce
Godkännande processobjekt
Sök…
Anmärkningar
Approval Process är en mycket fantastisk funktion i Salesforce för att automatisera affärsprocessen. En godkännandeprocess är en uppsättning av de steg som krävs för att en viss post ska godkännas eller avvisas av godkännare eller uppsättning godkännare.
Ett steg kan tillämpas på alla poster som ingår i processen, eller bara poster som uppfyller vissa administraturdefinierade kriterier. En godkännandeprocess anger också vilka åtgärder som ska vidtas när en post godkänns, avvisas, återkallas eller först skickas in för godkännande.
ProcessDefinition- och ProcessNode-objekt fungerar som en mall och lagrar huvudkonfigurationerna för själva godkännandeprocessen.
ProcessDefinition
Representerar definitionen av en enda godkännandeprocess. Använd detta objekt för att läsa beskrivningen av en godkännandeprocess. Definitionen är skrivskyddad. Vi kan inte ändra posten som skapats i ProcessDefinition Object. Men vi kan beskriva, fråga, söka och hämta information om godkännandeprocesser.
~ Fråga ~
SELECT CreatedById,CreatedDate,Description,DeveloperName,LastModifiedById,
LastModifiedDate,LockType,Name,State,SystemModstamp,TableEnumOrId,Type,Id
FROM ProcessDefinition
Posterna skapas när vi skapar en ny godkännandeprocess med Salesforce användargränssnitt för godkännandeprocessen.
ProcessNode
Representerar de processsteg som skapats för en särskild godkännandeprocess (ProcessDefinition). Detta objekt används för att läsa beskrivningen av processsteg. I enkla ord beskriver ProcessNode-poster ett steg i en processdefinition. Vi kan beskriva, fråga, söka och hämta godkännandeprocesserna.
~ Fråga ~
SELECT Description,DeveloperName,Name,ProcessDefinitionId,SystemModstamp
,Id,FROM ProcessNode
Som vi kan se ProcessDefinitionId-fältet fungerar som en utländsk nyckel som hänvisar till ProcessDefinition-objekt eller tabell för vilka steg eller processnoder skapas. Detta objekt läses också bara som ProcessDefinition-objekt.
ProcessInstance
Representerar en instans av en enda fullständig godkännandeprocess. ProcessInstance-post skapas varje gång för en specifik objektpost som skickas in för godkännande. Det är också skrivskyddat objekt. Vi kan beskriva, fråga och hämta godkännandeprocesserna Instans.
~ Fråga ~
SELECT CompletedDate,CreatedById,CreatedDate,ElapsedTimeInDays,
ElapsedTimeInHours,ElapsedTimeInMinutes,Id,IsDeleted,LastActorId,
LastModifiedById,LastModifiedDate,ProcessDefinitionId,Status,
SubmittedById,SystemModstamp,TargetObjectId FROM ProcessInstance
Alla ProcessInstance-fält fylls automatiskt när posten har skickats in för godkännande, med två undantagsfält: CompletedDate och LastActorId som fylls endast efter att godkännandeprocessinstansen är klar. ProcessDefinitionId-fältet är referens- eller främmande nyckel-ID för ProcessDefinition-objektet.
ProcessInstanceStep & ProcessInstanceWorkitem
Båda objekten ProcessInstanceStep & ProcessInstanceWorkItem är exempel på processsteg som skapas för en viss ProcessInstance. ProcessInstanceStep representerar en steginstans i en godkännandeprocess (ProcessInstance) på vilken användare redan har agerat och ProcessInstanceWorkItem representerar en steginstans i en godkännandeprocess (ProcessInstance) som pågår och användare måste utföra några åtgärder bredvid den. Vi kan beskriva, fråga och hämta godkännandeprocessernas steg och arbetsartiklar.
~ Fråga ~
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 är det objekt som varken är sökbart eller frågeställbart och detta är det skrivskyddade objektet som visar alla steg och väntar på godkännandeförfrågningar associerade med en godkännandeprocess (ProcessInstance). Men vi kan använda detta objekt för att replikera den relaterade listfunktionen i Salesforce användargränssnitt för godkännandeprocesser som kommer att visas i mitt nästa blogginlägg snart. Vi kan använda ProcessInstanceHistory för en enda skrivskyddad vy av både ProcessInstanceStep- och ProcessInstanceWorkitem-objekten. Vi kan fråga ProcessInstanceHistory genom att fråga den i en kapslad soql-fråga på moderprocessen ProcessInstance-objektet. Den kapslade soqlfrågan refererar till StepsAndWorkitems , som är barnrelationsnamnet för ProcessInstanceHistory i ProcessInstance-objektet. Detta är mycket användbart för att lösa olika affärsproblem.
~ Fråga ~
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