Power Apps में अनुप्रयोग ऑब्जेक्ट

इस पर लागू होता है: कैनवास ऐप्स मॉडल-संचालित ऐप्स

इस समय चल रहे अनुप्रयोग के बारे में जानकारी देता है और अनुप्रयोग के व्यवहार पर नियंत्रण रखता है.

वर्णन

एक नियंत्रण की तरह, अनुप्रयोग ऑब्जेक्ट वे गुण देता है जो पहचानते हैं कि कौन सी स्क्रीन दिखाई दे रही है और उपयोगकर्ता को परिवर्तनों को सहेजने के लिए संकेत देती है, ताकि वे खो न जाएं. हर अनुप्रयोग में अनुप्रयोग ऑब्जेक्ट होता है.

आप अनुप्रयोग ऑब्जेक्ट के कुछ गुणों के लिए सूत्र लिख सकते हैं. ट्री दृश्य फलक के सबसे ऊपर, अनुप्रयोग ऑब्जेक्ट चुनें, जैसा कि आप किसी भी अन्य नियंत्रण या स्क्रीन के लिए करते हैं. सूत्र पट्टी के बाईं ओर ड्रॉप-डाउन सूची में चयन करके किसी ऑब्जेक्ट के गुणों को देखें और संपादित करें.

ट्री व्यू फलक में ऐप ऑब्जेक्ट.

ActiveScreen गुण

ActiveScreen गुण दिखने वाली स्क्रीन की पहचान करती है.

यह गुण एक स्क्रीन ऑब्जेक्ट लौटाता है. इसका उपयोग वर्तमान में प्रदर्शित स्क्रीन के गुणों को संदर्भित करने के लिए करें, जैसे कि सूत्र App.ActiveScreen.Name के साथ नाम। आप इस गुण की तुलना किसी अन्य स्क्रीन ऑब्जेक्ट से भी कर सकते हैं, जैसे तुलना सूत्र App.ActiveScreen = Screen2 के साथ यह जाँचने के लिए कि क्या Screen2 वर्तमान में प्रदर्शित स्क्रीन है.

उस स्क्रीन को बदलने के लिए Back या Navigate फ़ंक्शन का उपयोग करें.

BackEnabled संपत्ति

BackEnabled प्रॉपर्टी यह बदलती है कि मोबाइल में चलते समय ऐप डिवाइस बैक जेस्चर (डिवाइस पर स्वाइप करें या हार्डवेयर बैक बटन का उपयोग करें, डिवाइस पर बाईं ओर से स्वाइप करें) पर कैसे प्रतिक्रिया करता है। Android iOS Power Apps सक्षम होने पर, डिवाइस बैक जेस्चर उस स्क्रीन पर वापस जाता है जो सबसे हाल ही में प्रदर्शित की गई थी, जो कि बैक सूत्र के समान है। अक्षम होने पर, डिवाइस बैक जेस्चर उपयोगकर्ता को ऐप सूची पर वापस ले जाता है।

ConfirmExit गुण

कोई भी सहेजे नहीं गए परिवर्तनों को खोना चाहता है। अपने अनुप्रयोग को बंद करने से पहले उपयोगकर्ता को चेतावनी देने के लिए ConfirmExit और ConfirmExitMessage गुणों का उपयोग करें.

नोट

  • ConfirmExit उन अनुप्रयोग में काम नहीं करता, जो एम्बेडेड इन हैं, उदाहरण के लिए, Power BI और SharePoint.
  • इस समय, यदि विलंबित लोड पूर्वावलोकन सुविधा सक्षम है तो ये गुण केवल पहली स्क्रीन पर नियंत्रणों को संदर्भित कर सकते हैं (जो कि नए अनुप्रयोग के लिए डिफ़ॉल्ट रूप से होता है). यदि संदर्भ बनाए गए हैं, तो Power Apps Studio त्रुटि नहीं दिखाता है, लेकिन परिणामस्वरूप प्रकाशित अनुप्रयोग Power Apps मोबाइल या ब्राउज़र में नहीं खुलता है. हम इस सीमा को उठाने के लिए सक्रिय रूप से काम कर रहे हैं. इस बीच, आप विलंबित लोड को सेटिंग्स>आगामी सुविधाओं (पूर्वावलोकन के अंतर्गत) में बंद कर सकते हैं.

