Αντικείμενο App στο Power Apps

Ισχύει σε: Εφαρμογές καμβά Εφαρμογές βάσει μοντέλου

Παρέχει πληροφορίες σχετικά με την εφαρμογή που εκτελείται τη συγκεκριμένη στιγμή και έλεγχο της συμπεριφοράς της εφαρμογής.

Περιγραφή

Όπως ένα στοιχείο ελέγχου, το αντικείμενο εφαρμογής παρέχει ιδιότητες που προσδιορίζουν ποια οθόνη εμφανίζεται και που ζητούν από το χρήστη να αποθηκεύσει τις αλλαγές, έτσι ώστε να μην χαθούν. Κάθε εφαρμογή έχει ένα αντικείμενο εφαρμογής.

Μπορείτε να συντάξετε τύπους για ορισμένες ιδιότητες του αντικειμένου εφαρμογής. Στο επάνω μέρος του τμήματος παραθύρου προβολής δέντρου, επιλέξτε το αντικείμενο εφαρμογής όπως θα κάνατε με οποιοδήποτε άλλο στοιχείο ελέγχου ή οθόνη. Προβάλετε και επεξεργαστείτε μία από τις ιδιότητες του αντικειμένου, επιλέγοντάς την στην αναπτυσσόμενη λίστα, στα αριστερά της γραμμής τύπων.

Το αντικείμενο εφαρμογής στο τμήμα παραθύρου προβολής δέντρου.

Ιδιότητα ActiveScreen

Η ιδιότητα ActiveScreen προσδιορίζει την οθόνη που εμφανίζεται.

Αυτή η ιδιότητα επιστρέφει ένα αντικείμενο οθόνης. Χρησιμοποιήστε τη για να αναφέρετε ιδιότητες της οθόνης που εμφανίζεται τη δεδομένη στιγμή, όπως το όνομα με τον τύπο App.ActiveScreen.Name. Μπορείτε, επίσης, να συγκρίνετε αυτήν την ιδιότητα με ένα άλλο αντικείμενο οθόνης, όπως με τον τύπο σύγκρισης App.ActiveΏνΤελλον = Screen2 για να ελέγξετε αν το Screen2 είναι η οθόνη που εμφανίζεται τη δεδομένη στιγμή.

Χρησιμοποιήστε τη συνάρτηση Back ή Navigate για να αλλάξετε την οθόνη που εμφανίζεται.

Ιδιότητα BackEnabled

Η ιδιότητα BackEnabled αλλάζει τον τρόπο με τον οποίο η εφαρμογή ανταποκρίνεται στη χειρονομία επιστροφής της συσκευής (σύρετε ή χρησιμοποιήστε το κουμπί επιστροφής υλικού σε συσκευές Android, σύρετε από αριστερά και πάνω σε συσκευές iOS) όταν εκτελούνται σε κινητά Power Apps. Όταν είναι ενεργοποιημένη, η κίνηση προς τα πίσω της συσκευής πλοηγείται πίσω στην οθόνη που εμφανίστηκε πιο πρόσφατα, η οποία είναι παρόμοια με τον τύπο Πίσω. Όταν είναι απενεργοποιημένη, η κίνηση επιστροφής της συσκευής επιστρέφει τον χρήστη στη λίστα εφαρμογών.

Ιδιότητες ConfirmExit

Κανείς δεν θέλει να χάσει τις αλλαγές που δεν έχουν αποθηκευτεί. Χρησιμοποιήστε τις ιδιότητες ConfirmExit και ConfirmExitMessage για να προειδοποιήσετε το χρήστη προτού κλείσει την εφαρμογή σας.

