Κατανόηση αναφορών εγγραφής και πολυμορφικές αναζητήσεις σε εφαρμογές καμβά
Όταν γράψατε μια ερευνητική εργασία στο σχολείο, πιθανώς να παρείχατε μια λίστα με τη βιβλιογραφία σας στο τέλος. Δεν περιλάβατε ένα αντίγραφο του πραγματικού υλικού παρασκηνίου που χρησιμοποιήσατε, αλλά μάλλον μια σύνδεση Web, έναν τίτλο βιβλίου και έναν συγγραφέα ή άλλες πληροφορίες, έτσι ώστε κάποιος να μπορεί να εντοπίσει την αρχική προέλευση. Αναμίξατε διαφορετικά είδη πηγών σε μία μόνο λίστα, άρθρα εφημερίδων δίπλα σε ηχογραφήσεις, το καθένα με τις δικές του συγκεκριμένες λεπτομέρειες για μια κατάλληλη αναφορά. Για παράδειγμα, τα άρθρα της Βικιπαίδειας περιλαμβάνουν συχνά έναν μακρύ κατάλογο βιβλιογραφίας.
Στις εφαρμογές καμβά, εργάζεστε συχνά με αντίγραφα εγγραφών που έχουν ληφθεί από προελεύσεις δεδομένων. Χρησιμοποιείτε τις συναρτήσεις LookUp και Filter και την ιδιότητα Selected του στοιχείου ελέγχου Συλλογή για να προσδιορίσετε τη συγκεκριμένη εγγραφή που θέλετε. Όλες οι καρτέλες από το Φίλτρο ή το Επιλεγμένα θα είναι του ίδιου τύπου πίνακα, ώστε να μπορείτε να χρησιμοποιήσετε πεδία με μια απλή σημείωση Πεδίου. Αυτά τα αντίγραφα περιλαμβάνουν συχνά πληροφορίες αναφοράς έτσι ώστε να μπορείτε να χρησιμοποιήσετε τη συνάρτηση Patch για την ενημέρωση της αρχικής προέλευσης.
Οι εφαρμογές καμβά υποστηρίζουν επίσης αναφορές εγγραφής. Μοιάζει πολύ με μια βιβλιογραφία σε ερευνητική εργασία, μια αναφορά εγγραφής αναφέρεται σε μια εγγραφή χωρίς να περιλαμβάνεται ένα πλήρες αντίγραφό της. Μια τέτοια αναφορά μπορεί να αναφέρεται σε μια καρτέλα σε οποιονδήποτε πίνακα. Επίσης, όπως οι αναφορές σε ερευνητικές εργασίες, μπορείτε να αναμειγνύετε καρτέλες από διαφορετικούς πίνακες σε μία μόνο στήλη.
Πολλές λειτουργίες στις αναφορές εγγραφών είναι ίδιες με την εργασία με εγγραφές. Μπορείτε να συγκρίνετε αναφορές εγγραφών μεταξύ τους και με πλήρεις εγγραφές. Μπορείτε να ορίσετε την τιμή αναφοράς μιας εγγραφής με τη συνάρτηση Patch ακριβώς όπως θα κάνατε με μια αναζήτηση με μια πλήρη καρτέλα.
Υπάρχει μία σημαντική διαφορά χρήσης: δεν μπορείτε να αποκτήσετε άμεση πρόσβαση στα πεδία μιας αναφοράς καρτέλας χωρίς πρώτα να δημιουργήσετε έναν πίνακα στον οποίο αναφέρεται. Αυτό συμβαίνει επειδή οι εφαρμογές καμβά απαιτούν όλοι οι τύποι να είναι γνωστοί όταν συντάσσετε τύπους. Επειδή δεν γνωρίζετε τον τύπο μιας αναφοράς εγγραφής μέχρι να εκτελεστεί η εφαρμογή, δεν μπορείτε να χρησιμοποιήσετε την απλή σημειογραφία .Πεδίο απευθείας. Πρέπει πρώτα να καθορίσετε δυναμικά τον τύπο πίνακα με τη συνάρτηση IsType και κατόπιν να χρησιμοποιήσετε σήμανση .Πεδίο στο αποτέλεσμα της συνάρτησης AsType.
Ο Τύπος πίνακα αναφέρεται στο σχήμα κάθε καρτέλας σε έναν πίνακα. Κάθε πίνακας έχει ένα μοναδικό σύνολο πεδίων με διαφορετικά ονόματα και τύπους δεδομένων. Σε κάθε καρτέλα του πίνακα μεταβιβάζεται αυτή η δομή. Δύο καρτέλες έχουν τον ίδιο τύπο πίνακα, εάν προέρχονται από τον ίδιο πίνακα.
Σημείωση
Μπορείτε να επιλέξετε από πολλές διαφορετικές συνδέσεις για τη σύνδεση σε διαφορετικούς τύπους προελεύσεων δεδομένων για εφαρμογές καμβά. Ωστόσο, όταν εργάζεστε με εφαρμογές καμβά εντός του Power Apps Studio, οι στήλες στο Microsoft Dataverse αναφέρονται ως πεδία παρόμοια με όλες τις άλλες προελεύσεις δεδομένων. Η Στήλη χρησιμοποιείται μόνο όταν αναφέρεται σε μια στήλη μέσα στο Dataverse. Περισσότερες πληροφορίες: Ενημερώσεις ορολογίας Dataverse
Πολυμορφικές αναζητήσεις
Το Microsoft Dataverse υποστηρίζει σχέσεις μεταξύ εγγραφών. Κάθε καρτέλα στον πίνακα Λογαριασμοί έχει μια στήλη Κύρια επαφή, η οποία είναι μια αναζήτηση για τον πίνακα Επαφές. Η αναζήτηση μπορεί να αναφέρεται μόνο σε μια καρτέλα στις Επαφές και δεν μπορεί να αναφέρεται σε μια καρτέλα στον πίνακα Ομάδες, για παράδειγμα. Αυτή η τελευταία λεπτομέρεια είναι σημαντική επειδή γνωρίζετε πάντα ποιες στήλες θα είναι διαθέσιμες για την αναζήτηση.
Το Dataverse υποστηρίζει επίσης μη μορφομορφικές αναζητήσεις, οι οποίες μπορούν να αναφέρονται σε μια καρτέλα από οποιονδήποτε πίνακα ενός συνόλου. Για παράδειγμα, η στήλη Κάτοχος μπορεί να αναφέρεται σε μια καρτέλα στον πίνακα Χρήστες ή στον πίνακα Ομάδες. Η ίδια στήλη αναζήτησης σε διαφορετικές καρτέλες μπορεί να αναφέρεται σε καρτέλες σε διαφορετικούς πίνακες. Σε αυτήν την περίπτωση, δεν γνωρίζετε πάντα ποιες στήλες θα είναι διαθέσιμες.
Οι αναφορές εγγραφής καμβά σχεδιάστηκαν για την επεξεργασία πολυμορφικών αναζητήσεων στο Dataverse. Μπορείτε, επίσης, να χρησιμοποιήσετε αναφορές εγγραφών εκτός αυτού του περιβάλλοντος, που είναι ο τρόπος με τον οποίο οι δύο έννοιες διαφέρουν.
Στην επόμενη ενότητα, θα αρχίσετε να εξερευνάτε αυτές τις έννοιες δουλεύοντας με την αναζήτηση για τον Κάτοχο.
Εμφάνιση των στηλών ενός κατόχου καρτέλας
Κάθε πίνακας στο Dataverse περιλαμβάνει μια στήλη Κάτοχος. Δεν είναι δυνατή η κατάργηση αυτής της στήλης, δεν μπορείτε να προσθέσετε άλλη και απαιτεί πάντα μια τιμή.
Για να εμφανίσετε τη στήλη στον πίνακα Λογαριασμός:
Είσοδος στο Power Apps.
Στη γραμμή του αριστερού τμήματος παραθύρου επιλέξτε Δεδομένα > Πίνακες.
Στη λίστα πινάκων, επιλέξτε Λογαριασμός.
Στην επάνω δεξιά γωνία, ανοίξτε τη λίστα φίλτρων (η οποία έχει οριστεί ως Προεπιλογή από προεπιλογή) και, στη συνέχεια, επιλέξτε Όλα.
Μετακινηθείτε με κύλιση προς τα κάτω μέχρι να εμφανιστεί η στήλη Κάτοχος.
Αυτή η στήλη αναζήτησης μπορεί να αναφέρεται σε μια καρτέλα είτε από τον πίνακα Ομάδες ή τον πίνακα Χρήστες. Δεν έχει κάθε καρτέλα σε αυτούς τους πίνακες δικαίωμα να είναι Κάτοχος. Ελέγξτε τους υποστηριζόμενους ρόλους εάν δείτε κάποιο πρόβλημα.
Αυτό το γραφικό εμφανίζει μια απλή συλλογή Λογαριασμών, όπου ο πίνακας Λογαριασμοί έχει προστεθεί στην εφαρμογή ως προέλευση δεδομένων:
Σημαντικό
Καθ' όλη τη διάρκεια αυτού του θέματος, τα γραφικά εμφανίζουν ορισμένα ονόματα και άλλες τιμές που δεν αποτελούν μέρος του δείγματος δεδομένων που συνοδεύει το Dataverse. Τα βήματα δείχνουν με ακρίβεια τον τρόπο ρύθμισης των παραμέτρων των στοιχείων ελέγχου για ένα συγκεκριμένο αποτέλεσμα, αλλά η εμπειρία σας θα ποικίλλει ανάλογα με τα δεδομένα για τον οργανισμό σας.
Για να εμφανίσετε τον κάτοχο κάθε λογαριασμού στη συλλογή, ενδεχομένως να μπορείτε να χρησιμοποιήσετε τον τύπο ThisItem.Owner.Name. Ωστόσο, το πεδίο ονόματος στον πίνακα Ομάδα είναι Όνομα ομάδας και το πεδίο ονόματος στον πίνακα Χρήστης είναι Πλήρες όνομα. Η εφαρμογή δεν μπορεί να γνωρίζει με ποιον τύπο αναζήτησης εργάζεστε μέχρι να εκτελέσετε την εφαρμογή και μπορεί να διαφέρει ανάλογα με τις καρτέλες στον πίνακα Λογαριασμοί.
Χρειάζεστε έναν τύπο που μπορεί να προσαρμοστεί σε αυτήν τη διακύμανση. Θα χρειαστεί επίσης να προσθέσετε τις προελεύσεις δεδομένων για τους τύπους πίνακα που θα μπορούσε να είναι ο Κάτοχος (σε αυτήν την περίπτωση, Χρήστες και Ομάδες). Προσθέστε αυτές τις τρεις προελεύσεις δεδομένων στην εφαρμογή σας:
Με αυτές τις προελεύσεις δεδομένων στη θέση τους, χρησιμοποιήστε αυτόν τον τύπο για να εμφανίσετε το όνομα είτε ενός χρήστη είτε μιας ομάδας:
If( IsType( ThisItem.Owner, Teams ),
"Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
"User: " & AsType( ThisItem.Owner, Users ).'Full Name' )
Σε αυτόν τον τύπο, η συνάρτηση IsType ελέγχει το πεδίο Κάτοχος στον πίνακα Ομάδες. Εάν είναι αυτού του τύπου πίνακα, η συνάρτηση AsType τον καταγράφει σε μια καρτέλα Ομάδα. Σε αυτό το σημείο, μπορείτε να αποκτήσετε πρόσβαση σε όλα τα πεδία του πίνακα Ομάδες, συμπεριλαμβανομένου του Ονόματος ομάδας, χρησιμοποιώντας τη σήμανση .Πεδίο. Εάν το IsType προσδιορίζει ότι ο Κάτοχος δεν είναι καρτέλα στον πίνακα Ομάδες αυτό το πεδίο πρέπει να είναι καρτέλα στον πίνακα Χρήστες επειδή το πεδίο Κάτοχος είναι υποχρεωτικό (δεν μπορεί να είναι κενό).
Για να χρησιμοποιήσετε οποιαδήποτε πεδία μιας αναφοράς καρτέλας, πρέπει πρώτα να χρησιμοποιήσετε τη συνάρτηση AsType για να την αναθέσετε σε έναν συγκεκριμένο τύπο πίνακα. Δεν μπορείτε να αποκτήσετε πρόσβαση σε πεδία απευθείας από το πεδίο Κάτοχος επειδή το σύστημα δεν γνωρίζει τον τύπο πίνακα που θέλετε να χρησιμοποιήσετε.
Η συνάρτηση AsType επιστρέφει ένα σφάλμα εάν το πεδίο Κάτοχος δεν ταιριάζει με τον τύπο πίνακα που ζητήθηκε, έτσι μπορείτε να χρησιμοποιήσετε τη συνάρτηση IfError για να απλοποιήσετε αυτόν τον τύπο. Αρχικά, ενεργοποιήστε την πειραματική δυνατότητα Διαχείριση σφαλμάτων σε επίπεδο τύπων:
Στη συνέχεια, αντικαταστήστε τον προηγούμενο τύπο με αυτόν:
IfError(
"Team: " & AsType( ThisItem.Owner, Teams ).'Team Name',
"User: " & AsType( ThisItem.Owner, Users ).'Full Name' )
Φιλτράρισμα με βάση έναν κάτοχο
Συγχαρητήρια - έχετε τελειώσει τη δυσκολότερη πτυχή της εργασίας με μια αναφορά εγγραφής. Άλλες υποθέσεις χρήσης είναι πιο απλές, επειδή δεν έχουν πρόσβαση σε πεδία της εγγραφής. Για παράδειγμα, κάντε φιλτράρισμα, το οποίο θα εξερευνήσετε σε αυτήν την ενότητα.
Προσθέστε ένα στοιχείο ελέγχου Σύνθετο πλαίσιο πάνω από τη συλλογή και ορίστε αυτές τις ιδιότητες του νέου στοιχείου ελέγχου:
- Στοιχεία:
Users
- SelectMultiple:
false
Για να φιλτράρετε τη συλλογή με βάση έναν συγκεκριμένο χρήστη που έχει επιλεγεί από αυτό το σύνθετο πλαίσιο, ορίστε την ιδιότητα Στοιχεία της συλλογής σε αυτόν τον τύπο:
Filter( Accounts, Owner = ComboBox1.Selected )
Σημαντικό
Οι οδηγίες σε αυτό το θέμα είναι ακριβείς εάν ακολουθήσετε τα βήματα ακριβώς. Ωστόσο, κάθε τύπος που αναφέρεται σε ένα στοιχείο ελέγχου με το όνομά του αποτυγχάνει εάν το στοιχείο ελέγχου έχει διαφορετικό όνομα. Εάν διαγράψετε και προσθέσετε ένα στοιχείο ελέγχου του ίδιου τύπου, ο αριθμός στο τέλος του ονόματος του στοιχείου ελέγχου αλλάζει. Για οποιονδήποτε τύπο που παρουσιάζει σφάλμα, επιβεβαιώστε ότι περιέχει τα σωστά ονόματα όλων των στοιχείων ελέγχου.
Δεν χρειάζεται να χρησιμοποιήσετε το IsType ή το AsType επειδή συγκρίνετε αναφορές εγγραφών σε άλλες αναφορές εγγραφών ή σε πλήρεις εγγραφές. Η εφαρμογή γνωρίζει τον τύπο πίνακα του ComboBox1.Selected επειδή προκύπτει από τον πίνακα Χρήστες. Οι λογαριασμοί για τους οποίους ο κάτοχος είναι μια ομάδα δεν αντιστοιχίζονται με το κριτήριο φιλτραρίσματος.
Μπορείτε να γίνετε λίγο πιο φανταχτεροί στηρίζοντας το φιλτράρισμα είτε από έναν χρήστη είτε από μια ομάδα.
Κάντε χώρο κοντά στο επάνω μέρος της οθόνης αλλάζοντας το μέγεθος της συλλογής και μετακινώντας το σύνθετο πλαίσιο, εισαγάγετε ένα στοιχείο ελέγχου επιλογής πάνω από τη συλλογή και, στη συνέχεια, ορίστε αυτές τις ιδιότητες για το νέο στοιχείο ελέγχου:
- Στοιχεία:
[ "All", "Users", "Teams" ]
- Διάταξη:
Layout.Horizontal
- Στοιχεία:
Για το στοιχείο ελέγχου Σύνθετο πλαίσιο, ορίστε αυτήν την ιδιότητα (εάν το σύνθετο πλαίσιο εξαφανιστεί, επιλέξτε χρήστες στο στοιχείο ελέγχου επιλογής):
- Visible:
Radio1.Selected.Value = "Users"
- Visible:
Αντιγράψτε και επικολλήστε το στοιχείο ελέγχου Σύνθετο πλαίσιο, μετακινήστε το αντίγραφο απευθείας πάνω από το πρωτότυπο και, στη συνέχεια, ορίστε αυτές τις ιδιότητες για το αντίγραφο:
- Στοιχεία:
Teams
- Visible:
Radio1.Selected.Value = "Teams"
Η εφαρμογή θα εμφανίζει μόνο ένα σύνθετο πλαίσιο κάθε φορά, ανάλογα με την κατάσταση του στοιχείου ελέγχου επιλογής. Επειδή βρίσκονται ακριβώς πάνω το ένα από το άλλο, θα εμφανίζονται να είναι το ίδιο στοιχείο ελέγχου που αλλάζει τα περιεχόμενά του.
- Στοιχεία:
Τέλος, ορίστε την ιδιότητα Στοιχεία του στοιχείου ελέγχου Συλλογή στον εξής τύπο:
Filter( Accounts, Radio1.Selected.Value = "All" Or (Radio1.Selected.Value = "Users" And Owner = ComboBox1.Selected) Or (Radio1.Selected.Value = "Teams" And Owner = ComboBox1_1.Selected) )
Με αυτές τις αλλαγές, μπορείτε να εμφανίσετε όλες τις εγγραφές ή να τις φιλτράρετε με βάση είτε έναν χρήστη είτε μια ομάδα:
Ο τύπος μπορεί να ανατεθεί πλήρως. Το τμήμα που συγκρίνει τις τιμές του κουμπιού επιλογής είναι μια σταθερά σε όλες τις εγγραφές και αξιολογείται πριν αποσταλεί το υπόλοιπο του φίλτρου στο Dataverse.
Εάν θέλετε να φιλτράρετε τον τύπο του κατόχου, μπορείτε να χρησιμοποιήσετε τη συνάρτηση IsType, αλλά δεν μπορεί ακόμα να ανατεθεί.
Ενημέρωση του κατόχου με χρήση του Patch
Μπορείτε να ενημερώσετε το πεδίο Κάτοχος με τον ίδιο τρόπο όπως και για κάθε άλλη αναζήτηση. Για να ορίσετε τον κάτοχο του τρέχοντος επιλεγμένου λογαριασμού στην πρώτη ομάδα:
Patch( Accounts, Gallery1.Selected, { Owner: First( Teams ) } )
Αυτή η προσέγγιση δεν διαφέρει από την κανονική αναζήτηση, επειδή η εφαρμογή γνωρίζει τον τύπο των Πρώτων(Ομάδων). Εάν θέλετε τον πρώτο χρήστη αντί για αυτό, αντικαταστήστε αυτό το τμήμα με το Πρώτοι(χρήστες). Η λειτουργία Ενημέρωση κώδικα γνωρίζει ότι το πεδίο Κάτοχος μπορεί να οριστεί σε έναν από αυτούς τους δύο τύπους πίνακα.
Για να προσθέσετε αυτήν τη δυνατότητα στην εφαρμογή:
Στο τμήμα παραθύρου Προβολή δέντρου, επιλέξτε το στοιχείο ελέγχου Επιλογής και τα δύο στοιχεία ελέγχου Σύνθετο πλαίσιο την ίδια στιγμή.
Στο μενού αποσιωπητικά, επιλέξτε Αντιγραφή αυτών των στοιχείων.
Στο ίδιο μενού , επιλέξτε Επικόλληση.
Μετακινήστε τα αντιγραμμένα στοιχεία ελέγχου στα δεξιά της συλλογής.
Επιλέξτε το αντιγραμμένο στοιχείο ελέγχου επιλογής και, στη συνέχεια, αλλάξτε αυτές τις ιδιότητες:
- Στοιχεία:
[ "Users", "Teams" ]
- Προεπιλογή:
If( IsType( Gallery1.Selected.Owner, Users ), "Users", "Teams" )
- Στοιχεία:
Στο στοιχείο ελέγχου Ραδιόφωνο, επιλέξτε Χρήστες έτσι ώστε να είναι ορατό το στοιχείο ελέγχου Σύνθετο πλαίσιο που αναφέρει χρήστες.
Επιλέξτε το ορατό στοιχείο ελέγχου Σύνθετο πλαίσιο και, στη συνέχεια, ορίστε την ιδιότητα DefaultSelectedItems σε αυτόν τον τύπο:
If( IsType( Gallery1.Selected.Owner, Users ), AsType( Gallery1.Selected.Owner, Users ), Blank() )
Στο στοιχείο ελέγχου Ραδιόφωνο, επιλέξτε Ομάδες έτσι ώστε να είναι ορατό το στοιχείο ελέγχου Σύνθετο πλαίσιο που αναφέρει ομάδες.
Επιλέξτε το στοιχείο ελέγχου Επιλογής, για να καταργήσετε την επιλογή από το πλέον αόρατο στοιχείο ελέγχου Σύνθετο πλαίσιο για χρήστες.
Επιλέξτε το ορατό στοιχείο ελέγχου Σύνθετο πλαίσιο για ομάδες και, στη συνέχεια, ορίστε την ιδιότητά του DefaultSelectedItems σε αυτόν τον τύπο:
If( IsType( Gallery1.Selected.Owner, Teams ), AsType( Gallery1.Selected.Owner, Teams ), Blank() )
Εισαγάγετε ένα στοιχείο ελέγχου Κουμπί, μετακινήστε το στο στοιχείο ελέγχου Σύνθετο πλαίσιο και, στη συνέχεια, ορίστε την ιδιότητα Κείμενο σε
"Patch Owner"
.Ορίστε την ιδιότητα OnSelect του κουμπιού σε αυτόν τον τύπο:
Patch( Accounts, Gallery1.Selected, { Owner: If( Radio1_1.Selected.Value = "Users", ComboBox1_2.Selected, ComboBox1_3.Selected ) } )
Τα αντιγραμμένα στοιχεία ελέγχου Επιλογής και Σύνθετο πλαίσιο εμφανίζουν τον κάτοχο για τον τρέχοντα επιλεγμένο λογαριασμό στη συλλογή. Με τα ίδια στοιχεία ελέγχου, μπορείτε να ορίσετε τον κάτοχο του λογαριασμού σε οποιαδήποτε ομάδα ή χρήστη, επιλέγοντας το κουμπί:
Εμφάνιση του κατόχου χρησιμοποιώντας μια φόρμα
Μπορείτε να εμφανίσετε ένα πεδίο Κάτοχος εντός μιας φόρμας προσθέτοντας μια προσαρμοσμένη κάρτα. Κατά τη διάρκεια αυτής της γραφής, δεν μπορείτε να αλλάξετε την τιμή του πεδίου με ένα στοιχείο ελέγχου Φόρμα.
Εισαγάγετε ένα στοιχείο ελέγχου Επεξεργασίας φόρμας και, στη συνέχεια, αλλάξτε το μέγεθος και μετακινήστε το στην κάτω δεξιά γωνία.
Στην καρτέλα Ιδιότητες που βρίσκεται κοντά στη δεξιά πλευρά της οθόνης, ανοίξτε τη λίστα Προέλευση δεδομένων και, στη συνέχεια, επιλέξτε Λογαριασμοί.
Ορισμός της ιδιότητας Στοιχεία σε
Gallery1.Selected
.Στην καρτέλα Ιδιότητες κοντά στη δεξιά πλευρά της οθόνης, επιλέξτε Επεξεργασία πεδίων.
Στο τμήμα παραθύρου Πεδία, επιλέξτε τα αποσιωπητικά και, στη συνέχεια, επιλέξτε Προσθήκη προσαρμοσμένης κάρτας.
Η νέα κάρτα εμφανίζεται στο κάτω μέρος του στοιχείου ελέγχου Φόρμα.
Αλλάξτε το μέγεθος της κάρτας όπως απαιτείται για να εμφανίζεται όλο το κείμενο.
Εισαγάγετε ένα στοιχείο ελέγχου Ετικέτα στην προσαρμοσμένη κάρτα και, στη συνέχεια, ορίστε την ιδιότητα Κείμενο της ετικέτας στον τύπο που χρησιμοποιήσατε στη συλλογή:
If( IsType( ThisItem.Owner, Teams ), "Team: " & AsType( ThisItem.Owner, Teams ).'Team Name', "User: " & AsType( ThisItem.Owner, Users ).'Full Name' )
Για κάθε επιλογή στη συλλογή, εμφανίζονται στη φόρμα περισσότερα πεδία του λογαριασμού, συμπεριλαμβανομένου του κατόχου της εγγραφής. Εάν αλλάξετε τον κάτοχο χρησιμοποιώντας το κουμπί Patch, το στοιχείο ελέγχου Φόρμα δείχνει επίσης την εν λόγω αλλαγή.
Εμφάνιση των στηλών ενός πελάτη
Στο Dataverse, η στήλη αναζήτησης Πελάτης μια άλλη παρόμοια αναζήτηση με τον Κάτοχο.
Ο Κάτοχος περιορίζεται σε έναν ανά πίνακα, αλλά οι πίνακες μπορεί να περιλαμβάνουν μηδέν, μία ή περισσότερες στήλες αναζήτησης Πελάτη. Ο πίνακας συστήματος Επαφές περιλαμβάνει τη στήλη Επωνυμία εταιρείας η οποία είναι στήλη αναζήτησης Πελάτη.
Μπορείτε να προσθέσετε περισσότερες στήλες αναζήτησης Πελάτη σε έναν πίνακα επιλέγοντας τον τύπο δεδομένων Πελάτης για μια νέα στήλη.
Ένα πεδίο αναζήτησης Πελάτης μπορεί να αναφέρεται σε μια καρτέλα είτε από τον πίνακα Λογαριασμοί ή τον πίνακα Επαφές. Θα χρησιμοποιήσετε τις συναρτήσεις IsType και AsType με αυτούς τους πίνακες, επομένως τώρα είναι η καλή στιγμή να τους προσθέσετε ως προελεύσεις δεδομένων (μπορείτε να αφήσετε τις Ομάδες και τους Χρήστες στη θέση τους).
Η μεταχείριση των πεδίων Πελάτης και Κάτοχος είναι τόσο παρόμοια που μπορείτε κυριολεκτικά να αντιγράψετε την εφαρμογή (Αρχείο > Αποθήκευση ως και, στη συνέχεια, να καθορίσετε ένα διαφορετικό όνομα) και να κάνετε αυτές τις απλές αντικαταστάσεις:
Τοποθεσία | Δείγμα Κατόχου | Δείγμα Πελάτη |
---|---|---|
Παντού | Κάτοχος | "Όνομα πελάτη" |
Παντού | Χρήστες | Λογαριασμοί |
Παντού | Ομάδες | Επαφές |
Ιδιότητα Στοιχεία συλλογής | Λογαριασμοί | Επαφές |
Ιδιότητα Στοιχεία φόρμας | Λογαριασμοί | Επαφές |
Το πρώτο όρισμα του Patch στην ιδιότητα OnSelect του κουμπιού |
Λογαριασμοί | Επαφές |
Φιλτράρισμα ιδιότητας Στοιχεία επιλογής | [ "All", "Users", "Teams" ] | [ "All", "Accounts", "Contacts" ] |
Ιδιότητα Στοιχεία επιλογής Patch | [ "Users", "Teams" ] | [ "Accounts", "Contacts" ] |
Ιδιότητα Visible του Σύνθετο πλαίσιο | "Χρήστες" και "Ομάδες" | "Λογαριασμοί" και "Επαφές" |
Για παράδειγμα, η νέα συλλογή θα πρέπει να έχει αυτήν την ιδιότητα Στοιχεία:
Filter( Contacts,
Radio1.Selected.Value = "All"
Or (Radio1.Selected.Value = "Accounts" And 'Company Name' = ComboBox1.Selected)
Or (Radio1.Selected.Value = "Contacts" And 'Company Name' = ComboBox1_1.Selected)
)
Δύο σημαντικές διαφορές μεταξύ πελάτη και κατόχου απαιτούν μια ενημέρωση των τύπων εντός της συλλογής και της φόρμας:
Οι σχέσεις ένα προς πολλά μεταξύ Λογαριασμών και Επαφών έχουν προτεραιότητα όταν αναφέρεστε σε αυτούς τους τύπους πίνακα κατά όνομα. Αντί για Λογαριασμούς, χρησιμοποιήστε [@Accounts]. Αντί για Επαφές, χρησιμοποιήστε [@Contacts]. Χρησιμοποιώντας τον τελεστή καθολικής αποσαφήνισης, εξασφαλίζετε ότι αναφέρεστε στον τύπο πίνακα στα στοιχεία IsType και AsType. Αυτό το πρόβλημα υπάρχει μόνο στο περιβάλλον εγγραφής των στοιχείων ελέγχου Συλλογή και φόρμας.
Το πεδίο Κάτοχος πρέπει να έχει μια τιμή, αλλά τα πεδία Πελάτης μπορεί να είναι κενά. Για την εμφάνιση του σωστού αποτελέσματος χωρίς όνομα τύπου, κάντε δοκιμή για αυτήν την υπόθεση με τη συνάρτηση IsBlank και εμφανίστε μια κενή συμβολοσειρά κειμένου.
Και οι δύο αυτές αλλαγές βρίσκονται στον ίδιο τύπο, ο οποίος εμφανίζεται στην προσαρμοσμένη κάρτα στη φόρμα, καθώς και στην ιδιότητα Κείμενο του στοιχείου ελέγχου ετικέτας της συλλογής:
If( IsBlank( ThisItem.'Company Name' ), "",
IsType( ThisItem.'Company Name', Accounts ),
"Account: " & AsType( ThisItem.'Company Name', Accounts ).'Account Name',
"Contact: " & AsType( ThisItem.'Company Name', Contacts ).'Full Name'
)
Με αυτές τις αλλαγές, μπορείτε να προβάλετε και να αλλάξετε το πεδίο Επωνυμία εταιρείας στον πίνακα Επαφές.
Κατανόηση των στηλών αναζήτησης "Σχετικά με"
Η στήλη αναζήτησης Σχετικά με διαφέρει λίγο από αυτήν που έχετε ήδη εργαστεί σε αυτό το θέμα. θα ξεκινήσετε εφαρμόζοντας τα μοτίβα που περιγράφονται σε αυτό το θέμα νωρίτερα και, στη συνέχεια, θα μάθετε άλλα τεχνάσματα.
Μπορείτε να ξεκινήσετε απλά με τον πίνακα Φαξ. Αυτός ο πίνακας περιέχει μια πολυμορφική στήλη αναζήτησης Σχετικά με, η οποία μπορεί να αναφέρεται στους Λογαριασμούς, τις Επαφές και άλλους πίνακες. Μπορείτε να αναλάβετε την εφαρμογή για Πελάτες και να την τροποποιήσετε για Φαξ.
Τοποθεσία | Δείγμα Πελάτη | Δείγμα Φαξ |
---|---|---|
Παντού | "Όνομα πελάτη" | Σχετικά με |
Ιδιότητα Στοιχεία συλλογής | Επαφές | Φαξ |
Ιδιότητα Στοιχεία φόρμας | Επαφές | Φαξ |
Το πρώτο όρισμα του Patch στην ιδιότητα OnSelect του κουμπιού |
Επαφές | Φαξ |
Και πάλι, θα πρέπει να προσθέσετε μια προέλευση δεδομένων: αυτή τη φορά για τα Φαξ. Στην καρτέλα Προβολή, επιλέξτε Προελεύσεις δεδομένων:
Μια σημαντική διαφορά για το Σχετικά είναι ότι δεν περιορίζεται στους Λογαριασμούς και τις Επαφές. Στην ουσία, η λίστα των πινάκων επεκτείνεται με προσαρμοσμένους πίνακες. Το μεγαλύτερο μέρος της εφαρμογής μπορεί να φιλοξενήσει αυτό το σημείο χωρίς τροποποίηση, αλλά πρέπει να ενημερώσετε τον τύπο για την ετικέτα στη συλλογή και τη φόρμα:
If( IsBlank( ThisItem.Regarding ), "",
IsType( ThisItem.Regarding, Accounts ),
"Account: " & AsType( ThisItem.Regarding, Accounts ).'Account Name',
IsType( ThisItem.Regarding, Contacts ),
"Contacts: " & AsType( ThisItem.Regarding, Contacts ).'Full Name',
""
)
Αφού πραγματοποιήσετε αυτές τις αλλαγές, εργάζεστε με την αναζήτηση Σχετικά με ακριβώς όπως κάνατε με τις αναζητήσεις Κάτοχος και Πελάτης.
Κατανόηση σχετικά με σχέσεις
Το Σχετικά με διαφέρει από το Κάτοχος και Πελάτης, επειδή το πρώτο αφορά μια σχέση πολλών προς έναν. Εξ ορισμού, μια αντίστροφη σχέση ενός προς πολλούς σάς δίνει τη δυνατότητα να συντάξετε First( Accounts ).Faxes.
Επιστρέψτε παραπάνω και δείτε τους ορισμούς του πίνακα. Στο Dataverse, πίνακες όπως Φαξ, Εργασίες, Email, Σημειώσεις, Τηλεφωνικές κλήσεις, Επιστολές και Συνομιλίες χαρακτηρίζονται ως δραστηριότητες. Μπορείτε, επίσης, να δημιουργήσετε τους δικούς σας προσαρμοσμένους πίνακες δραστηριοτήτων. Όταν εμφανίζετε ή δημιουργείτε έναν πίνακα δραστηριοτήτων, οι ρυθμίσεις του εμφανίζονται στην περιοχή Περισσότερες ρυθμίσεις.
Οι άλλοι πίνακες μπορούν να σχετίζονται με έναν πίνακα δραστηριοτήτων, εάν έχουν ενεργοποιηθεί ως εργασία δραστηριότητας στις ρυθμίσεις του πίνακα. Οι Λογαριασμοί, οι Επαφές και πολλοί άλλοι τυπικοί πίνακες έχουν οριστεί έτσι (και πάλι, στην περιοχή Περισσότερες ρυθμίσεις).
Όλοι οι πίνακες δραστηριοτήτων και οι πίνακες δραστηριοτήτων-εργασιών έχουν σχέση μεταξύ τους. Εάν αλλάξετε το φίλτρο σε Όλα στο επάνω μέρος της οθόνης, επιλέξετε τον πίνακα Φαξ και, στη συνέχεια επιλέξετε την καρτέλα Σχέσεις, εμφανίζονται όλοι οι πίνακες που θα μπορούσαν να ειναι στόχος μιας αναζήτησης Σχετικά με.
Εάν εμφανίσετε τις σχέσεις για τον πίνακα Λογαριασμοί, θα εμφανιστούν όλοι οι πίνακες που μπορεί να είναι προέλευση ενός πεδίου αναζήτησης Σχετικά με.
Τι σημαίνει όλο αυτό;
- Όταν δημιουργείτε τύπους, πρέπει να λάβετε υπόψη σας ότι η λίστα των πινάκων δραστηριοτήτων δεν είναι σταθερή και μπορείτε να δημιουργήσετε και τις δικές σας. Ο τύπος πρέπει να χειρίζεται κατάλληλα έναν πίνακα δραστηριοτήτων που δεν αναμένατε.
- Οι εργασίες και οι δραστηριότητες δραστηριοτήτων έχουν μια σχέση ενός προς πολλούς. Μπορείτε εύκολα να ζητήσετε όλα τα φαξ που σχετίζονται με έναν λογαριασμό.
Για να εξερευνήσετε την εν λόγω έννοια στην εφαρμογή:
Προσθήκη άλλης οθόνης.
Εισαγάγετε ένα Στοιχείο ελέγχου Συλλογή, αλλάξτε το μέγεθός του και, στη συνέχεια, μετακινήστε το στην αριστερή πλευρά της οθόνης.
Στην καρτέλα Ιδιότητες κοντά στη δεξιά πλευρά της οθόνης, ορίστε το Στοιχεία της συλλογής σε Λογαριασμοί.
Ορίστε τη διάταξη της συλλογής σε Τίτλος και, στη συνέχεια, ορίστε το πεδίο τίτλου σε Όνομα λογαριασμού.
Προσθέστε μια δεύτερη συλλογή, αλλάξτε το μέγεθός της και, στη συνέχεια, μετακινήστε τη στη δεξιά πλευρά της οθόνης.
Ορίστε την ιδιότητα Στοιχεία της νέας συλλογής σε
Gallery2.Selected.Faxes
.Αυτό το βήμα επιστρέφει τη φιλτραρισμένη λίστα φαξ για έναν δεδομένο λογαριασμό.
Ορίστε τη διάταξη της συλλογής σε Τίτλος και υπότιτλος και, στη συνέχεια, ορίστε το πεδίο τίτλου για να εμφανίζεται το πεδίο Θέμα (η οποία μπορεί να είναι πεζό θέμα).
Καθώς επιλέγετε ένα στοιχείο από τη λίστα λογαριασμών, η λίστα των φαξ εμφανίζει φαξ μόνο για αυτόν τον λογαριασμό.
Πίνακας δραστηριοτήτων
Όπως περιγράφει η προηγούμενη ενότητα, μπορείτε να εμφανίσετε όλα τα φαξ για έναν λογαριασμό. Ωστόσο, μπορείτε επίσης να εμφανίσετε όλες τις δραστηριότητες για έναν λογαριασμό, όπως φαξ, μηνύματα ηλεκτρονικού ταχυδρομείου, τηλεφωνικές κλήσεις και άλλες αλληλεπιδράσεις.
Για το τελευταίο σενάριο, χρησιμοποιήστε τον πίνακα Δραστηριότητες. Μπορείτε να εμφανίσετε αυτόν τον πίνακα απενεργοποιώντας την επιλογή Όλα στην επάνω δεξιά γωνία, για να καταργήσετε το φίλτρο από τη λίστα των πινάκων.
Ο πίνακας Δραστηριότητα είναι ιδιαίτερος. Κάθε φορά που προσθέτετε μια καρτέλα στον πίνακα Φαξ, το σύστημα δημιουργεί επίσης μια καρτέλα στον πίνακα Δραστηριότητα με τις στήλες που είναι κοινές σε όλους τους πίνακες δραστηριοτήτων. Από αυτές τις στήλες, το Θέμα είναι ένα από τα πιο ενδιαφέροντα στοιχεία.
Μπορείτε να εμφανίσετε όλες τις δραστηριότητες αλλάζοντας μόνο μία γραμμή στο προηγούμενο παράδειγμα. Αντικατάσταση Gallery2.Selected.Faxes
με Gallery2.Selected.Activities
.
Οι καρτέλες προέρχονται από τον πίνακα Δραστηριότητα, ωστόσο μπορείτε να χρησιμοποιήσετε τη συνάρτηση IsType για να προσδιορίσετε το είδος της δραστηριότητας. Και πάλι, πριν να χρησιμοποιήσετε το IsType με έναν τύπο πίνακα, πρέπει να προσθέσετε την προέλευση δεδομένων.
Με τη χρήση αυτού του τύπου, μπορείτε να εμφανίσετε τον τύπο εγγραφής σε ένα Στοιχείο ελέγχου Ετικέτα εντός της συλλογής:
If( IsType( ThisItem, Faxes] ), "Fax",
IsType( ThisItem, 'Phone Calls' ), "Phone Call",
IsType( ThisItem, 'Email Messages' ), "Email Message",
IsType( ThisItem, Chats ), "Chat",
"Unknown"
)
Επίσης, μπορείτε να χρησιμοποιήσετε το AsType για να αποκτήσετε πρόσβαση στα πεδία του συγκεκριμένου τύπου. Για παράδειγμα, αυτός ο τύπος καθορίζει τον τύπο κάθε δραστηριότητας και, για τις τηλεφωνικές κλήσεις, εμφανίζει τον αριθμό τηλεφώνου και την κατεύθυνση κλήσης από τον πίνακα Αριθμοί τηλεφώνου:
If( IsType( ThisItem, Faxes ), "Fax",
IsType( ThisItem, 'Phone Calls' ),
"Phone Call: " &
AsType( ThisItem, 'Phone Calls' ).'Phone Number' &
" (" & AsType( ThisItem, 'Phone Calls' ).Direction & ")",
IsType( ThisItem, 'Email Messages' ), "Email Message",
IsType( ThisItem, Chats ), "Chat",
"Unknown"
)
Ως εκ τούτου, η εφαρμογή εμφανίζει μια πλήρη λίστα δραστηριοτήτων. Το πεδίο Θέμα εμφανίζεται για όλους τους τύπους δραστηριοτήτων, ανεξάρτητα από το εάν ο τύπος τις λαμβάνει υπόψη ή όχι. Για τους τύπους δραστηριοτήτων που γνωρίζετε, μπορείτε να εμφανίζετε τα ονόματα των τύπων τους και τις πληροφορίες συγκεκριμένου τύπου σχετικά με κάθε δραστηριότητα.
Πίνακας "Σημειώσεις"
Μέχρι τώρα, όλα τα παραδείγματα Σχετικά με έχουν βασιστεί σε δραστηριότητες, αλλά ο πίνακας Σημειώσεις αντιπροσωπεύει μια άλλη υπόθεση.
Όταν δημιουργείτε έναν πίνακα, μπορείτε να ενεργοποιήσετε τα συνημμένα.
Εάν επιλέξετε το πλαίσιο ελέγχου για την ενεργοποίηση των συνημμένων, θα δημιουργήσετε μια σχέση Σχετικά με με τον πίνακα Σημειώσεις, όπως δείχνει αυτό το γραφικό για τον πίνακα Λογαριασμοί:
Εκτός από αυτήν τη διαφορά, χρησιμοποιείτε την αναζήτηση Σχετικά με με τον ίδιο τρόπο με τον οποίο χρησιμοποιείτε τις δραστηριότητες. Οι πίνακες που έχουν ενεργοποιηθεί για συνημμένα έχουν μια σχέση "ένα προς πολλά" με τις Σημειώσεις, όπως σε αυτό το παράδειγμα:
First( Accounts ).Notes
Σημείωση
Κατά τη σύνταξη του παρόντος, η αναζήτηση Σχετικά με δεν είναι διαθέσιμη για τον πίνακα Σημειώσεις. Δεν μπορείτε να διαβάσετε ή να φιλτράρετε με βάση τη στήλη Σχετικά με και δεν μπορείτε να ορίσετε τη στήλη χρησιμοποιώντας την Ενημέρωση κώδικα.
Ωστόσο, η αντίστροφη σχέση ενός προς πολλούς Σημειώσεις είναι διαθέσιμη, επομένως μπορείτε να φιλτράρετε μια λίστα σημειώσεων για μια εγγραφή που έχει ενεργοποιηθεί για συνημμένα. Επίσης, μπορείτε να χρησιμοποιήσετε τη συνάρτηση Relate για να προσθέσετε μια σημείωση στον πίνακα Σημειώσεις, αλλά η σημείωση πρέπει πρώτα να δημιουργηθεί, όπως σε αυτό το παράδειγμα:
Relate( ThisItem.Notes, Patch( Notes, Defaults( Notes ), { Title: "A new note" } ) )
Μέλη δραστηριοτήτων
Από αυτήν τη σύνταξη, οι εφαρμογές καμβά δεν υποστηρίζουν τα μέλη δραστηριοτήτων.
Σημείωση
Μπορείτε να μας πείτε ποια γλώσσα προτιμάτε για την τεκμηρίωση; Πάρτε μέρος σε μια σύντομη έρευνα. (σημειώνεται ότι αυτή η έρευνα είναι στα Αγγλικά)
Η έρευνα θα διαρκέσει περίπου επτά λεπτά. Δεν συλλέγονται προσωπικά δεδομένα (δήλωση προστασίας προσωπικών δεδομένων).