ConfirmExit

ConfirmExit बुलियन गुण है जो, जब सही पर सेट होता है तो, अनुप्रयोग के बंद होने से पहले एक पुष्टिकरण संवाद बॉक्स खोलता है. डिफ़ॉल्ट रूप से, यह गुण गलत होता है और कोई संवाद बॉक्स प्रकट नहीं होता है.

ऐसी परिस्थितियों में जहां उपयोगकर्ता के पास ऐप में सहेजे न गए परिवर्तन हो सकते हैं, ऐप से बाहर निकलने से पहले पुष्टिकरण संवाद बॉक्स दिखाने के लिए इस गुण का उपयोग करें। एक सूत्र का उपयोग करें जो चर और नियंत्रण गुणों की जांच कर सकता है (उदाहरण के लिए, न सहेजा गयाकी संपत्ति प्रपत्र संपादित करेंनियंत्रण)।

पुष्टिकरण संवाद बॉक्स किसी भी स्थिति में प्रकट होता है जहां डेटा खो सकता है, जैसा कि इन उदाहरणों में है:

  • Exit फ़ंक्शन चलाना.
  • यदि अनुप्रयोग किसी ब्राउज़र में चल रहा है:
    • उस ब्राउज़र या ब्राउज़र टैब को बंद करना जिसमें अनुप्रयोग चल रहा है.
    • ब्राउज़र के बैक बटन का चयन करना.
    • स्वयं के LaunchTarget के साथ Launch फंक्शन चलाना.
  • यदि ऐप मोबाइल (या मोबाइल) में चल रहा है: Power Apps iOS Android
    • Power Apps मोबाइल में किसी अन्य अनुप्रयोग पर स्विच करने के लिए स्वाइप करना.
    • Android डिवाइस पर बैक बटन का चयन करना.
    • एक और कैनवास अनुप्रयोग लॉन्च करने के लिए Launch फ़ंक्शन चलाना.

पुष्टिकरण संवाद बॉक्स का सटीक आकार डिवाइस और Power Apps के संस्करणों में भिन्न हो सकता है.

Power Apps Studio में पुष्टिकरण संवाद बॉक्स दिखाई नहीं देता है.

ConfirmExitMessage

डिफ़ॉल्ट रूप से, पुष्टिकरण संवाद बॉक्स एक सामान्य संदेश दिखाता है, जैसे "आपके पास बिना सहेजे गए परिवर्तन हो सकते हैं." उपयोगकर्ता की भाषा में.

उपयोग ConfirmExitMessageपुष्टिकरण संवाद बॉक्स में एक कस्टम संदेश प्रदान करने के लिए. यदि यह गुण खाली है, तो डिफ़ॉल्ट मान का उपयोग किया जाता है. कस्टम संदेश को पुष्टिकरण संवाद बॉक्स के भीतर फिट होने के लिए छोटा कर दिया जाता है, इसलिए संदेश को कम पंक्तियों तक सीमित रखें.

एक ब्राउज़र में, पुष्टिकरण संवाद बॉक्स ब्राउज़र से एक सामान्य संदेश के साथ दिखाई दे सकता है.

नोट

ऐप ऑब्जेक्ट में दो और गुण हैं OnMessage और BackEnabled जो प्रयोगात्मक हैं. इन गुणों को अंततः ऐप ऑब्जेक्ट से हटा दिया जाएगा. हम अनुशंसा करते हैं कि आप इन गुणों का उपयोग अपने संचालन परिवेश में न करें.