Σημείωμα

  • Το ConfirmExit δεν λειτουργεί σε εφαρμογές που είναι ενσωματωμένες, για παράδειγμα, στο Power BI και το SharePoint.
  • Επί του παρόντος, αυτές οι ιδιότητες μπορούν να αναφέρονται σε στοιχεία ελέγχου μόνο στην πρώτη οθόνη, εάν η δυνατότητα προεπισκόπησης καθυστερημένης φόρτωσης είναι ενεργοποιημένη (η οποία είναι από προεπιλογή για νέες εφαρμογές). Εάν γίνονται αναφορές, το Power Apps Studio δεν εμφανίζει κάποιο σφάλμα, αλλά η δημοσιευμένη εφαρμογή που προκύπτει δεν ανοίγει στο Power Apps Mobile ή σε πρόγραμμα περιήγησης. Εργαζόμαστε για να καταργήσουμε αυτόν τον περιορισμό. Στο εντωμεταξύ, μπορείτε να απενεργοποιήσετε την καθυστερημένη φόρτωση στις Ρυθμίσεις>Επερχόμενες δυνατότητες (στην περιοχή Προεπισκόπηση).

ConfirmExit

ConfirmExit είναι μια δυαδική ιδιότητα η οποία, όταν είναι true, ανοίγει ένα παράθυρο διαλόγου επιβεβαίωσης πριν κλείσει η εφαρμογή. Από προεπιλογή, αυτή η ιδιότητα είναι false και δεν εμφανίζεται κανένα παράθυρο διαλόγου.

Σε περιπτώσεις όπου ο χρήστης μπορεί να έχει αλλαγές που δεν έχουν αποθηκευθεί στην εφαρμογή, χρησιμοποιήστε αυτήν την ιδιότητα για να εμφανίσετε ένα παράθυρο διαλόγου επιβεβαίωσης πριν κλείσετε την εφαρμογή. Χρησιμοποιήστε έναν τύπο που μπορεί να ελέγξει τις μεταβλητές και τις ιδιότητες του στοιχείου ελέγχου (για παράδειγμα, την ιδιότητα Unsaved του στοιχείου ελέγχου Edit form).

Το παράθυρο διαλόγου επιβεβαίωσης εμφανίζεται σε κάθε περίπτωση όπου τα δεδομένα θα μπορούσαν να χαθούν, όπως σε αυτά τα παραδείγματα:

  • Εκτέλεση της συνάρτησης Exit.
  • Εάν η εφαρμογή εκτελείται σε πρόγραμμα περιήγησης:
    • Κλείσιμο του προγράμματος περιήγησης ή της καρτέλας του προγράμματος περιήγησης όπου εκτελείται η εφαρμογή.
    • Επιλέγοντας το κουμπί "πίσω" του προγράμματος περιήγησης.
    • Εκτέλεση της λειτουργίας Launch με ένα LaunchTarget του Self.
  • Αν η εφαρμογή εκτελείται στο Power Apps Mobile (iOS ή Android):
    • Σάρωση για μετάβαση σε διαφορετική εφαρμογή στο Power Apps Mobile.
    • Επιλογή του κουμπιού "πίσω" σε μια συσκευή Android.
    • Εκτέλεση της λειτουργίας Launch για την εκκίνηση μιας άλλης εφαρμογής καμβά.

Η ακριβής εμφάνιση του παραθύρου διαλόγου επιβεβαίωσης μπορεί να διαφέρει μεταξύ των συσκευών και των εκδόσεων του Power Apps.

Το παράθυρο διαλόγου επιβεβαίωσης δεν εμφανίζεται στο Power Apps Studio.

ConfirmExitMessage

Από προεπιλογή, στο παράθυρο διαλόγου επιβεβαίωσης εμφανίζεται ένα γενικό μήνυμα, όπως "Μπορεί να έχετε μη αποθηκευμένες αλλαγές." στη γλώσσα του χρήστη.

Χρησιμοποιήστε το ConfirmExitMessage για να παράσχετε ένα προσαρμοσμένο μήνυμα στο παράθυρο διαλόγου επιβεβαίωσης. Αν η ιδιότητα είναι blank, χρησιμοποιείται η προεπιλεγμένη τιμή. Τα προσαρμοσμένα μηνύματα περικόπτονται όπως απαιτείται για να χωρέσουν στο παράθυρο διαλόγου επιβεβαίωσης, γι' αυτό διατηρήστε το μήνυμα σε μερικές γραμμές το πολύ.

