Salesforce
अनुमोदन प्रक्रिया ऑब्जेक्ट्स
खोज…
टिप्पणियों
अनुमोदन प्रक्रिया व्यवसाय की प्रक्रिया को स्वचालित करने के लिए Salesforce में एक बहुत ही अद्भुत विशेषता है। एक अनुमोदन प्रक्रिया एक विशेष रिकॉर्ड के लिए आवश्यक चरणों का एक सेट है जिसे अनुमोदित या अनुमोदनकर्ता द्वारा सेट या अस्वीकार कर दिया जाता है।
एक कदम प्रक्रिया में शामिल सभी रिकॉर्ड पर लागू हो सकता है, या सिर्फ कुछ रिकॉर्ड जो प्रशासक-परिभाषित मानदंडों को पूरा करते हैं। एक अनुमोदन प्रक्रिया भी रिकॉर्ड को अनुमोदित, अस्वीकार किए जाने या पहले अनुमोदन के लिए सबमिट किए जाने पर होने वाली कार्रवाइयों को निर्दिष्ट करती है।
ProcessDefinition और ProcessNode ऑब्जेक्ट टेम्पलेट के रूप में कार्य करते हैं और स्वयं अनुमोदन प्रक्रिया के लिए मास्टर कॉन्फ़िगरेशन को संग्रहीत करते हैं।
ProcessDefinition
एक एकल अनुमोदन प्रक्रिया की परिभाषा का प्रतिनिधित्व करता है। अनुमोदन प्रक्रिया का विवरण पढ़ने के लिए इस ऑब्जेक्ट का उपयोग करें। परिभाषा केवल पढ़ने के लिए है। हम 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 Object या Table का उल्लेख कर रही है, जिसके लिए चरण या प्रक्रिया नोड बनाए जाते हैं। इस ऑब्जेक्ट को केवल ProcessDefinition Object के रूप में भी पढ़ा जाता है।
ProcessInstance
एक एकल, पूर्ण अनुमोदन प्रक्रिया का उदाहरण प्रस्तुत करता है। प्रक्रिया ऑब्जेक्ट रिकॉर्ड हर बार किसी विशेष ऑब्जेक्ट रिकॉर्ड के लिए बनाया जाता है जिसे अनुमोदन के लिए प्रस्तुत किया जाता है। इसकी भी केवल पढ़ने योग्य वस्तु है। हम अनुमोदन प्रक्रियाओं का वर्णन कर सकते हैं, क्वेरी कर सकते हैं और पुनः प्राप्त कर सकते हैं।
~ प्रश्न ~
SELECT CompletedDate,CreatedById,CreatedDate,ElapsedTimeInDays,
ElapsedTimeInHours,ElapsedTimeInMinutes,Id,IsDeleted,LastActorId,
LastModifiedById,LastModifiedDate,ProcessDefinitionId,Status,
SubmittedById,SystemModstamp,TargetObjectId FROM ProcessInstance
अनुमोदन के लिए रिकॉर्ड प्रस्तुत करने के बाद, सभी अपवाद क्षेत्रों को स्वचालित रूप से आबादी दिया जाता है, दो अपवाद फ़ील्ड: कंप्लीटडडेट और लास्टएक्टरआईडी जो अनुमोदन प्रक्रिया के पूरा होने के बाद ही आबादी वाले होते हैं। ProcessDefinitionId फ़ील्ड ProcessDefinition Object का संदर्भ या विदेशी कुंजी 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 उपयोगकर्ता इंटरफ़ेस की संबंधित सूची कार्यक्षमता को दोहराने के लिए कर सकते हैं जो जल्द ही मेरे अगले ब्लॉग पोस्ट में दिखाया जाएगा। हम ProcessInstanceHistory का उपयोग केवल ProcessInstanceStep और ProcessInstanceWorkitem दोनों वस्तुओं के एकल-पढ़ने वाले दृश्य के लिए कर सकते हैं। हम ProcessInstanceHistory को मूल प्रक्रियाInstance ऑब्जेक्ट पर नेस्टेड soql क्वेरी में क्वेरी करके क्वेरी कर सकते हैं। नेस्टेड soql क्वेरी रेफरेंस स्टेपअंडवर्किटिज़ , जो ProcessInstanceHistory के लिए चाइल्ड रिलेशनशिप का नाम ProcessInstance ऑब्जेक्ट में है। विभिन्न व्यावसायिक समस्याओं को हल करने के लिए यह बहुत उपयोगी वस्तु है।
~ प्रश्न ~
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