यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
संग्रह इवेंट प्रकार के ट्रिगर संग्रह में डेटा जोड़ने, अपडेट करने, हटाने और देखने (CRUD) के इवेंट्स को सुनेंगे। जब उस संग्रह पर कोई डेटा ऑपरेशन होता है और कॉन्फ़िगर की गई शर्तें पूरी होती हैं, तो यह संबंधित वर्कफ़्लो को ट्रिगर करता है। उदाहरण के लिए, नए ऑर्डर के बाद उत्पाद की इन्वेंट्री घटाना, या नई टिप्पणी जोड़ने के बाद मैन्युअल समीक्षा की प्रतीक्षा करना जैसे परिदृश्य।
संग्रह में बदलाव कई प्रकार के हो सकते हैं:

आप अपनी व्यावसायिक आवश्यकताओं के अनुसार ट्रिगर होने का समय चुन सकते हैं। जब चुने गए बदलावों में संग्रह को अपडेट करने की स्थिति शामिल होती है, तो आप उन फ़ील्ड्स को भी निर्दिष्ट कर सकते हैं जिनमें बदलाव हुए हैं। ट्रिगर की शर्त तभी पूरी होती है जब चुने गए फ़ील्ड्स में बदलाव होता है। यदि कोई फ़ील्ड नहीं चुना जाता है, तो इसका मतलब है कि किसी भी फ़ील्ड में बदलाव होने पर वर्कफ़्लो ट्रिगर हो सकता है।

अधिक विशिष्ट रूप से, आप ट्रिगर होने वाली डेटा पंक्ति के प्रत्येक फ़ील्ड के लिए शर्त नियम कॉन्फ़िगर कर सकते हैं। ट्रिगर तभी सक्रिय होगा जब फ़ील्ड संबंधित शर्तों को पूरा करेंगे।