Σε ένα πρόγραμμα περιήγησης, το παράθυρο διαλόγου επιβεβαίωσης μπορεί να εμφανιστεί με ένα γενικό μήνυμα από το πρόγραμμα περιήγησης.

Σημείωμα

Το αντικείμενο εφαρμογής έχει δύο ακόμα ιδιότητες OnMessage και BackEnabled που είναι πειραματικές. Τελικά, αυτές οι ιδιότητες θα καταργηθούν από το αντικείμενο εφαρμογής. Συνιστάται να μην χρησιμοποιήσετε αυτές τις ιδιότητες στο περιβάλλον παραγωγής σας.

Παράδειγμα

  1. Δημιουργήστε μια εφαρμογή που περιέχει δύο στοιχεία ελέγχου Form, το 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 Studio.
  2. Επιλέξτε Εφαρμογή από την προβολή δέντρου στην αριστερή περιήγηση.
  3. Πληκτρολογήστε το κλειδί εργαλείων στο τμήμα παραθύρου ιδιοτήτων.

Αν τα δεδομένα δεν αποσταλούν στο App Insights, επικοινωνήστε με τον διαχειριστή Power Platform και επαληθεύστε αν το App Insights είναι απενεργοποιημένο σε επίπεδο μισθωτή.

Ιδιότητα Τύποι

Χρησιμοποιήστε τύπους με όνομα, στην ιδιότητα Τύποι για να καθορίσετε έναν τύπο που μπορεί να ξαναχρησιμοποιούνται σε όλη την εφαρμογή σας.

Στο 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

Παρόλο που αυτή η μέθοδος είναι καλύτερη, εξαρτάται επίσης από το OnStart που εκτελείται πριν καθοριστεί η τιμή για το BGColor. Το BGColor μπορεί επίσης να χρησιμοποιηθεί σε κάποια γωνία της εφαρμογής για την οποία ο δημιουργός δεν γνωρίζει, μια αλλαγή που έγινε από κάποιον άλλο και αυτό μπορεί να είναι δύσκολο να το παρακολουθήσετε.

Οι τύποι με όνομα παρέχουν μια εναλλακτική. Όπως συνήθως γράφουμε στοιχείο ελέγχου-ιδιότητα = παράσταση, μπορούμε αντί για αυτό να γράψουμε όνομα = παράσταση και μετά να χρησιμοποιήσουμε ξανά το όνομα σε ολόκληρη την εφαρμογή μας για να αντικαταστήσουμε την παράσταση. Οι ορισμοί αυτών των τύπων γίνονται στην ιδιότητα Τύποι:

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