उदाहरण

  1. एक अनुप्रयोग बनाएं जिसमें दो प्रपत्र नियंत्रण हों, AccountForm और ContactForm.

  2. इस व्यंजक के लिए अनुप्रयोग ऑब्जेक्ट ConfirmExit गुण सेट करें:

    AccountForm.Unsaved Or ContactForm.Unsaved
    

    यदि उपयोगकर्ता किसी भी प्रपत्र में डेटा बदलता है और फिर उन परिवर्तनों को सहेजे बिना अनुप्रयोग को बंद करने का प्रयास करता है तो यह संवाद बॉक्स दिखाई देता है.

    सामान्य पुष्टिकरण संवाद बॉक्स.

  3. इस सूत्र में अनुप्रयोग ऑब्जेक्ट का ConfirmExitMessage गुण सेट करें:

    If( AccountsForm.Unsaved,
        "Accounts form has unsaved changes.",
        "Contacts form has unsaved changes."
    )
    

    यदि उपयोगकर्ता खाता प्रपत्र में डेटा बदलता है और फिर उन परिवर्तनों को सहेजे बिना अनुप्रयोग को बंद करने का प्रयास करता है यह संवाद बॉक्स दिखाई देता है.

    प्रपत्र-विशिष्ट पुष्टिकरण संवाद बॉक्स.

इसके लिए इंस्ट्रूमेंटेशन कुंजी सेटअप करें Application Insights

सिस्टम-जनरेटेड एप्लिकेशन लॉग को Application Insights में निर्यात करने के लिए, आपको अपने कैनवास ऐप के लिए इंस्ट्रूमेंटेशन कुंजी सेट अप करना होगा.

  1. स्टुइडो में संपादन के लिए अपना ऐप खोलें। Power Apps
  2. बाएँ नेविगेशन ट्री दृश्य में ऐप ऑब्जेक्ट का चयन करें.
  3. गुण फलक में इंस्ट्रूमेंटेशन कुंजी दर्ज करें.

यदि ऐप इनसाइट्स को डेटा नहीं भेजा जाता है, तो अपने Power Platform व्यवस्थापक से संपर्क करें और सत्यापित करें कि क्या ऐप इनसाइट्स टेनेंट स्तर पर अक्षम है।

सूत्र संपत्ति

आपके पूरे ऐप में पुन: उपयोग किए जा सकने वाले सूत्र को परिभाषित करने के लिए सूत्र गुण में नामित सूत्रों का उपयोग करें.

Power Apps में, नियंत्रण गुण सूत्रों द्वारा संचालित होते हैं. उदाहरण के लिए, किसी ऐप में लगातार पृष्ठभूमि रंग सेट करने के लिए, आप प्रत्येक के लिए भरें गुण को एक सामान्य सूत्र पर सेट कर सकते हैं:

Label1.Fill: ColorValue( Param( "BackgroundColor" ) )
Label2.Fill: ColorValue( Param( "BackgroundColor" ) )
Label3.Fill: ColorValue( Param( "BackgroundColor" ) )

इतने सारे स्थानों के साथ जहां यह सूत्र प्रकट हो सकता है, यह कठिन हो जाता है और परिवर्तन की आवश्यकता होने पर उन सभी को अपडेट करने में त्रुटि होती है. इसके बजाय, आप रंग को एक बार सेट करने के लिए OnStart में एक वैश्विक चर बना सकते हैं, और फिर पूरे ऐप में मान का पुन: उपयोग कर सकते हैं:

App.OnStart: Set( BGColor, ColorValue( Param( "BackgroundColor" ) ) )
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor

जबकि यह तरीका बेहतर है, यह BGColor के मान स्थापित होने से पहले चलने वाले OnStart पर भी निर्भर करता है. BGColor को ऐप के किसी कोने में हेरफेर भी किया जा सकता है, जिसके बारे में निर्माता अनजान है, किसी और द्वारा किया गया बदलाव, और जिसे ट्रैक करना मुश्किल हो सकता है.

नामांकित सूत्र एक विकल्प प्रदान करते हैं. जैसे हम आमतौर पर नियंत्रण-संपत्ति = अभिव्यक्ति लिखते हैं, वैसे ही हम इसके बजाय नाम = अभिव्यक्ति लिख सकते हैं और फिर अभिव्यक्ति को बदलने के लिए अपने पूरे ऐप में नाम का पुन: उपयोग कर सकते हैं. इन सूत्रों की परिभाषाएँ सूत्र गुण में की गई हैं:

App.Formulas: BGColor = ColorValue( Param( "BackgroundColor" ) );
Label1.Fill: BGColor
Label2.Fill: BGColor
Label3.Fill: BGColor

