क्रॉस-ऑब्जेक्ट नियम
ऐसे नियम बनाएँ जिनमें एक ऑब्जेक्ट की शर्त दूसरे ऑब्जेक्ट पर कोई क्रिया चलाती है: सेव होने से रोकना, कोई रिकॉर्ड बनाना, या जुड़े हुए रिकॉर्ड अपडेट करना। यह अखंडता की ऑटोमेशन है, फ़ॉर्म में लिखी जाती है, बिना कोड के और बिना किसी निर्धारित फ़्लो का इंतज़ार किए।
कारोबार के कुछ नियम अकेले फ़ील्ड के सत्यापन में नहीं समाते: एक निश्चित मूल्य से ऊपर का अवसर बिना प्रस्ताव संलग्न किए सेव नहीं होना चाहिए; हर जीते गए अवसर से एक कार्यान्वयन रिकॉर्ड बनना चाहिए; किसी खाते की स्थिति बदलने पर उससे जुड़े अनुबंधों में भी वह झलकनी चाहिए। क्रॉस-ऑब्जेक्ट नियम ठीक यही कहते हैं: शर्त एक ऑब्जेक्ट में, असर दूसरे में।
कैसे बनाएँ
- सेटिंग्स खोलें और ऑटोमेशन और प्रक्रियाएं समूह में क्रॉस-ऑब्जेक्ट नियम पर क्लिक करें।
- नियम का नाम भरें और स्रोत ऑब्जेक्ट चुनें, यानी वह जिसका रिकॉर्ड देखा जाएगा।
- कब में बनाने पर, संपादित करने पर, या बनाने या संपादित करने पर चुनें।
- शर्तें (सभी सही हों) में शर्त जोड़ें दबाकर हर पंक्ति बनाएँ: फ़ील्ड, ऑपरेटर और मान।
- क्रिया चुनें: रोकें, रिकॉर्ड बनाएँ या जुड़े हुए अपडेट करें। बाद की दोनों के लिए लक्ष्य ऑब्जेक्ट भी चाहिए।
- सक्रिय चुनें और सेव करें पर क्लिक करें।
फ़ील्ड सूची से चुने जाते हैं, टाइप नहीं किए जाते, जिससे आंतरिक नाम ग़लत होने की गुंजाइश नहीं रहती। उपलब्ध ऑपरेटर हैं: बराबर, बराबर नहीं, से बड़ा, बड़ा या बराबर, से छोटा, छोटा या बराबर, शामिल है, खाली है और भरा है। शर्तें जुड़ती हैं: नियम चलने के लिए सबका सही होना ज़रूरी है, और जिस नियम में कोई शर्त नहीं है वह हमेशा चलता है।
तीन क्रियाएँ
- रोकें: सेव होने से रोक देता है और आपका लिखा रोक का संदेश दिखाता है। जाँच सेव होने से पहले होती है, इसलिए कुछ भी अधूरा नहीं रह जाता।
- रिकॉर्ड बनाएँ: लक्ष्य ऑब्जेक्ट में एक रिकॉर्ड बनाता है। नए रिकॉर्ड का डेटा में आप फ़ील्ड और मान के जोड़े बनाते हैं जो भरे जाएँगे।
- जुड़े हुए अपडेट करें: लक्ष्य ऑब्जेक्ट के उन रिकॉर्ड में जाता है जो लिंक फ़ील्ड (स्रोत ऑब्जेक्ट का एक संबंध फ़ील्ड) के ज़रिए स्रोत रिकॉर्ड की ओर इशारा करते हैं, और बदलने वाले फ़ील्ड में नया मान लिख देता है।
सावधानियाँ और सीमाएँ
- किसी नियम से चली क्रियाएँ लक्ष्य ऑब्जेक्ट के नियमों को दोबारा नहीं जाँचतीं। यह जानबूझकर है: इससे दो नियम एक-दूसरे को गोल-गोल बुलाकर सिस्टम को जाम नहीं कर सकते।
- एक नियम में बीस शर्तें तक चलती हैं।
- सक्रिय का निशान हटाने से नियम मिटे बिना बंद हो जाता है, जो किसी शक की जाँच करने का सुरक्षित तरीक़ा है।
- रोकने वाला नियम सब पर लागू होता है, उन आयातों और इंटीग्रेशन पर भी जो उसी रास्ते से सेव करती हैं। संदेश यह सोचकर लिखें कि उसे कौन पढ़ेगा।
- जुड़े हुए अपडेट करें में लिंक फ़ील्ड स्रोत ऑब्जेक्ट के संबंध फ़ील्ड में से चुना जाता है। उसके और बदलने वाले फ़ील्ड के बिना नियम कुछ नहीं करता।
यह कौन कर सकता है
नियम बनाने, संपादित करने और हटाने के लिए सेटिंग्स प्रबंधित करने की अनुमति चाहिए। असर, हालाँकि, सब पर पड़ता है: जो भी स्रोत ऑब्जेक्ट का कोई रिकॉर्ड सेव करेगा, वह नियम से होकर गुज़रेगा।
आम सवाल
- मेरा नियम चलता ही नहीं: जाँचें कि वह सक्रिय है, कि उसका ट्रिगर उस क्रिया को ढकता है जिसे आपने परखा, और कि सभी शर्तें एक साथ सही हैं।
- संख्याओं और तारीख़ों की तुलना: बड़ा और छोटा वाले ऑपरेटर संख्या के हिसाब से तुलना करते हैं; बराबर और शामिल है टेक्स्ट के हिसाब से तुलना करते हैं, और शामिल है में छोटे-बड़े अक्षरों का फ़र्क नहीं पड़ता।
- नियम हटाने से क्या उसका किया हुआ पलट जाता है? नहीं। बने हुए रिकॉर्ड और लिखे हुए मान बने रहते हैं; नियम बस आगे से काम करना बंद कर देता है।
- सत्यापन से इसका क्या फ़र्क है? सत्यापन ख़ुद उसी रिकॉर्ड को, फ़ील्ड दर फ़ील्ड, संभालते हैं। क्रॉस-ऑब्जेक्ट नियम एक ऑब्जेक्ट देखते हैं और दूसरे पर काम करते हैं।