Τα πλεονεκτήματα της χρήσης τύπων με όνομα περιλαμβάνουν τα εξής:

  • Η τιμή του τύπου είναι πάντα διαθέσιμη. Δεν υπάρχει εξάρτηση χρόνου, κανένα OnStart που πρέπει να εκτελείται πρώτα για να οριστεί η τιμή, ούτε ώρα κατά την οποία η τιμή του τύπου είναι εσφαλμένη. Οι τύποι με όνομα μπορούν να αναφέρονται ο ένας στον άλλο με οποιαδήποτε σειρά, εφόσον δεν δημιουργούν κυκλική αναφορά. Μπορούν να υπολογιστούν παράλληλα.
  • Η τιμή του τύπου είναι πάντα ενημερωμένη. Ο τύπος μπορεί να εκτελέσει έναν υπολογισμό που εξαρτάται από τις ιδιότητες του στοιχείου ελέγχου ή από τις καρτέλες της βάσης δεδομένων και καθώς αλλάζουν, η τιμή του τύπου ενημερώνεται αυτόματα. Δεν χρειάζεται να ενημερώσετε με μη αυτόματο τρόπο την τιμή όπως με μια μεταβλητή. Επίσης, οι τύποι μπορούν να υπολογιστούν εκ νέου μόνο όταν είναι απαραίτητο.
  • Ο ορισμός του τύπου δεν μπορεί να είναι αμετάβλητος. Ο ορισμός στο στοιχείο Τύπος είναι μια μοναδική πηγή αλήθειας και η τιμή δεν μπορεί να αλλάξει εύκολα στην εφαρμογή. Όσον αφορά τις μεταβλητές, είναι πιθανό κάποιος κώδικας να αλλάζει απροσδόκητα μια τιμή, αλλά αυτό δεν είναι δυνατό με τύπους με όνομα.
  • Ο υπολογισμός του τύπου μπορεί να αναβληθεί. Επειδή η τιμή της είναι αμετάβλητη, μπορεί πάντα να υπολογιστεί όταν χρειάζεται, πράγμα που σημαίνει ότι δεν χρειάζεται να υπολογιστεί μέχρι να χρειαστεί. Οι τιμές τύπου που δεν χρησιμοποιούνται μέχρι να εμφανιστεί το screen2 μιας εφαρμογής δεν πρέπει να υπολογιστούν μέχρι να είναι ορατό το screen2. Η αναβολή αυτής της εργασίας μπορεί να βελτιώσει το χρόνο φόρτωσης της εφαρμογής. Οι τύποι με όνομα είναι δηλωτικοί και παρέχουν ευκαιρίες στο σύστημα για βελτιστοποίηση του πώς και του πότε υπολογίζονται.
  • Οι τύποι με όνομα είναι μια έννοια του Excel. Το Power Fx χρησιμοποιεί έννοιες Excel όπου είναι δυνατό, καθώς τόσοι πολλοί χρήστες γνωρίζουν καλά το 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 για να προβείτε σε ενέργειες μετά τον εντοπισμό ενός σφάλματος. Παρέχει μια καθολική ευκαιρία για να εντοπίσετε ένα διαφημιστικό πλαίσιο σφάλματος πριν να εμφανίζεται στον τελικό χρήστη. Μπορεί επίσης να χρησιμοποιηθεί για την καταγραφή ενός σφάλματος με τη συνάρτηση Trace ή για εγγραφή σε βάση δεδομένων ή υπηρεσία Web.

Το αποτέλεσμα κάθε αξιολόγησης τύπου ελέγχεται για κάποιο σφάλμα. Εάν πρόκειται για σφάλμα, το OnError θα αξιολογηθεί με τις ίδιες μεταβλητές πεδίου FirstError και AllErrors που θα είχαν εμφανιστεί εάν ολόκληρος ο τύπος είχε χρησιμοποιηθεί σε μια συνάρτηση IfError.

Εάν το OnError είναι κενό, εμφανίζεται ένα προεπιλεγμένο διαφημιστικό πλαίσιο σφάλματος με το όνομα FirstError.Message του σφάλματος. Ο ορισμός ενός τύπου OnError αντικαθιστά αυτήν τη συμπεριφορά, επιτρέποντας στο δημιουργό να χειρίζεται την αναφορά σφαλμάτων κατά το δυνατό. Η προεπιλεγμένη συμπεριφορά μπορεί να ζητηθεί στο OnError με αλλαγή του σφάλματος με τη συνάρτηση Error. Αυτό είναι χρήσιμο εάν ορισμένα σφάλματα πρόκειται να φιλτραριστούν ή να υποβληθούν σε χειρισμό με διαφορετικό τρόπο, ενώ άλλα σφάλματα πρόκειται να περάσουν από εκεί.

Το OnError δεν μπορεί να αντικαταστήσει ένα σφάλμα στους υπολογισμούς με τον τρόπο που μπορεί να κάνει το IfError. Στο σημείο που καλείται το OnError, το σφάλμα έχει ήδη συμβεί και έχει ήδη υποβληθεί σε επεξεργασία μέσω υπολογισμών τύπου. *OnError* ελέγχει μόνο την αναφορά σφαλμάτων.