नामित फ़ार्मुलों का उपयोग करने के लाभों में शामिल हैं:

  • सूत्र का मान हमेशा उपलब्ध होता है. कोई समय निर्भरता नहीं है, कोई OnStart नहीं है जो मान सेट होने से पहले चलना चाहिए, ऐसा कोई समय नहीं जिसमें सूत्र का मान गलत हो. नामांकित सूत्र एक दूसरे को किसी भी क्रम में संदर्भित कर सकते हैं, जब तक कि वे एक परिपत्र संदर्भ नहीं बनाते हैं. उनकी गणना समानांतर में की जा सकती है.
  • सूत्र मान हमेशा अद्यतित रहता है. सूत्र एक गणना कर सकता है जो नियंत्रण गुणों या डेटाबेस रिकॉर्ड पर निर्भर है, और जैसे ही वे बदलते हैं, सूत्र का मान स्वचालित रूप से अपडेट हो जाता है. जैसा कि आप एक चर के साथ करते हैं, आपको मान को मैन्युअल रूप से अपडेट करने की आवश्यकता नहीं है. और सूत्र केवल जरूरत पड़ने पर ही पुनर्गणना करते हैं.
  • सूत्र की परिभाषा अपरिवर्तनीय है. फ़ॉर्मूला में दी गई परिभाषा सच्चाई का एकमात्र स्रोत है और मान को ऐप में कहीं और नहीं बदला जा सकता है. चरों के साथ, यह संभव है कि कुछ कोड अप्रत्याशित रूप से मान को बदल दें, लेकिन नामित सूत्रों के साथ यह संभव नहीं है.
  • सूत्र की गणना को टाला जा सकता है. क्योंकि इसका मूल्य अपरिवर्तनीय है, इसलिए आवश्यकता पड़ने पर इसकी गणना हमेशा की जा सकती है, जिसका अर्थ है कि जब तक इसकी आवश्यकता न हो, इसकी गणना करने की आवश्यकता नहीं है। किसी ऐप्लिकेशन के screen2 के प्रदर्शित होने तक उपयोग नहीं किए जाने वाले फ़ॉर्मूला मानों की गणना तब तक नहीं की जानी चाहिए जब तक कि screen2 दिखाई न दे. इस कार्य को स्थगित करने से ऐप लोड समय में सुधार हो सकता है. नामित सूत्र घोषणात्मक हैं और सिस्टम को यह अनुकूलित करने के अवसर प्रदान करते हैं कि उनकी गणना कैसे और कब की जाती है.
  • नामांकित सूत्र एक Excel अवधारणा है. Power Fx Excel अवधारणाओं का उपयोग करता है जहां संभव हो क्योंकि इतने सारे लोग Excel को अच्छी तरह से जानते हैं. नामांकित सूत्र नाम प्रबंधक के साथ प्रबंधित एक्सेल में नामित कोशिकाओं और नामित सूत्रों के बराबर हैं. वे स्प्रैडशीट की तरह स्वचालित रूप से पुनर्गणना करते हैं, जैसे नियंत्रण गुण करते हैं.

नामांकित सूत्र एक के बाद एक सूत्र गुण में परिभाषित किए जाते हैं, प्रत्येक एक अर्धविराम के साथ समाप्त होता है. सूत्र के प्रकार का अनुमान व्यंजक के प्रकारों से लगाया जाता है, जो व्यंजक में मौजूद तत्वों के प्रकार और उनका एक साथ उपयोग करने के तरीके पर आधारित होता है. उदाहरण के लिए, ये नामित सूत्र Dataverse से वर्तमान उपयोगकर्ता के बारे में उपयोगी जानकारी प्राप्त करते हैं:

UserEmail = User().Email;
UserInfo = LookUp( Users, 'Primary Email' = User().Email );
UserTitle = UserInfo.Title;
UserPhone = Switch( UserInfo.'Preferred Phone', 
                    'Preferred Phone (Users)'.'Mobile Phone', UserInfo.'Mobile Phone',
                    UserInfo.'Main Phone' );

