मॉडल-चालित ऐप में स्वतः सहेजना अक्षम करें
ऑटोसेव ऐप उपयोगकर्ताओं को फॉर्म में डेटा सहेजने के प्रबंधन के बिना अपने काम पर ध्यान केंद्रित करने में मदद करता है। अधिकांश लोग इस बात की सराहना करते हैं कि उन्हें पंक्ति को अद्यतन करते समय प्रत्येक बार डेटा को स्पष्ट रूप से सहेजने की आवश्यकता नहीं होती, लेकिन कुछ संगठनों में ऐसे अनुकूलन हो सकते हैं, जिन्हें स्पष्ट रूप से सहेजने की अपेक्षा करते हुए डिज़ाइन किया गया हो। इन संगठनों के लिए स्वतः सहेजना कैसे लागू किया जाए, इसे प्रबंधित करने के विकल्प उपलब्ध हैं।
ऑटोसेव कैसे काम करता है
डिफ़ॉल्ट रूप से अद्यतित तालिकाओं और क्लासिक तालिकाओं के लिए सभी मुख्य प्रपत्रों में स्वतः सहेजना सक्षम होता है। पंक्ति बनाए जाने (आरंभ में सहेजे जाने) के बाद, प्रपत्र में किए गए कोई भी परिवर्तन, परिवर्तन किए जाने के 30 सेकंड बाद स्वचालित रूप से सहेज लिए जाते हैं। यदि प्रपत्र में कोई परिवर्तन नहीं किया जाता है, तो प्रपत्र खुला रहने पर स्वचालित सहेजना नहीं होता है। परिवर्तन किए जाने के बाद, ऑटोसेव से पहले की 30 सेकंड की अवधि पुनः शुरू हो जाती है। यदि आपके द्वारा संपादन करते समय किसी अन्य व्यक्ति ने उसी पंक्ति को अद्यतन कर दिया है, तो स्वतः सहेजे जाने पर वे परिवर्तन पुनर्प्राप्त कर लिए जाते हैं और प्रपत्र में प्रदर्शित किए जाते हैं।
स्वतः सहेजना सक्षम होने पर, सहेजें बटन केवल पंक्ति के प्रारंभिक सहेजने के लिए ही दिखाई देता है। पंक्ति बनाने के बाद, कमांड बार में सहेजें बटन नहीं दिखाया गया है, लेकिन आप एक देख सकते हैं निचले दाएं कोने में बटन जो यह दर्शाता है कि क्या कोई सहेजा नहीं गया परिवर्तन है। यह नियंत्रण तब भी प्रदर्शित होता है जब स्वतःसहेजना अक्षम हो।
आप प्रपत्र में तुरंत पंक्ति सहेजने और डेटा रीफ़्रेश करने के लिए इस बटन को चुन सकते हैं. जब स्वतः सहेजना सक्षम होता है तो जब भी आप किसी पंक्ति से दूर जाते हैं या पंक्ति प्रदर्शित करने वाली अलग विंडो को बंद करते हैं तो पंक्ति सहेज ली जाती है। अद्यतन न की गई तालिकाओं के लिए प्रपत्रों में दिखाई देने वाले सहेजें और बंद करें बटन की कोई आवश्यकता नहीं है।
क्या आपको ऑटोसेव को अक्षम करना चाहिए?
यदि आपके पास प्लग-इन, वर्कफ़्लो या फ़ॉर्म स्क्रिप्ट हैं जो पंक्ति सहेजे जाने पर निष्पादित होते हैं, तो वे प्रत्येक बार ऑटोसेव होने पर चलेंगे। यदि इन एक्सटेंशन को ऑटोसेव के साथ काम करने के लिए डिज़ाइन नहीं किया गया है, तो इससे अवांछनीय व्यवहार हो सकता है। चाहे स्वतः सहेजना सक्षम हो या नहीं, प्लग-इन, वर्कफ़्लो और फ़ॉर्म स्क्रिप्ट को विशिष्ट परिवर्तनों को देखने के लिए डिज़ाइन किया जाना चाहिए, और प्रत्येक सहेजने की घटना के लिए अंधाधुंध तरीके से निष्पादित नहीं किया जाना चाहिए।
अगर आपने ऑडिटिंग किसी टेबल के लिए कॉन्फ़िगर किया हुआ है, तो सहेजने की प्रत्येक घटना को एक अलग अद्यतन माना जाता है. यदि कोई व्यक्ति बिना सहेजे गए परिवर्तनों वाले फॉर्म पर 30 सेकंड से अधिक समय तक रुकता है, तो आपको दूसरी प्रविष्टि तभी दिखाई देगी, जब वे स्वतः सहेजने के बाद और डेटा जोड़ेंगे। अगर आपके पास ऐसी रिपोर्ट हैं, जो ऑडिटिंग डेटा पर निर्भर करती हैं और सहेजने की प्रत्येक घटना को पंक्ति का एकल “स्पर्श” मानती हैं, तो हो सकता है कि आपको स्पर्शों की आवृत्ति में वृद्धि दिखाई दे. यदि आप इस दृष्टिकोण का उपयोग कर रहे हैं, तो आपको यह विचार करना चाहिए कि व्यक्तिगत उपयोगकर्ता व्यवहार इसे ऑटोसेव सक्षम होने या न होने पर भी एक अविश्वसनीय मीट्रिक बनाते हैं।
संगठन के लिए स्वतः सहेजना अक्षम करें
यदि आप यह निर्धारित करते हैं कि स्वतः सहेजना आपके द्वारा उपयोग किए जा रहे एक्सटेंशन के साथ समस्याएँ उत्पन्न करता है, तो Power Platform व्यवस्थापक इसे परिवेश के लिए अक्षम कर सकते हैं. व्यक्तिगत तालिकाओं या प्रपत्रों के लिए स्वतः सहेजना अक्षम करने हेतु कोई सेटिंग नहीं है.
- Power Platform व्यवस्थापक केंद्र में लॉग इन करें, पर्यावरण पर जाएं, और फिर इच्छित वातावरण खोलें।
- कमांड बार पर सेटिंग्स चुनें.
- उत्पाद विस्तृत करें, और फिर व्यवहार का चयन करें.
- मूल व्यवहार के अंतर्गत, स्वतः सहेजें के लिए, बंद का चयन करें.
किसी फ़ॉर्म के लिए स्वतः सहेजना अक्षम करें
यदि आप विशिष्ट तालिका प्रपत्रों के लिए स्वतः सहेजना अक्षम करना चाहते हैं, तो आप तालिका में OnSave
ईवेंट में कोड जोड़ सकते हैं.
नोट
इस विधि का उपयोग करने पर, प्रपत्र के लिए स्वतः-सहेजना अक्षम हो जाती है, लेकिन जब आप निचले-दाएं कोने में बटन. यदि आप किसी ऐसे प्रपत्र से दूर जाने का प्रयास करते हैं या किसी ऐसे प्रपत्र को बंद करते हैं, जिसमें डेटा परिवर्तित किया गया है, तो आपको प्रपत्र से दूर जाने या उसे बंद करने की अनुमति देने से पहले परिवर्तनों को सहेजने के लिए संकेत मिलता है।
नीचे दी गई प्रक्रिया का उपयोग करने से फॉर्म पर सहेजें और बंद करें बटन काम नहीं करता है, क्योंकि यह preventDefault
on saveMode
2 को कॉल करता है, जो सहेजें और बंद करें को संदर्भित करता है। आप इससे बचने के लिए नीचे दिए गए getSaveMode() == 2
चेक को हटा सकते हैं, लेकिन जब आप फ़ॉर्म से दूर जाने का प्रयास करते हैं या उस फ़ॉर्म को बंद करते हैं जहां डेटा बदल गया है, तो फ़ॉर्म स्वतः सहेज लिया जाता है। इस कारण से सहेजें और जारी रखें बटन भी काम नहीं करता है।
Power Apps में साइन इन करें.
बाएँ नेविगेशन फलक पर तालिकाएँ चुनें, इच्छित तालिका चुनें, और फिर प्रपत्र क्षेत्र चुनें. यदि आइटम साइड पैनल फलक में नहीं है, तो ...अधिक चुनें और फिर अपने इच्छित आइटम का चयन करें।
आप किसी समाधान के भीतर से तालिकाओं में समायोजन भी कर सकते हैं. ऐसा करने के लिए, बाएँ फलक पर समाधान चुनें, तालिका चुनें, और फिर फ़ॉर्म क्षेत्र चुनें. यदि आइटम साइड पैनल फलक में नहीं है, तो ...अधिक चुनें और फिर अपने इच्छित आइटम का चयन करें।
उस प्रपत्र को खोलें जिसे आप संपादित करना चाहते हैं.
क्लासिक फॉर्म डिजाइनर में फॉर्म को संपादित करने के लिए क्लासिक पर स्विच करें चुनें.
एक JavaScript वेब संसाधन बनाएँ और उसे प्रपत्र में जोड़ें:
प्रपत्र संपादक में, प्रपत्र समूह में, प्रपत्र गुण चुनें.
इवेंट टैब पर, प्रपत्र लाइब्रेरी के नीचे, जोड़ें चुनें.
लुक अप पंक्ति संवाद बॉक्स में, नया चुनें.
वेब संसाधन प्रपत्र में निम्न जानकारी दर्ज करें:
पद संदर्भ Actions toolbar पर, नया क्लिक करें. preventAutoSave प्रदर्शित नाम ऑटोसेव रोकें प्रकार स्क्रिप्ट (JScript) लिखें कॉलम के आगे, पाठ संपादक चुनें.
स्रोत कॉलम में, निम्न कोड चिपकाएँ:
function preventAutoSave(econtext) { var eventArgs = econtext.getEventArgs(); if (eventArgs.getSaveMode() == 70 || eventArgs.getSaveMode() == 2) { eventArgs.preventDefault(); } }
पाठ संपादक बंद करने के लिए ठीक चुनें.
वेब संसाधन सहेजने के लिए, सहेजें चुनें और फिर वेब संसाधन विंडो बंद करें.
लुक अप पंक्ति संवाद में आपके द्वारा बनाए गए नए वेब संसाधन का चयन कर लिया जाएगा. संवाद बंद करने के लिए जोड़ें चुनें.
OnSave
ईवेंट कॉन्फ़िगर करें:
1. **प्रपत्र गुण** विंडो में, **इवेंट हैंडलर** अनुभाग में, **इवेंट** को **OnSave** पर सेट करें.
2. **जोड़ें** चुनें.
3. **हैंडलर गुण** विंडो में, **लाइब्रेरी** को उस वेब संसाधन पर सेट करें, जिसे आपने पिछले चरण में जोड़ा था.
4. **फ़ंक्शन** कॉलम में ‘`preventAutoSave`’ लिखें. यह केस संवेदी है. उद्धरण चिह्न शामिल न करें.
5. सुनिश्चित करें कि **सक्षम** चेक किया गया है.
6. **निष्पादन संदर्भ को पहले पैरामीटर के रूप में पास करें** चेक करें.
> [!IMPORTANT]
> यदि आप ऐसा नहीं करेंगे तो स्क्रिप्ट काम नहीं करेगी।
**हैंडलर गुण** संवाद इस प्रकार दिखाई देने चाहिए. अनुकूलन उपसर्ग: "new_" आपके संगठन के लिए डिफ़ॉल्ट प्रकाशक हेतु सेट किए गए अनुकूलन उपसर्ग के आधार पर भिन्न हो सकता है.
![Dynamics 365 में स्वतः सहेजें को रोकने के लिए OnSave इवेंट हैंडलर.](media/prevent-auto-save-script.png "Dynamics 365 में स्वतः सहेजें को रोकने के लिए OnSave इवेंट हैंडलर")
7. **हैंडलर गुण** संवाद बंद करने के लिए, **ठीक** का चयन करें.
8. अगर `OnSave` इवेंट के लिए, कोई अन्य इवेंट हैंडलर मौजूद है, तो इसे सबसे ऊपर ले जाने के लिए हरे रंग के तीरों का उपयोग करें.
**प्रपत्र गुण** निम्नानुसार प्रदर्शित करना चाहिए. यहां दर्शाए गए उदाहरण में ध्यान दें, अद्यतन समाधान के भीतर से किया गया है और परिणामस्वरूप प्रकाशक उपसर्ग (dspin_) डिफ़ॉल्ट प्रकाशक (new_) द्वारा प्रदान किए गए उपसर्ग के समान नहीं है। ऐसा इसलिए है क्योंकि समाधान के लिए एक अलग [प्रकाशक](../model-driven-apps/model-driven-app-glossary.md#publisher) का प्रयोग किया जाता है.
:::image type="content" source="../../maker/model-driven-apps/media/disable-autosave-handler-complete.png" alt-text="उन्नत सेटिंग्स":::
प्रपत्र गुण संवाद बंद करने के लिए ठीक चुनें.
प्रपत्र बंद करने के लिए, सहेजें और बंद करें चुनें.
समाधान एक्सप्लोरर में सभी अनुकूलन प्रकाशित करें का चयन करें.
जब आप इस स्क्रिप्ट को OnSave
ईवेंट पर लागू करते हैं, तो जब उपयोगकर्ता इसका उपयोग करके पंक्ति संपादित करते हैं, तो असहेजें गए परिवर्तन संदेश फ़ॉर्म के निचले दाएँ कोने में दिखाई देता है, ठीक वैसे ही जैसे कि स्वतः सहेजना अक्षम न होने पर दिखाई देता है। लेकिन यह संदेश तब तक नहीं जाएगा जब तक लोग इसके बगल में बटन.
अगले कदम
नोट
क्या आप हमें अपनी दस्तावेज़ीकरण भाषा वरीयताओं के बारे में बता सकते हैं? एक छोटा सर्वेक्षण पूरा करें. (कृपया ध्यान दें कि यह सर्वेक्षण अंग्रेज़ी में है)
सर्वेक्षण में लगभग सात मिनट लगेंगे. कोई भी व्यक्तिगत डेटा एकत्र नहीं किया जाता है (गोपनीयता कथन).