Salesforce अकाउंट कैलेंडर: हर संबंधित रिकॉर्ड एक ही व्यू में
अकाउंट के कॉन्टैक्ट पर टास्क। उसके अवसरों पर माइलस्टोन। उसके प्रोजेक्ट पर विज़िट। इन सबको एक सेटिंग से अकाउंट के कैलेंडर पर लाएँ, किसी भी गहराई तक, बिना Apex लिखे।
"इस अकाउंट के सारे टास्क कैसे देखूँ, उसके कॉन्टैक्ट पर दर्ज टास्क भी?" "क्या अकाउंट पेज पर अवसर के माइलस्टोन भी दिख सकते हैं?" "रिकॉर्ड पेज पर grandchild रिकॉर्ड कैसे दिखाएँ?" एक ग्राहक का काम कई रिकॉर्ड में बिखरा होता है। अकाउंट पेज पर वह सब एक जगह दिखना चाहिए।
MultiDatePick यह काम रोलअप फ़ील्ड से करता है। अकाउंट पेज का कैलेंडर सीधे अकाउंट से जुड़े रिकॉर्ड लोड करता है, साथ ही हर वह रिकॉर्ड भी जो दूर से अकाउंट की ओर इशारा करता है: किसी कॉन्टैक्ट, अवसर, प्रोजेक्ट या पाँच स्तर तक के lookup की कड़ी से होकर। Setup Wizard में एक फ़ील्ड। Apex की ज़रूरत नहीं।
अकाउंट पेज पर आपको क्या मिलता है
पूरा रिश्ता, एक जगह
अकाउंट, उसके कॉन्टैक्ट और उसके अवसरों के टास्क और रिकॉर्ड, पेज खुलते ही एक कैलेंडर पर।
कोई भी ऑब्जेक्ट, कोई भी गहराई
स्टैंडर्ड या कस्टम ऑब्जेक्ट, सीधे जुड़े हों या पाँच lookup तक के पाथ से।
सहेजना पहले जितना ही आसान
नए दिन हमेशा की तरह संबंध फ़ील्ड से पेज रिकॉर्ड में सहेजे जाते हैं। संबंधित रिकॉर्ड अपने-अपने parent से जुड़े रहते हैं।
स्थिति के रंग
हर रिकॉर्ड, सीधा जुड़ा हो या रोलअप से आया हो, अपनी स्थिति का रंग लेता है, और कैलेंडर के ऊपर के पिल स्थिति के हिसाब से फ़िल्टर करते हैं।
होवर पर विवरण
किसी दिन पर पॉइंटर ले जाकर देखें कि वह कौन-सी कॉल, माइलस्टोन या विज़िट है, और उसके पीछे का रिकॉर्ड खोलें।
हर यूज़र की अपनी पहुँच
रिकॉर्ड पेज देख रहे व्यक्ति के रूप में लोड होते हैं, इसलिए sharing और फ़ील्ड-लेवल सिक्योरिटी हमेशा की तरह लागू रहती हैं।
अकाउंट पेज पर शेड्यूल का सिर्फ़ एक हिस्सा क्यों दिखता है
रिकॉर्ड पेज का कैलेंडर आम तौर पर वे रिकॉर्ड लोड करता है जो उस रिकॉर्ड पर lookup रखते हैं। टास्क कैलेंडर वाले अकाउंट पेज पर, ये वे टास्क हैं जिनका Related To यही अकाउंट है। लेकिन ज़्यादातर काम कहीं और दर्ज होता है: कॉन्टैक्ट पर एक check-in कॉल, अवसर पर पायलट की शुरुआत, किसी प्रोजेक्ट पर साइट विज़िट। इनमें से हर रिकॉर्ड अकाउंट का ही है, एक या उससे ज़्यादा स्तर दूर, और एक स्तर वाला कैलेंडर उन्हें छोड़ देता है।
रोलअप फ़ील्ड यह कमी पूरी करता है। यह एक दूसरा फ़ील्ड, या lookup से होकर जाने वाला पाथ बताता है, जो पेज रिकॉर्ड तक वापस पहुँचता है। कैलेंडर हर वह रिकॉर्ड दिखाता है जो इन दोनों में से किसी से भी मेल खाता है। ऊपर के Northwind Logistics उदाहरण में अकाउंट की अपनी विज़िट नवंबर के चार दिन भरती हैं; रोलअप फ़ील्ड में AccountId डालते ही कॉन्टैक्ट की कॉल और अवसर के माइलस्टोन भी जुड़ जाते हैं और महीने में ग्यारह दिन दिखते हैं।
रोलअप फ़ील्ड कैसे काम करता है
दो फ़ील्ड, दो काम। संबंध फ़ील्ड वह है जिससे नया रिकॉर्ड सहेजा जाता है: अकाउंट पेज पर कोई दिन चुनें और रिकॉर्ड उसी अकाउंट से जुड़ जाता है। रोलअप फ़ील्ड मिलान का दूसरा तरीका है: जिस भी रिकॉर्ड का रोलअप मान पेज रिकॉर्ड के बराबर है, वह भी कैलेंडर पर दिखता है। इसी तरह काम करने वाले कुछ सेटअप:
| पेज | कैलेंडर के रिकॉर्ड | संबंध फ़ील्ड | रोलअप फ़ील्ड और उससे क्या जुड़ता है |
|---|---|---|---|
| अकाउंट | टास्क | WhatId | AccountId: अकाउंट के कॉन्टैक्ट और अवसरों के टास्क |
| अकाउंट | इवेंट | WhatId | AccountId: अकाउंट के कॉन्टैक्ट के साथ और उसके अवसरों पर होने वाली मीटिंग |
| अकाउंट | प्रोजेक्ट टास्क (कस्टम) | Account__c | Project__r.Account__c: अकाउंट के हर प्रोजेक्ट के टास्क |
| अकाउंट | साइट विज़िट (कस्टम) | Account__c | Location__r.Region__r.Account__c: अकाउंट के हर क्षेत्र की हर लोकेशन पर विज़िट |
| अवसर | माइलस्टोन (कस्टम) | Opportunity__c | Quote__r.OpportunityId: अवसर के कोटेशन पर दर्ज माइलस्टोन |
पाथ वैसे ही लिखा जाता है जैसे Salesforce संबंध लिखता है: हर lookup का relationship नाम, एक बिंदु, और आखिर में फ़ील्ड। कस्टम lookup बीच में __r पर खत्म होते हैं (Project__r), स्टैंडर्ड lookup में Id हट जाता है (Contact.AccountId)। पाँच स्तर तक, उतनी ही गहराई जितनी Salesforce query में चलती है।
Setup Wizard में सेट करें
रोलअप फ़ील्ड विज़ार्ड की फ़ील्ड स्क्रीन पर साथ में बॉक्स में है, उन फ़ील्ड के पास जिन्हें आप पहले से चुनते हैं:
- चुनें कि कैलेंडर कहाँ दिखेगा। MultiDatePick Setup Wizard टैब खोलें, अकाउंट रिकॉर्ड पेज चुनें, फिर सहेजने का तरीका (Dates कैलेंडर के लिए हर तारीख का एक रिकॉर्ड)।
- चुनें कि हर दिन किस रूप में सहेजा जाए। फ़ील्ड स्क्रीन पर टास्क चुनें, फिर संबंध फ़ील्ड के रूप में Related To ID (WhatId) और दिनांक फ़ील्ड के रूप में Due Date Only (ActivityDate)।
- रोलअप फ़ील्ड भरें।
AccountIdलिखें, या कस्टम ऑब्जेक्ट के लिएProject__r.Account__cजैसा lookup पाथ। कॉन्फ़िगरेशन कोAccount_Visitsजैसे नाम से सहेजें। - कंपोनेंट को अकाउंट पेज पर लगाएँ। Lightning App Builder में MultiDatePick Dates कंपोनेंट जोड़ें और Config Name में वही नाम डालें। अब हर अकाउंट अपना पूरा शेड्यूल दिखाता है।
पेज पर पहले से कैलेंडर है? विज़ार्ड में उसका कॉन्फ़िगरेशन खोलें, रोलअप फ़ील्ड जोड़ें और सहेजें। उस कॉन्फ़िगरेशन वाला हर पेज अगली बार लोड होते ही इसे अपना लेता है। यही Rollup Field प्रॉपर्टी Lightning App Builder में कंपोनेंट पर भी है।
कौन-सी टीमें रिकॉर्ड को parent तक रोलअप करती हैं
जहाँ भी एक रिकॉर्ड का काम उसके आसपास के रिकॉर्ड पर दर्ज होता है:
इसे आकार देने वाली सेटिंग्स
हर एक Setup Wizard का एक फ़ील्ड और कंपोनेंट की एक प्रॉपर्टी है, इसलिए यहाँ कोड की ज़रूरत नहीं:
| सेटिंग | यह क्या करता है | API नाम |
|---|---|---|
| संबंधित ऑब्जेक्ट (Related Object) | वह ऑब्जेक्ट जिसे कैलेंडर दिखाता और जिसमें सहेजता है, जैसे टास्क या कोई कस्टम Site Visit ऑब्जेक्ट। | relatedObjectApiName |
| संबंध फ़ील्ड | पेज रिकॉर्ड तक का lookup। नए रिकॉर्ड इसी से सहेजे जाते हैं। | relationshipFieldApiName |
| रोलअप फ़ील्ड (Rollup Field) | एक दूसरा फ़ील्ड या lookup पाथ जो पेज रिकॉर्ड तक पहुँचता है। मेल खाने वाले रिकॉर्ड भी कैलेंडर पर दिखते हैं। | rollupField |
| दिनांक फ़ील्ड (Date Field) | वह Date फ़ील्ड जो हर रिकॉर्ड को कैलेंडर पर उसकी जगह रखता है, जैसे ActivityDate। | dateFieldApiName |
| स्थिति फ़ील्ड और स्थिति रंग (Status Field and Status Colors) | स्थिति का picklist और हर मान का एक रंग, जैसे Completed:#22C55E। | statusField, statusColors |
| होवर फ़ील्ड (Hover Popover Fields) | किसी दिन पर पॉइंटर ले जाने पर दिखने वाले फ़ील्ड, जैसे Subject और Status। | hoverFields |
| Config Name | Setup Wizard का सहेजा कॉन्फ़िगरेशन। इसे सेट करें और बाकी खाली छोड़ें। | configName |
लोग अक्सर पूछते हैं
Salesforce अकाउंट कैलेंडर पर कॉन्टैक्ट और अवसर के टास्क कैसे दिखाएँ?
अकाउंट रिकॉर्ड पेज पर MultiDatePick Dates कंपोनेंट लगाएँ, संबंधित ऑब्जेक्ट में टास्क (Task) और संबंध फ़ील्ड में WhatId चुनें, फिर रोलअप फ़ील्ड में AccountId डालें। अकाउंट के कॉन्टैक्ट और अवसरों पर दर्ज टास्क पर Salesforce अकाउंट भी सहेजता है, इसलिए वे टास्क अकाउंट के अपने टास्क के साथ अकाउंट कैलेंडर पर दिखते हैं।
क्या Salesforce कैलेंडर grandchild (दो स्तर नीचे के) रिकॉर्ड दिखा सकता है?
हाँ। रोलअप फ़ील्ड lookup से होकर जाने वाला पाथ स्वीकार करता है, जैसे Project__r.Account__c, इसलिए अकाउंट पेज का कैलेंडर उस अकाउंट के हर प्रोजेक्ट के रिकॉर्ड दिखाता है। पाथ पाँच स्तर तक गहरा हो सकता है, उतनी ही गहराई जितनी तक Salesforce किसी query को lookup के पीछे जाने देता है।
रोलअप फ़ील्ड सेट होने पर नए रिकॉर्ड कहाँ सहेजे जाते हैं?
संबंध फ़ील्ड (Relationship Field) से, ठीक पहले की तरह। रोलअप फ़ील्ड सिर्फ़ कैलेंडर पर दिखने वाले रिकॉर्ड बढ़ाता है। अकाउंट पेज पर आप जो दिन चुनते हैं, वह उसी अकाउंट से जुड़ा रिकॉर्ड सहेजता है, और संबंधित रिकॉर्ड अपने-अपने parent से जुड़े रहते हैं।
क्या रोलअप sharing और फ़ील्ड-लेवल सिक्योरिटी का पालन करता है?
हाँ। कैलेंडर अपने रिकॉर्ड पेज देख रहे व्यक्ति के रूप में लोड करता है, इसलिए रिकॉर्ड sharing और फ़ील्ड-लेवल सिक्योरिटी लागू रहती हैं। यूज़र को वही संबंधित रिकॉर्ड दिखते हैं जिनकी पहुँच उसे Salesforce में पहले से है, उससे ज़्यादा कुछ नहीं।
कौन-से MultiDatePick कंपोनेंट रोलअप फ़ील्ड सपोर्ट करते हैं?
Dates और Date Time कंपोनेंट, जिस भी ऑब्जेक्ट में वे सहेजते हैं उसके लिए, स्टैंडर्ड हो या कस्टम। Booking कंपोनेंट यही रोलअप फ़ील्ड This Record Only के साथ इस्तेमाल करता है, इसलिए उसके Timeline, Week, Utilization और Agenda व्यू वे बुकिंग दिखाते हैं जो lookup पाथ से पेज रिकॉर्ड से जुड़ी हैं।
पूरा अकाउंट, अकाउंट पर ही।
लाइव डेमो में घूमकर देखें, या Config Library के किसी तैयार कॉन्फ़िगरेशन से शुरू करें।
- $20/यूज़र/माह, हर फ़ीचर
- 30 दिन का फ़्री ट्रायल, कार्ड नहीं
- 100% नेटिव Salesforce
- कोई Apex नहीं
- जल्द ही Salesforce AppExchange पर