यदि UserTitle के सूत्र को अद्यतन करने की आवश्यकता है, तो इसे इस एक स्थान पर आसानी से किया जा सकता है. यदि ऐप में UserPhone की आवश्यकता नहीं है, तो ये कॉल Dataverse में उपयोगकर्ताओं तालिका में नहीं किए जाते हैं. उपयोग नहीं की गई सूत्र परिभाषा को शामिल करने के लिए कोई जुर्माना नहीं है.

नामांकित सूत्रों की कुछ सीमाएँ:

  • वे व्यवहार कार्यों का उपयोग नहीं कर सकते हैं या अन्यथा ऐप के भीतर दुष्प्रभाव पैदा कर सकते हैं.
  • वे एक परिपत्र संदर्भ नहीं बना सकते. एक ही ऐप में a = b; और b = a; होने की अनुमति नहीं है.

OnError गुण

त्रुटि का पता चलने के बाद कार्रवाई करने के लिए OnError का उपयोग करें. यह अंतिम उपयोगकर्ता को प्रदर्शित होने से पहले एक त्रुटि बैनर को इंटरसेप्ट करने का वैश्विक अवसर प्रदान करता है. इसका उपयोग ट्रेस फ़ंक्शन के साथ किसी त्रुटि को लॉग करने या किसी डेटाबेस या वेब सेवा पर लिखने के लिए भी किया जा सकता है.

त्रुटि के लिए प्रत्येक सूत्र मूल्यांकन के परिणाम की जाँच की जाती है. यदि यह एक त्रुटि है, तो OnError का मूल्यांकन उन्हीं FirstError और AllErrors कार्यक्षेत्र चरों के साथ किया जाएगा जो तब मौजूद होते जब संपूर्ण सूत्र IfError फ़ंक्शन में लपेटा गया होता.

अगर OnError खाली है, तो त्रुटि के FirstError.Message के साथ एक डिफ़ॉल्ट त्रुटि बैनर दिखाया जाता है. किसी OnError फ़ॉर्मूला को परिभाषित करने से यह व्यवहार ओवरराइड हो जाता है जिससे निर्माता को त्रुटि रिपोर्टिंग को संभालने में सक्षम बनाता है जैसा कि वे फिट देखते हैं. त्रुटि फ़ंक्शन के साथ त्रुटि को रीथ्रो करके OnError में डिफ़ॉल्ट व्यवहार का अनुरोध किया जा सकता है. यह तब उपयोगी होता है जब कुछ त्रुटियों को अलग तरीके से फ़िल्टर या हैंडल करना होता है, जबकि अन्य को पास करना होता है.

OnError गणना में किसी त्रुटि को उस तरह से प्रतिस्थापित नहीं कर सकता जिस तरह IfError कर सकता है. उस बिंदु पर जब OnError का आह्वान किया जाता है, त्रुटि पहले ही हो चुकी है और इसे पहले से ही सूत्र गणनाओं के माध्यम से संसाधित किया जा चुका है. *OnError* केवल त्रुटि रिपोर्टिंग को नियंत्रित करता है.

OnError सूत्रों का समवर्ती मूल्यांकन किया जाता है और यह संभव है कि उनका मूल्यांकन अन्य संबंधों के साथ वरीयता के साथ हो सकता है. उदाहरण के लिए, यदि आप किसी OnError के शीर्ष पर एक वैश्विक चर सेट करते हैं और इसे बाद में उसी सूत्र में पढ़ते हैं, तो मान बदल सकता है. सूत्र के लिए स्थानीय नामित मान बनाने के लिए साथ फ़ंक्शन का उपयोग करें.

हालांकि प्रत्येक त्रुटि को OnError द्वारा व्यक्तिगत रूप से संसाधित किया जाता है, डिफ़ॉल्ट त्रुटि बैनर प्रत्येक त्रुटि के लिए व्यक्तिगत रूप से प्रकट नहीं हो सकता है. एक ही समय में बहुत अधिक त्रुटि बैनर प्रदर्शित होने से बचने के लिए, वही त्रुटि एक नया त्रुटि बैनर ट्रिगर नहीं करेगी यदि यह हाल ही में दिखाया गया है.

उदाहरण

एक लेबल नियंत्रण और स्लाइडर नियंत्रण पर विचार करें जो सूत्र के माध्यम से एक साथ बंधे हैं:

Label1.Text = 1/Slider1.Value