Οι τύποι OnError αξιολογούνται ταυτόχρονα και είναι πιθανό η αξιολόγηση τους να επικαλύπτεται με την επεξεργασία άλλων σφαλμάτων. Για παράδειγμα, εάν ορίσετε μια καθολική μεταβλητή στην κορυφή ενός OnError και τη διαβάσετε αργότερα στον ίδιο τύπο, η τιμή μπορεί να έχει αλλάξει. Χρησιμοποιήστε τη συνάρτηση With για να δημιουργήσετε μια τιμή με όνομα που είναι τοπική στον τύπο.

Παρόλο που κάθε σφάλμα υπόκειται σε επεξργασία ξεχωριστά από το OnError, το προεπιλεγμένο διαφημιστικό πλαίσιο σφάλματος ενδεχομένως να μην εμφανίζεται για κάθε σφάλμα ξεχωριστά. Για να αποφύγετε την εμφάνιση υπερβολικά πολλών διαφημιστικών πλαισίων σφαλμάτων ταυτόχρονα, το ίδιο σφάλμα δεν θα ενεργοποιήσει ένα νέο διαφημιστικό πλαίσιο σφάλματος εάν έχει εμφανιστεί πρόσφατα.

Παράδειγμα

Λάβετε υπόψη σας ένα στοιχείο ελέγχου Label και ένα στοιχείο ελέγχου Slider που είναι συνδεδεμένα μεταξύ τους μέσω του τύπου:

Label1.Text = 1/Slider1.Value

Το στοιχείο ελέγχου Label και slider δεσμεύονται μέσω του τύπου Label1.Text = 1/Slider1.Value.

Το slider έχει ως προεπιλογή τον αριθμό 50. Εάν το slider μετακινηθεί στο 0, το Label1 δεν θα εμφανίζει καμία τιμή και θα εμφανίζεται ένα διαφημιστικό πλαίσιο σφάλματος:

Το στοιχείο ελέγχου Slider μετακινήθηκε στο 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 έχει οριστεί για τη δημιουργία Trace.

Με αυτό το δεδομένο, από την πλευρά του χρήστη της εφαρμογής, δεν θα υπάρχει σφάλμα. Όμως, το σφάλμα θα προστεθεί στο ίχνος της εποπτείας, πλήρες με την προέλευση των πληροφοριών σφάλματος από το FirstError:

Το στοιχείο ελέγχου Slider μετακινήθηκε στο 0, με αποτέλεσμα ένα σφάλμα διαίρεσης με το μηδέν, αλλά χωρίς banner σφάλματος.

Αν θα θέλαμε επίσης να εμφανίζεται το ίδιο προεπιλεγμένο διαφημιστικό πλαίσιο σφάλματος εκτός από το ίχνος, μπορούμε να ξαναδώσουμε το σφάλμα με τη συνάρτηση Error μετά την κλήση Trace ακριβώς όπως θα γινόταν εάν δεν υπήρχε το Trace:

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

Ιδιότητα OnStart

Σημείωμα

Η χρήση της ιδιότητας OnStart μπορεί να προκαλέσει προβλήματα απόδοσης κατά τη φόρτωση μιας εφαρμογής. Είμαστε στη διαδικασία δημιουργίας εναλλακτικών για τους δύο κορυφαίους λόγους για τη χρήση δεδομένων προσωρινής αποθήκευσης ιδιοτήτων - και τη ρύθμιση καθολικών μεταβλητών. Έχουμε ήδη δημιουργήσει μια εναλλακτική για τον ορισμό της πρώτης οθόνης που θα εμφανιστεί με την Navigate. Ανάλογα με το περιβάλλον σας, αυτή η ιδιότητα μπορεί να απενεργοποιηθεί από προεπιλογή. Εάν δεν το βλέπετε και πρέπει να το χρησιμοποιήσετε, ελέγξτε τις ρυθμίσεις για προχωρημένους της εφαρμογής για να κάνετε εναλλαγή ώστε να την ενεργοποιήσετε. Η ιδιότητα OnVisible μιας οθόνης μπορεί επίσης να χρησιμοποιηθεί.