संग्रह इवेंट ट्रिगर होने के बाद, इवेंट उत्पन्न करने वाली डेटा पंक्ति को ट्रिगर संदर्भ डेटा के रूप में निष्पादन योजना में इंजेक्ट किया जाएगा, ताकि वर्कफ़्लो में बाद के नोड्स इसे वैरिएबल के रूप में उपयोग कर सकें। हालांकि, जब बाद के नोड्स इस डेटा के संबंध फ़ील्ड्स का उपयोग करना चाहते हैं, तो आपको पहले संबंध डेटा के प्रीलोडिंग को कॉन्फ़िगर करना होगा। चुना गया संबंध डेटा ट्रिगर होने के बाद संदर्भ में एक साथ इंजेक्ट किया जाएगा, और इसे पदानुक्रमित रूप से चुना और उपयोग किया जा सकता है।
संग्रह इवेंट्स वर्तमान में बल्क डेटा ऑपरेशंस द्वारा ट्रिगरिंग का समर्थन नहीं करते हैं। उदाहरण के लिए, जब आप एक लेख बनाते हैं और साथ ही उस लेख के लिए कई टैग (वन-टू-मेनी संबंध डेटा) जोड़ते हैं, तो केवल लेख बनाने के लिए वर्कफ़्लो ट्रिगर होगा। एक साथ बनाए गए कई टैग टैग बनाने के लिए वर्कफ़्लो को ट्रिगर नहीं करेंगे। मेनी-टू-मेनी संबंध डेटा को संबद्ध या जोड़ते समय, मध्यवर्ती संग्रह के लिए वर्कफ़्लो भी ट्रिगर नहीं होगा।
एप्लिकेशन के इंटरफ़ेस पर HTTP API कॉल के माध्यम से संग्रह पर किए गए ऑपरेशंस भी संबंधित इवेंट्स को ट्रिगर कर सकते हैं। हालांकि, यदि डेटा परिवर्तन NocoBase एप्लिकेशन के माध्यम से नहीं, बल्कि सीधे डेटाबेस ऑपरेशंस के माध्यम से किए जाते हैं, तो संबंधित इवेंट्स ट्रिगर नहीं हो सकते हैं। उदाहरण के लिए, मूल डेटाबेस ट्रिगर एप्लिकेशन में वर्कफ़्लो से संबद्ध नहीं होंगे।
इसके अतिरिक्त, डेटाबेस पर SQL एक्शन नोड का उपयोग करके ऑपरेशन करना सीधे डेटाबेस ऑपरेशन के बराबर है और संग्रह इवेंट्स को ट्रिगर नहीं करेगा।
वर्कफ़्लो संस्करण 0.20 से बाहरी डेटा स्रोतों का समर्थन करते हैं। यदि आप एक बाहरी डेटा स्रोत प्लगइन का उपयोग कर रहे हैं और संग्रह इवेंट एक बाहरी डेटा स्रोत के लिए कॉन्फ़िगर किया गया है, तो जब तक उस डेटा स्रोत पर डेटा ऑपरेशन एप्लिकेशन के भीतर किए जाते हैं (जैसे उपयोगकर्ता द्वारा बनाना, अपडेट करना और वर्कफ़्लो डेटा ऑपरेशन), संबंधित संग्रह इवेंट्स ट्रिगर हो सकते हैं। हालांकि, यदि डेटा परिवर्तन अन्य सिस्टम के माध्यम से या सीधे बाहरी डेटाबेस में किए जाते हैं, तो संग्रह इवेंट्स ट्रिगर नहीं हो सकते हैं।
आइए एक नए ऑर्डर के बाद कुल कीमत की गणना करने और इन्वेंट्री घटाने के परिदृश्य का उदाहरण लें।
सबसे पहले, हम एक उत्पाद संग्रह और एक ऑर्डर संग्रह बनाते हैं, जिसका डेटा मॉडल इस प्रकार है:
| फ़ील्ड का नाम | फ़ील्ड का प्रकार |
|---|---|
| उत्पाद का नाम | एकल पंक्ति टेक्स्ट |
| कीमत | संख्या |
| इन्वेंट्री | पूर्णांक |
| फ़ील्ड का नाम | फ़ील्ड का प्रकार |
|---|---|
| ऑर्डर ID | अनुक्रम |
| ऑर्डर उत्पाद | मेनी-टू-वन (उत्पाद) |
| ऑर्डर कुल | संख्या |
और कुछ बुनियादी उत्पाद डेटा जोड़ें:
| उत्पाद का नाम | कीमत | इन्वेंट्री |
|---|---|---|
| iPhone 14 Pro | 7999 | 10 |
| iPhone 13 Pro | 5999 | 0 |
फिर, ऑर्डर संग्रह इवेंट पर आधारित एक वर्कफ़्लो बनाएं:

यहां कुछ कॉन्फ़िगरेशन विकल्प दिए गए हैं:
फिर, वर्कफ़्लो तर्क के अनुसार अन्य नोड्स को कॉन्फ़िगर करें: जांचें कि क्या उत्पाद की इन्वेंट्री 0 से अधिक है। यदि यह 0 से अधिक है, तो इन्वेंट्री घटाएं; अन्यथा, ऑर्डर अमान्य है और उसे हटा दिया जाना चाहिए:

नोड्स का कॉन्फ़िगरेशन विशिष्ट नोड प्रकारों के लिए परिचय दस्तावेज़ में विस्तार से बताया जाएगा।
इस वर्कफ़्लो को सक्षम करें और इंटरफ़ेस के माध्यम से एक नया ऑर्डर बनाकर इसका परीक्षण करें। “iPhone 14 Pro” के लिए ऑर्डर देने के बाद, संबंधित उत्पाद की इन्वेंट्री घटकर 9 हो जाएगी। और यदि “iPhone 13 Pro” के लिए ऑर्डर दिया जाता है, तो अपर्याप्त इन्वेंट्री के कारण ऑर्डर हटा दिया जाएगा।