लेबल और स्लाइडर नियंत्रण सूत्र Label1.Text = 1/Slider1.Value के माध्यम से बंधे हैं.

स्लाइडर 50 पर डिफॉल्ट करता है. यदि स्लाइडर को 0 पर ले जाया जाता है, Label1 कोई मान नहीं दिखाएगा, और एक त्रुटि बैनर दिखाया जाएगा:

स्लाइडर नियंत्रण 0 पर चला गया, जिसके परिणामस्वरूप शून्य से विभाजन त्रुटि, तथा त्रुटि बैनर उत्पन्न हुआ।

आइए देखें कि क्या हुआ विस्तार से:

  1. उपयोगकर्ता स्लाइड को बाईं ओर ले गया और Slide1.Value गुण 0 में बदल गया.
  2. Label1.Text का स्वचालित रूप से पुनर्मूल्यांकन किया गया था. शून्य से विभाजन हुआ, एक त्रुटि उत्पन्न हुई.
  3. इस सूत्र में कोई IfError नहीं है. सूत्र मूल्यांकन द्वारा शून्य त्रुटि द्वारा विभाजन लौटाया जाता है.
  4. Label1.Text इस त्रुटि के लिए कुछ भी नहीं दिखा सकता है, इसलिए यह रिक्त स्थिति दिखाता है.
  5. OnError लागू किया गया है. चूंकि कोई हैंडलर नहीं है, मानक त्रुटि बैनर त्रुटि जानकारी के साथ प्रदर्शित होता है.

यदि आवश्यक हो, तो हम सूत्र को Label1.Text = IfError( 1/Slider1.Value, 0 ) में संशोधित भी कर सकते हैं. इसके परिणामस्वरूप कोई त्रुटि या त्रुटि बैनर नहीं होगा. हम OnError से किसी त्रुटि का मान नहीं बदल सकते क्योंकि उस बिंदु पर त्रुटि पहले ही हो चुकी है, यह केवल एक प्रश्न है कि इसकी रिपोर्ट कैसे की जाएगी.

अगर हम एक OnError हैंडलर जोड़ते हैं, तो चरण 5 से पहले इसका कोई प्रभाव नहीं पड़ेगा, लेकिन यह इस बात को प्रभावित कर सकता है कि त्रुटि की रिपोर्ट कैसे की जाती है:

Trace( $"Error {FirstError.Message} in {FirstError.Source}" )

App.OnError सूत्र ट्रेस उत्पन्न करने के लिए सेट किया गया.

इसके साथ, ऐप उपयोगकर्ता के दृष्टिकोण से, कोई त्रुटि नहीं होगी. लेकिन त्रुटि को मॉनिटर के ट्रेस में जोड़ा जाएगा, FirstError से त्रुटि जानकारी के स्रोत के साथ पूरा:

स्लाइडर नियंत्रण 0 पर चला गया, जिसके परिणामस्वरूप शून्य से विभाजन त्रुटि हुई, लेकिन कोई त्रुटि बैनर नहीं आया।

यदि हम ट्रेस के अलावा समान डिफ़ॉल्ट त्रुटि बैनर भी प्रदर्शित करना चाहते हैं, तो हम ट्रेस कॉल के बाद त्रुटि फ़ंक्शन के साथ त्रुटि को फिर से फेंक सकते हैं, जैसा कि ट्रेस नहीं होने पर होता था:

Trace( $"Error {FirstError.Message} in {FirstError.Source}" );
Error( FirstError )

OnStart संपत्ति

नोट

किसी अनुप्रयोग को लोड करते समय OnStart गुण का उपयोग प्रदर्शन की समस्याओं का कारण बन सकता है. हम संपत्ति का उपयोग करने के शीर्ष दो कारणों के लिए विकल्प बनाने की प्रक्रिया में हैं - डेटा कैश करना और वैश्विक चर सेट अप करना. हमने Navigate के साथ दिखाई जाने वाली पहली स्क्रीन को परिभाषित करने के लिए विकल्प पहले ही बना लिया है. आपके संदर्भ के आधार पर, यह गुण डिफ़ॉल्ट रूप से अक्षम किया जा सकता है. यदि आप इसे नहीं देखते हैं और आपको इसका उपयोग करने की ज़रूरत है, तो इसे सक्षम करने के लिए स्विच करने के लिए अनुप्रयोग की उन्नत सेटिंग्स जांचें. स्क्रीन के OnVisible गुण को भी उपयोग किया जा सकता है.