Η ιδιότητα OnStart εκτελείται όταν ο χρήστης εκκινεί την εφαρμογή. Αυτή η ιδιότητα χρησιμοποιείται συχνά για την εκτέλεση των ακόλουθων εργασιών:

  • Ανάκτηση και προσωρινή αποθήκευση δεδομένων σε συλλογές χρησιμοποιώντας τη συνάρτηση Collect.
  • Ρύθμιση καθολικών μεταβλητών χρησιμοποιώντας τη συνάρτηση Set.

Αυτός ο τύπος αξιολογείται πριν εμφανιστεί η πρώτη οθόνη. Δεν έχει φορτωθεί καμία οθόνη, επομένως δεν μπορείτε να ορίσετε μεταβλητές περιβάλλοντος με τη συνάρτηση UpdateContext. Ωστόσο, μπορείτε να μεταβιβάσετε μεταβλητές περιβάλλοντος με τη συνάρτηση Navigate.

Αφού αλλάξετε την ιδιότητα OnStart, δοκιμάστε την με τον δείκτη του ποντικιού πάνω από το αντικείμενο Εφαρμογή στο παράθυρο Προβολή δέντρου, επιλέγοντας τα αποσιωπητικά (...) και, στη συνέχεια, επιλέγοντας Εκτέλεση OnStart. Σε αντίθεση με την πρώτη φορά που φορτώνεται η εφαρμογή, θα οριστούν ήδη οι υπάρχουσες συλλογές και μεταβλητές. Για να ξεκινήσετε με κενές συλλογές, χρησιμοποιήστε συνάρτηση ClearCollect αντί για τη συνάρτηση Collect.

Μενού συντόμευσης στοιχείου εφαρμογής για την Εκτέλεση OnStart

Σημείωμα

  • Η χρήση της συνάρτησης Navigate στην ιδιότητα OnStart έχει αποσυρθεί. Οι υπάρχουσες εφαρμογές θα συνεχίσουν να λειτουργούν. Για περιορισμένο χρονικό διάστημα, θα μπορείτε ακόμα να την ενεργοποιήσετε στις ρυθμίσεις εφαρμογής (διαθέσιμη στην περιοχή Έχει αποσυρθεί). Ωστόσο, η χρήση της επιλογής Navigate με αυτόν τον τρόπο μπορεί να οδηγήσει σε καθυστερήσεις φόρτωσης εφαρμογής καθώς αναγκάζει το σύστημα να ολοκληρώσει την αξιολόγηση του OnStart πριν από την εμφάνιση της πρώτης οθόνης. Χρησιμοποιήστε την ιδιότητα StartScreen αντ' αυτού, ώστε να υπολογίσετε την πρώτη οθόνη που εμφανίζεται.
  • Η εναλλαγή Έχει αποσυρθεί θα απενεργοποιηθεί για εφαρμογές που δημιουργήθηκαν πριν από τον Μάρτιο του 2021, όπου προσθέσατε την Navigate στο OnStart μεταξύ του Μαρτίου 2021 και σήμερα. Όταν επεξεργάζεστε αυτές τις εφαρμογές στο Power Apps Studio, ενδέχεται να δείτε ένα σφάλμα. Ενεργοποιήστε την παραπάνω εναλλαγή Έχει αποσυρθεί για να καταργήσετε αυτό το σφάλμα.

Ιδιότητα StartScreen

Σημείωμα

Η ιδιότητα StartScreen δεν θα εμφανίζεται στη λίστα ιδιοτήτων όταν η προγραμματισμένη επιλογή Βελτιωμένη γραμμή τύπων είναι ενεργοποιημένη. Για να απενεργοποιήσετε τη γραμμή βελτιωμένων τύπων, μεταβείτε στις Ρυθμίσεις>επερχόμενες δυνατότητες>έχουν αποσυρθεί> απενεργοποιήσετε το διακόπτη εναλλαγής της γραμμής βελτιωμένων τύπων όταν θέλετε να χρησιμοποιήσετε την ιδιότητα StartScreen.

