Δημιουργία συλλογής παραγγελιών σε μια εφαρμογή καμβά
Ακολουθήστε τις αναλυτικές οδηγίες για τη δημιουργία μιας συλλογής παραγγελιών σε μια εφαρμογή καμβά για τη διαχείριση πλασματικών δεδομένων στη βάση δεδομένων της Northwind Traders. Αυτό το θέμα αποτελεί μέρος μιας σειράς που περιγράφει τον τρόπο δόμησης μιας επιχειρηματικής εφαρμογής σε σχεσιακά δεδομένα στο Microsoft Dataverse. Για καλύτερα αποτελέσματα, εξερευνήστε αυτά τα θέματα με αυτήν την ακολουθία:
- Δημιουργήστε μια συλλογή παραγγελιών (αυτό το θέμα).
- Δημιουργία μιας συνοπτικής φόρμας.
- Δημιουργία μιας συλλογής λεπτομερειών.
Προϋποθέσεις
- Εγκαταστήστε τη βάση δεδομένων και τις εφαρμογές της Northwind Traders.
- Διαβάστε την επισκόπηση της εφαρμογής καμβά για την Northwind Traders.
Δημιουργία κενής εφαρμογής
Δημιουργήστε μια κενή εφαρμογή καμβά και δώστε της ένα όνομα, όπως "Οι παραγγελίες μου Northwind (εφαρμογή καμβά)".
Προσθήκη δεδομένων
Στο αριστερό τμήμα παραθύρου, επιλέξτε Δεδομένα > Προσθήκη δεδομένων > αναζήτηση για και επιλέξτε τον πίνακα Παραγγελίες.
Ο πίνακας Παραγγελίες περιέχει πολλά πεδία διαφόρων τύπων:
κάθε πεδίο έχει ένα εμφανιζόμενο όνομα και ένα όνομα, το οποίο μερικές φορές ονομάζεται λογικό όνομα. Και τα δύο ονόματα αναφέρονται στο ίδιο πράγμα. Γενικά, θα χρησιμοποιήσετε το εμφανιζόμενο όνομα κατά τη δημιουργία μιας εφαρμογής, αλλά σε ορισμένες περιπτώσεις απαιτείται το πιο κρυπτογραφικό όνομα, όπως σημειώνεται σε μια διαδικασία.
Καθώς θα εργαζόμαστε με οθόνες και στοιχεία ελέγχου στη συνέχεια, στο Power Apps Studio επιστρέψτε στην προβολή δέντρου στην αριστερή πλευρά πατώντας το εικονίδιο τριών σωρευμένων τετραγώνων. Μπορείτε να επιστρέψετε στις προελεύσεις δεδομένων οποιαδήποτε στιγμή πατώντας το εικονίδιο του κυλίνδρου.
Δημιουργία της ενότητας παραγγελιών
Στην καρτέλα Εισαγωγή, επιλέξτε Συλλογή > Κενή κατακόρυφη για να προσθέσετε ένα στοιχείο ελέγχου συλλογής, που θα εμφανίζει τις παραγγελίες.
Το στοιχείο ελέγχου θα τοποθετηθεί στον καμβά και θα εμφανιστεί ένα αναδυόμενο παράθυρο διαλόγου που θα σας ρωτήσει σε ποια προέλευση δεδομένων να συνδεθείτε.
Θα μπορούσαμε να το συνδέσουμε απευθείας στις Παραγγελίες εδώ, αλλά αντί αυτού θα θέλαμε να ελέγξουμε τη σειρά ταξινόμησης της συλλογής. Αγνοήστε το αναδυόμενο παράθυρο διαλόγου και στη γραμμή τύπων ορίστε την ιδιότητα Items σε αυτόν τον τύπο:
Sort( Orders, 'Order Number', Descending )
Η συνάρτηση Sort διατάσσει τη λίστα έτσι, ώστε να εμφανίζεται πρώτα η πιο πρόσφατη παραγγελία (η οποία έχει τον αριθμό της υψηλότερης παραγγελίας).
Μετά από μερικές στιγμές, η προβολή αποτελεσμάτων θα εμφανιστεί κάτω από τη γραμμή τύπων. Τραβήξτε προς τα κάτω το βέλος στα αριστερά για να δείτε το αποτέλεσμα του τύπου. Κάντε κύλιση στα δεξιά για να δείτε τη στήλη Αριθμός παραγγελίας και να βεβαιωθείτε ότι έχει ταξινομηθεί με τον τρόπο που θέλετε (φθίνουσα σειρά).
Στην καρτέλα Ιδιότητες που βρίσκεται κοντά στη δεξιά άκρη, ανοίξτε τη λίστα διάταξης:
Στη λίστα επιλογών, επιλέξτε Τίτλος και υπότιτλος:
Δύο στοιχεία ελέγχου ετικέτας προστίθενται στο πρότυπο της συλλογής. Ως προεπιλογή, αυτά τα στοιχεία ελέγχου εμφανίζουν δύο στήλες του πίνακα Παραγγελίες τις οποίες θα αλλάξετε στη συνέχεια. Το πρότυπο της συλλογής επαναλαμβάνεται κάθετα για κάθε καρτέλα στον πίνακα.
Επιλέξτε Επεξεργασία (δίπλα στα Πεδία) στην καρτέλα Ιδιότητες κοντά στο δεξιό άκρο.
Στο τμήμα παραθύρου Δεδομένα, επιλέξτε Title1 (ή επιλέξτε την ανώτερη ετικέτα στο πρότυπο της συλλογής).
Στη γραμμή τύπων, ορίστε την ιδιότητα Text της ετικέτας σε αυτήν την παράσταση:
"Order " & ThisItem.'Order Number'
Ο αριθμός παραγγελίας εμφανίζεται στην κορυφή κάθε στοιχείου συλλογής. Στο πρότυπο συλλογής, το ThisItem εκχωρεί πρόσβαση σε όλα τα πεδία του πίνακα Παραγγελία.
Στο τμήμα παραθύρου Δεδομένα, επιλέξτε Subtitle1 (ή επιλέξτε την κατώτερη ετικέτα στο πρότυπο της συλλογής):
Στη γραμμή τύπων, ορίστε την ιδιότητα Text της ετικέτας σε αυτήν την παράσταση:
ThisItem.Customer.Company
Αφού καταχωρήσετε αυτόν τον τύπο, μπορεί να εμφανιστεί ένα σφάλμα κόκκινης κυματιστής γραμμής για μια στιγμή. Το σφάλμα θα πρέπει να καταργηθεί εάν επιλέξετε οτιδήποτε εκτός της γραμμής τύπων και, στη συνέχεια, επιστρέψτε το δρομέα στη γραμμή τύπων. Εάν το σφάλμα παραμένει ή δεν εμφανίζεται τιμή, επιλέξτε την καρτέλα Προβολή, επιλέξτε Προελεύσεις δεδομένων και, στη συνέχεια, ανανεώστε τον πίνακα Παραγγελίες επιλέγοντας τα αποσιωπητικά (...) στα δεξιά του ονόματος προέλευσης δεδομένων.
Όταν προσδιορίζετε το στοιχείο ThisItem.Customer, αξιοποιείτε μια σχέση πολλά προς ένα μεταξύ των πινάκων Παραγγελίες και Πελάτες και ανακτάτε την καρτέλα πελάτη που σχετίζεται με κάθε παραγγελία. Από την καρτέλα πελάτη, κάνετε εξαγωγή των δεδομένων στη στήλη Εταιρεία για εμφάνιση.
Μπορείτε να εμφανίσετε όλες τις σχέσεις από τον πίνακα Παραγγελίες σε άλλους πίνακες, συμπεριλαμβανομένου του πίνακα Πελάτης:
Κλείστε το τμήμα παραθύρου Δεδομένα επιλέγοντας το εικονίδιο (x) κλεισίματος στην επάνω δεξιά γωνία.
Εμφάνιση της κατάστασης κάθε παραγγελίας
Σε αυτήν τη διαδικασία, θα προσθέσετε χώρο στη συλλογή για μια ετικέτα και θα ρυθμίσετε τις παραμέτρους της για την εμφάνιση της κατάστασης κάθε παραγγελίας με διαφορετικό χρώμα με βάση τα δεδομένα.
Στο πρότυπο της συλλογής, μειώστε το πλάτος της πρώτης ετικέτας, Title1:
Επαναλάβετε το προηγούμενο βήμα με τη δεύτερη ετικέτα, Subtitle1:
Με το πρότυπο συλλογής (ή ένα στοιχείο ελέγχου στο πρότυπο) επιλεγμένο, επιλέξτε Ετικέτα στην καρτέλα Εισαγωγή:
Μετακινήστε την νέα ετικέτα στα δεξιά της ετικέτας Title1:
Ορίστε την ιδιότητας της καινούριας ετικέτας Text σε αυτήν την παράσταση:
ThisItem.'Order Status'
Στον πίνακα Παραγγελίες το πεδίο Κατάσταση παραγγελίας έχει μια τιμή από την επιλογή Κατάσταση παραγγελίας. Η επιλογή είναι παρόμοια με μια απαρίθμηση σε άλλα εργαλεία προγραμματισμού. Κάθε σύνολο επιλογών καθορίζεται στη βάση δεδομένων του, έτσι ώστε οι χρήστες να μπορούν να καθορίσουν μόνο τις επιλογές που υπάρχουν στο σύνολο. Η επιλογή Κατάσταση παραγγελιών είναι επίσης καθολική, όχι τοπική, επομένως μπορείτε να τη χρησιμοποιήσετε σε άλλους πίνακες:
Κάθε επιλογή σε ένα σύνολο έχει ένα όνομα που εμφανίζεται, εάν το εμφανίσετε σε μια ετικέτα. Αυτά τα ονόματα μπορούν να μεταφραστούν και η εφαρμογή αναγνωρίζει την ίδια επιλογή, αν ένας Άγγλος χρήστης επιλέξει Apple, ένας Γάλλος χρήστης επιλέξει Pomme ή ένας Ισπανός χρήστης επιλέξει Manzana. Για αυτόν το λόγο, δεν μπορείτε να δημιουργήσετε έναν τύπο ο οποίος βασίζεται σε μια συμβολοσειρά που έχει δημιουργηθεί με κώδικα για μια επιλογή, καθώς υποδεικνύεται αργότερα σε αυτό το θέμα.
Στους τύπους, πρέπει να περιβάλλετε την κατάσταση παραγγελίας με μονά εισαγωγικά, επειδή περιέχει ένα διάστημα. Ωστόσο, το όνομα αυτό λειτουργεί με τον ίδιο τρόπο όπως και οποιοδήποτε άλλο όνομα στο Power Apps, όπως ο πελάτης ή η εταιρεία.
Στην καρτέλα Αρχική, αυξήστε το μέγεθος της γραμματοσειράς της ετικέτας κατάστασης σε 20 βαθμούς και, στη συνέχεια, ευθυγραμμίστε το κείμενο:
Στη γραμμή τύπων, ορίστε την ιδιότητα Color της κατάστασης ετικέτας σε αυτό τον τύπο:
Switch( ThisItem.'Order Status', 'Orders Status'.Closed, Green, 'Orders Status'.New, Black, 'Orders Status'.Invoiced, Blue, 'Orders Status'.Shipped, Purple )
Το Power Apps εμποδίζει τη δημιουργία ενός τύπου που βασίζεται σε ένα κώδικα συμβολοσειράς για κάθε επιλογή σε ένα σύνολο, επειδή τέτοιου είδους τύποι θα μπορούσαν να παραγάγουν ακατάλληλα αποτελέσματα εάν τα ονόματα των επιλογών έχουν μεταφραστεί. Αντί για αυτό, η συνάρτηση Switch προσδιορίζει το χρώμα με βάση τις όποιες συμβολοσειρές εμφανίζεται στην ετικέτα με βάση τις ρυθμίσεις του χρήστη.
Με αυτόν τον τύπο, οι διαφορετικές τιμές κατάστασης εμφανίζονται σε διαφορετικά χρώματα, όπως εμφανίζεται στο προηγούμενο γραφικό.
Εμφάνιση του συνόλου κάθε παραγγελίας
Επιλέξτε το πρώτο στοιχείο στη συλλογή, το οποίο είναι το πρότυπο της συλλογής:
Στην καρτέλα Εισαγωγή, επιλέξτε ετικέτα για να προσθέσετε μια άλλη ετικέτα:
Μετακινήστε τη νέα ετικέτα, έτσι ώστε να εμφανίζεται κάτω από την ετικέτα κατάστασης:
Στη γραμμή τύπων, ορίστε την ιδιότητα Text της νέας ετικέτας σε αυτόν τον τύπο:
Text( Sum( ThisItem.'Order Details', Quantity * 'Unit Price' ), "[$-en-US]$ #,###.00" )
Σε αυτόν τον τύπο, η συνάρτηση Άθροιση προσθέτει τις καρτέλες στον πίνακα Λεπτομέρειες παραγγελίας που συσχετίζονται με κάθε καρτέλα στον πίνακα Παραγγελία μέσω μιας σχέσης ένα προς πολλά. Αυτά τα στοιχεία γραμμής αποτελούν την κάθε παραγγελία και θα χρησιμοποιήσετε την ίδια σχέση "ένα προς πολλά" για να εμφανίσετε και να επεξεργαστείτε τα στοιχεία της σειράς που βρίσκονται στην κάτω δεξιά περιοχή της οθόνης.
Αυτός ο τύπος εμφανίζει μια μπλε υπογράμμιση και μια προειδοποίηση ανάθεσης, επειδή το Dataverse δεν υποστηρίζει ανάθεση σύνθετων συναρτήσεων συγκεντρωτικών αποτελεσμάτων (για παράδειγμα, το άθροισμα ενός πολλαπλασιασμού). Μπορείτε να αγνοήσετε αυτές τις πληροφορίες, επειδή καμία παραγγελία σε αυτό το παράδειγμα δεν θα περιέχει περισσότερα από 500 στοιχεία γραμμής. Εάν είναι απαραίτητο για μια διαφορετική εφαρμογή, μπορείτε να αυξήσετε το όριο αυτό στις Ρυθμίσεις εφαρμογής.
Η συνάρτηση Text σε αυτόν τον τύπο προσθέτει ένα σύμβολο νομίσματος και μορφοποιεί το αποτέλεσμα με διαχωριστικά χιλιάδων και δεκαδικών ψηφίων. Όπως έχει γραφτεί, ο τύπος περιλαμβάνει την ετικέτα γλώσσας για τα Αγγλικά Η.Π.Α. ([$-en-US]) και ένα σύμβολο δολαρίου ($). Εάν καταργήσετε την ετικέτα γλώσσας, θα αντικατασταθεί με μία με βάση τις ρυθμίσεις γλώσσας και η ετικέτα θα εμφανίσει τις κατάλληλες μορφές για αυτήν την ετικέτα. Εάν αφήσετε το σύμβολο δολαρίου, η ετικέτα θα εμφανίσει το κατάλληλο σύμβολο νομίσματος με βάση τις ρυθμίσεις του χρήστη. Ωστόσο, μπορείτε να αναγκάσετε ένα διαφορετικό σύμβολο να εμφανιστεί αντικαθιστώντας το σύμβολο δολαρίου με εκείνο που προτιμάτε.
Στην καρτέλα Αρχική, αλλάξτε το μέγεθος της γραμματοσειράς της νεότερης ετικέτας σε 20 βαθμούς και, στη συνέχεια, ευθυγραμμίστε το κείμενο:
Μετακινήστε τη συλλογή στο αριστερό άκρο της οθόνης και μειώστε το πλάτος της συλλογής, για να κλείσετε κάποιο διάστημα.
Αυξήστε το ύψος της συλλογής, έτσι ώστε να είναι σχεδόν τόσο ψηλό όσο και η οθόνη, αλλά αφήστε ένα μικρό περιθώριο στο επάνω μέρος για μια γραμμή τίτλου, την οποία θα προσθέσετε στην αρχή του επόμενου θέματος:
Σύνοψη
Για να ανακεφαλαιώσουμε, ξεκινήσατε να δημιουργείτε μια εφαρμογή καμβά μίας οθόνης προσθέτοντας τη συλλογή παραγγελιών, η οποία περιλαμβάνει τα εξής στοιχεία:
- Μια παράσταση για την εμφάνιση του αριθμού παραγγελίας:
"Orders " & ThisItem.OrderNumber
- Ένα πεδίο σε μια σχέση πολλά προς ένα:
ThisItem.Customer.Company
- Μια ετικέτα που εμφανίζει το όνομα μιας επιλογής σε ένα σύνολο:
ThisItem.'Order Status'
- Μια ετικέτα που αλλάζει μορφή με βάση την επιλογή ενός συνόλου όπου εμφανίζεται η ετικέτα:
Switch( ThisItem.'Order Status', 'Orders Status'.Closed, Green, ...
- Μια σύνθετη συνάρτηση συγκεντρωτικών αποτελεσμάτων σε μια σχέση ένα προς πολλά:
Sum( ThisItem.'Order Details', Quantity * 'Unit Price' )
Επόμενο θέμα
Στο επόμενο θέμα, θα προσθέσετε ένα στοιχείο ελέγχου επεξεργασίας φόρμας για την εμφάνιση και επεξεργασία μιας σύνοψης οποιασδήποτε παραγγελίας έχει επιλέξει ο χρήστης στη συλλογή που μόλις δημιουργήσατε.
Σημείωση
Μπορείτε να μας πείτε ποια γλώσσα προτιμάτε για την τεκμηρίωση; Πάρτε μέρος σε μια σύντομη έρευνα. (σημειώνεται ότι αυτή η έρευνα είναι στα Αγγλικά)
Η έρευνα θα διαρκέσει περίπου επτά λεπτά. Δεν συλλέγονται προσωπικά δεδομένα (δήλωση προστασίας προσωπικών δεδομένων).