जब उपयोगकर्ता अनुप्रयोग शुरू करता है तो OnStart गुण चलता है. इस गुण का उपयोग अक्सर निम्नलिखित कार्यों को करने के लिए किया जाता है:

  • Collect फ़ंक्शन का उपयोग करके संग्रह में डेटा पुनर्प्राप्त और कैश करें.
  • Set function का उपयोग करके वैश्विक चर सेट करें.

पहली स्क्रीन दिखाई देने से पहले इस सूत्र का मूल्यांकन किया जाता है. कोई स्क्रीन लोड नहीं है, इसलिए आप UpdateContext फ़ंक्शन के साथ संदर्भ चर सेट नहीं कर सकते. हालांकि, आप Navigate फ़ंक्शन के साथ संदर्भ चर पास कर सकते हैं.

आपके द्वारा OnStart गुण को बदलने के बाद, ट्री दृश्य फलक में ऐप ऑब्जेक्ट पर हवर करके, इलिप्सिस (...) को चुनकर और फिर OnStart चलाएं को चुनकर इसका परीक्षण करें. जब अनुप्रयोग पहली बार लोड होता है, तो इसके विपरीत, मौजूदा संग्रह और चर पहले ही सेट हो जाएंगे. खाली संग्रहों के साथ शुरू करने के लिए, ClearCollect फ़ंक्शन के बजाय Collect फ़ंक्शन का उपयोग करें.

Run OnStart के लिए अनुप्रयोग-आइटम शॉर्टकट मेनू

नोट

  • OnStart गुण में Navigate फ़ंक्शन का उपयोग करना बंद कर दिया गया है. मौजूदा ऐप्स काम करते रहेंगे. सीमित समय के लिए, आप अभी भी इसे ऐप सेटिंग (रिटायर्ड के अंतर्गत उपलब्ध) में सक्षम कर सकते हैं. हालांकि, इस तरह से Navigate का उपयोग करने से ऐप लोड में देरी हो सकती है, क्योंकि यह सिस्टम को पहली स्क्रीन दिखाई देने से पहले OnStart का मूल्यांकन पूरा करने के लिए बाध्य करता है. दिखने वाली पहली स्क्रीन की गणना करने के लिए इसके बजाय StartScreen गुण का उपयोग करें.
  • मार्च 2021 से पहले बनाए गए उन ऐप्स के लिए रिटायर्ड स्विच बंद कर दिया जाएगा, जिनमें आपने मार्च 2021 और अब के बीच Navigate को OnStart में जोड़ा है. जब आप Power Apps Studio में ऐसे ऐप्स को संपादित करते हैं, तो आपको एक त्रुटि दिखाई दे सकती है. इस त्रुटि को दूर करने के लिए ऊपर बताए गए रिटायर्ड स्विच को चालू करें.

StartScreen गुण

नोट

StartScreen संपत्ति गुणों की सूची में दिखाई नहीं देगी जब सेवानिवृत्त विकल्प उन्नत सूत्र पट्टी चालू हो. उन्नत सूत्र बार को बंद करने के लिए सेटिंग्स>आगामी सुविधाओं>सेवानिवृत्त> पर जाएं उन्नत सूत्र बार स्विच को बंद करें जब आप StartScreen संपत्ति का उपयोग करना चाहते हैं.

StartScreen गुण निर्धारित करती है कि कौन सी स्क्रीन पहले दिखाई जाएगी. ऐप लोड होने पर इसका मूल्यांकन एक बार किया जाता है और स्क्रीन ऑब्जेक्ट को प्रदर्शित करने के लिए देता है. डिफ़ॉल्ट रूप से, यह गुण खाली होगा और स्टूडियो वृक्ष दृश्य में पहली स्क्रीन पहले दिखाई जाती है.