Η ιδιότητα StartScreen καθορίζει ποια οθόνη θα εμφανίζεται πρώτα. Αξιολογείται μία φορά όταν φορτώνεται η εφαρμογή και επιστρέφει το αντικείμενο οθόνης προς εμφάνιση. Από προεπιλογή, αυτή η ιδιότητα θα είναι κενή και θα εμφανίζεται πρώτα η πρώτη οθόνη στην προβολή Δέντρου Studio.

Το StartScreen είναι μια ιδιότητα ροής δεδομένων που δεν μπορεί να περιέχει λειτουργίες συμπεριφοράς. Είναι διαθέσιμες όλες οι λειτουργίες ροής δεδομένων, συγκεκριμένα χρησιμοποιήστε αυτές τις λειτουργίες και τα σήματα για να καθορίσετε ποια οθόνη θα εμφανίζεται πρώτα:

  • Συνάρτηση Param για την ανάγνωση παραμέτρων που χρησιμοποιούνται για την έναρξη της εφαρμογής.
  • ΣυνάρτησηUser για την ανάγνωση πληροφοριών σχετικά με τον τρέχοντα χρήστη.
  • LookUp, Filter, CountRows, Max, και άλλες συναρτήσεις που κάνουν ανάγνωση από μια προέλευση δεδομένων.
  • Τυχόν κλήσεις API μέσω σύνδεσης, αλλά να είστε προσεκτικοί ώστε να επιστρέψει γρήγορα.
  • Σήματα, όπως Σύνδεση, Compass και Εφαρμογή.

Σημείωμα

Οι καθολικές μεταβλητές και οι συλλογές, συμπεριλαμβανομένων εκείνων που δημιουργήθηκαν στο OnStart, δεν είναι διαθέσιμες στο StartScreen. Ετοιμάζονται δηλωτικές εναλλακτικές για αυτήν την επιλογή. Για τα σχόλιά σας σχετικά με αυτόν τον περιορισμό, μεταβείτε στο φόρουμ της κοινότητας Power Apps.

Εάν η οθόνη StartScreen επιστρέφει κάποιο σφάλμα, η πρώτη οθόνη στην προβολή Δέντρου Studio θα εμφανίζεται σαν να μην έχει οριστεί το StartScreen. Χρησιμοποιήστε τη λειτουργία IfError για να εντοπίσετε τυχόν σφάλματα και να ανακατευθυνθείτε στην κατάλληλη οθόνη σφαλμάτων.

Αφού αλλάξετε το StartScreen στο Studio, δοκιμάστε το με τον δείκτη του ποντικιού πάνω από το αντικείμενο Εφαρμογή στο παράθυρο Προβολή δέντρου, επιλέγοντας τα αποσιωπητικά (...), και επιλέγοντας μετά Μετάβαση στο StartScreen. Η οθόνη θα αλλάξει σαν να έχει γίνει φόρτωση της εφαρμογής.

Μετάβαση στο StartScreen

Παραδείγματα

Screen9

Υποδεικνύει ότι το Screen9 πρέπει να εμφανίζεται πρώτα κάθε φορά που ξεκινά η εφαρμογή.

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

Ελέγχει αν η "λειτουργία διαχείρισης" Param έχει οριστεί από το χρήστη και τη χρησιμοποιεί για να αποφασίσει αν θα εμφανίζεται πρώτα το 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

Χρησιμοποιήστε την ιδιότητα StudioVersion για να εμφανίσετε ή να καταγράψετε την έκδοση του Power Apps Studio που χρησιμοποιήθηκε για τη δημοσίευση μιας εφαρμογής. Αυτό μπορεί να είναι χρήσιμο κατά τον εντοπισμό σφαλμάτων και για να βεβαιωθείτε ότι η εφαρμογή σας έχει επαναδημοσιευθεί με μια πρόσφατη έκδοση του Power Apps Studio.

Το StudioVersion επιστρέφεται ως κείμενο. Η μορφή του κειμένου μπορεί να αλλάξει με την πάροδο του χρόνου και θα πρέπει να αντιμετωπίζεται συνολικά. Αποφύγετε την εξαγωγή μεμονωμένων μερίδων.