StartScreen डेटा प्रवाह गुण है जिसमें व्यवहार कार्य शामिल नहीं हो सकते हैं. सभी डेटा प्रवाह कार्य उपलब्ध हैं, विशेष रूप से इन कार्यों और संकेतों का उपयोग यह निर्धारित करने के लिए करते हैं कि कौन सी स्क्रीन पहले दिखाई जाए:

  • Param फंक्शन ऐप को शुरू करने के लिए उपयोग किए जाने वाले मापदंडों को पढ़ने के लिए कार्य करता है.
  • उपयोगकर्ता फंक्शन वर्तमान उपयोगकर्ता के बारे में जानकारी पढ़ने के लिए कार्य करता है.
  • LookUp, फ़िल्टर करें, CountRows, अधिकतम, और अन्य फ़ंक्शन जो डेटा स्रोत से पढ़े जाते हैं.
  • कोई भी API एक कनेक्टर के माध्यम से कॉल करता है, लेकिन सावधान रहें कि यह जल्दी से वापस आ जाए.
  • कनेक्शन, कंपास और ऐप जैसे सिग्नल.

नोट

वैश्विक चर और संग्रह, जिनमें OnStart में निर्मित चर शामिल हैं, StartScreen में उपलब्ध नहीं हैं. ऐसा करने के लिए घोषणात्मक विकल्प हैं जो जल्द मिलेंगे. इस प्रतिबंध पर अपने फ़ीडबैक के लिए, Power Apps समुदाय फ़ोरम पर जाएं.

अगर StartScreen कोई त्रुटि देता है, तो स्टूडियो वृक्ष दृश्य में पहली स्क्रीन इस तरह दिखाई जाएगी मानो StartScreen सेट नहीं की गई हो. किसी भी त्रुटि को पकड़ने और उचित त्रुटि स्क्रीन पर रीडायरेक्ट करने के लिए IfError फ़ंक्शन उपयोग करें.

स्टूडियो में StartScreen बदलने के बाद, ट्री दृश्य फलक में ऐप ऑब्जेक्ट पर होवर करके, इलिप्सिस (...) चुनकर और फिर StartScreen पर नेविगेट करें चुनकर इसका परीक्षण करें. जैसे ही ऐप लोड हो जाएगा स्क्रीन बदल जाएगी.

StartScreen पर नेविगेट करें

उदाहरण

Screen9

बताता है कि जब भी ऐप शुरू होता है तो Screen9 को सबसे पहले दिखाया जाना चाहिए.

If( Param( "admin-mode" ) = 1, HomeScreen, AdminScreen )

जांचता है कि क्या उपयोगकर्ता द्वारा परम "व्यवस्थापक-मोड" सेट किया गया है और इसका उपयोग यह तय करने के लिए करता है कि HomeScreen या AdminScreen को पहले दिखाया जाना चाहिए या नहीं.

If( LookUp( Attendees, User = User().Email ).Staff, StaffPortal, HomeScreen )

जांचता है कि क्या कॉन्फ़्रेंस में शामिल होने वाला कोई कर्मचारी सदस्य है और उन्हें स्टार्टअप पर उचित स्क्रीन पर भेजता है.

IfError( If( CustomConnector.APICall() = "Forest", 
             ForestScreen, 
             OceanScreen 
         ), 
         ErrorScreen 
)

API कॉल के आधार पर ऐप को ForestScreen या OceanScreen पर भेजता है. यदि किसी कारण से API विफल हो जाता है, तो इसके बजाय ErrorScreen का उपयोग किया जाता है.

स्टूडियो संस्करण संपत्ति

किसी ऐप को प्रकाशित करने के लिए उपयोग किए गए संस्करण को प्रदर्शित या लॉग करने के लिए StudioVersion प्रॉपर्टी का उपयोग करें। Power Apps Studio यह डिबगिंग के समय उपयोगी हो सकता है और यह सुनिश्चित करने के लिए कि आपका ऐप Power Apps Studio के नवीनतम संस्करण के साथ पुनः प्रकाशित किया गया है।

StudioVersion पाठ के रूप में लौटाया जाता है. पाठ का प्रारूप समय के साथ बदल सकता है और इसे समग्र रूप में ही पढ़ना चाहिए; अलग-अलग भागों को निकालने से बचें।