Τελεστές και αναγνωριστικά

Σημείωμα

Το Microsoft Power Fx είναι το νέο όνομα για τη γλώσσα τύπου των εφαρμογών καμβά. Αυτά τα άρθρα είναι σε εξέλιξη καθώς εξάγουμε τη γλώσσα από εφαρμογές καμβά, την ενοποιουμε με άλλα προϊόντα Microsoft Power Platform και την κάνουμε διαθέσιμη ως ανοιχτό κώδικα. Ξεκινήστε με την Επισκόπηση του Microsoft Power Fx για μια εισαγωγή στη γλώσσα.

Οι τελεστές στο Microsoft Power Fx περιγράφονται παρακάτω. Ορισμένοι από αυτούς τους τελεστές εξαρτώνται από τη γλώσσα του συντάκτη. Δείτε τις Καθολικές εφαρμογές για περισσότερες πληροφορίες.

Σύμβολο Τύπος Σύνταξη Περιγραφή
. Επιλογέας ιδιοτήτων Slider1.Value
Color.Red
Εξάγει μια ιδιότητα από ένα στοιχείο ελέγχου πίνακα ή απαρίθμηση. Για συμβατότητα με παλαιότερες εκδόσεις, ! μπορεί να χρησιμοποιηθεί.
.
εξάρτηση από γλώσσα
Διαχωριστικό δεκαδικών 1.23 Το διαχωριστικό μεταξύ του ακέραιου και του κλασματικού μέρους ενός αριθμού. Ο χαρακτήρας εξαρτάται από τη γλώσσα.
( ) Παρενθέσεις Filter(T, A < 10)

(1 + 2) * 3
Επιβάλλει τη σειρά προτεραιοτήτων και ομαδοποιεί δευτερεύουσες παραστάσεις σε μια μεγαλύτερη παράσταση
+ Αριθμητικοί τελεστές 1 + 2 Πρόσθεση
-   2-1 Αφαίρεση και πρόσημο
*   2 * 3 Πολλαπλασιασμός
/   2 / 3 Διαίρεση (δείτε επίσης τη συνάρτηση Mod)
^   2 ^ 3 Ύψωση σε δύναμη, ισοδύναμο με τη συνάρτηση Power
%   20% Ποσοστό (ισοδύναμο με "* 1/100")
= Τελεστές σύγκρισης Price = 100 Ίσο με
>   Price > 100 Μεγαλύτερο από
>=   Price >= 100 Μεγαλύτερο από ή ίσο με
<   Price < 100 Μικρότερο από
<=   Price <= 100 Μικρότερο από ή ίσο με
<>   Price <> 100 Δεν είναι ίσο με
& Τελεστής συνένωσης συμβολοσειρών "hello" & " " & "world" Κάνει πολλαπλές συμβολοσειρές να εμφανίζονται ως συνεχείς
&& ή And Λογικοί τελεστές Price < 100 && Slider1.Value = 20
ή Price < 100 And Slider1.Value = 20
Λογική σύνδεση, ισοδύναμο με τη συνάρτηση And
|| ή Or   Price < 100 || Slider1.Value = 20 or Price < 100 Or Slider1.Value = 20 Λογική αποσύνδεση, ισοδύναμο με τη συνάρτηση Or
! ή Not   !(Price < 100) ή Not (Price < 100) Λογική άρνηση, ισοδύναμο με τη συνάρτηση Not
exactin Τελεστές ιδιότητας μέλους Gallery1.Selected exactin SavedItems Ανήκει σε μια συλλογή ή πίνακα
exactin   "Windows" exactin "Για την εμφάνιση παραθύρων στο λειτουργικό σύστημα Windows..." Δοκιμή δευτερεύουσας συμβολοσειράς (διάκριση πεζών-κεφαλαίων)
περιλαμβάνεται σε   Gallery1.Selected in SavedItems Ανήκει σε μια συλλογή ή πίνακα
περιλαμβάνεται σε   "The" in "The keyboard and the monitor..." Δοκιμή δευτερεύουσας συμβολοσειράς (μη διάκριση πεζών-κεφαλαίων)
@ Τελεστής αποσαφήνισης MyTable[@fieldname] Αποσαφήνιση πεδίου
@   [@MyVariable] Καθολική αποσαφήνιση
,
[με εξάρτηση από γλώσσα]
Διαχωριστικό λιστών If( X < 10, "Low", "Good" )
{ X: 12, Y: 32 }
[ 1, 2, 3 ]
Διαχωρίζει:
  • ορίσματα σε κλήσεις συναρτήσεων
  • πεδία σε μια εγγραφή
  • εγγραφές σε έναν πίνακα
Αυτός ο χαρακτήρας εξαρτάται από τη γλώσσα.
;
[με εξάρτηση από γλώσσα]
Αλληλουχία τύπων Collect(T, A); Navigate(S1, "") Διαχωρίζει κλήσεις συναρτήσεων σε ιδιότητες συμπεριφορών. Ο τελεστής αλληλουχίας εξαρτάται της γλώσσας.
Ως Ως τελεστής AllCustomers As Customer Παρακάμπτει το ThisItem και το ThisRecord σε συλλογές και συναρτήσεις εύρους καρτελών. Το As είναι χρήσιμο για την παροχή ενός καλύτερου, συγκεκριμένου ονόματος και είναι ιδιαίτερα σημαντικό σε ένθετα σενάρια.
Αυτοαναφορικό Τελεστής Self Self.Fill Αποκτήστε πρόσβαση σε ιδιότητες του τρέχοντος στοιχείου ελέγχου
Γονικό στοιχείο Τελεστής Parent Parent.Fill Παρέχει πρόσβαση στις ιδιότητες ενός κοντέινερ στοιχείου ελέγχου
ThisItem Τελεστής ThisItem ThisItem.FirstName Παρέχει πρόσβαση σε πεδία ενός στοιχείου ελέγχου "Συλλογή" ή "Φόρμα"
ThisRecord Τελεστής ThisItem ThisRecord.FirstName Πρόσβαση στην πλήρη καρτέλα και τα μεμονωμένα πεδία της καρτέλας εντός ForAll, Sum, With και άλλων συναρτήσεων εύρους καρτελών. Μπορεί να παρακαμφθεί με τον τελεστή As.

Τελεστές in και exactin

Χρησιμοποιήστε τους τελεστές in και exactin για να βρείτε μια συμβολοσειρά σε μια προέλευση δεδομένων, όπως μια συλλογή ή έναν πίνακα που έχει εισαχθεί. Ο τελεστής in αναγνωρίζει αντιστοιχίσεις ανεξάρτητα πεζών-κεφαλαίων και ο τελεστής exactin αναγνωρίζει αντιστοιχίσεις μόνο εάν χαρακτηρίζονται από την ίδια διάκριση πεζών-κεφαλαίων. Ακολουθεί ένα παράδειγμα:

  1. Δημιουργήστε ή εισαγάγετε μια συλλογή με την ονομασία Inventory και εμφανίστε την σε μια συλλογή, όπως περιγράφει η πρώτη διαδικασία στο θέμα Εμφάνιση εικόνων και κειμένου σε μια συλλογή.

  2. Ορίστε την ιδιότητα Items της συλλογής σε αυτόν τον τύπο:
    Filter(Inventory, "E" in ProductName)

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

  3. Αλλάξτε την ιδιότητα Items της συλλογής σε αυτόν τον τύπο:
    Filter(Inventory, "E" exactin ProductName)

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

Τελεστές ThisItem, ThisRecord και As

Ορισμένα στοιχεία ελέγχου και συναρτήσεις εφαρμόζουν τύπους σε μεμονωμένες καρτέλες ενός πίνακα. Για να ανατρέξετε στη μεμονωμένη καρτέλα ενός τύπου, χρησιμοποιήστε ένα από τα παρακάτω:

Τελεστής Ισχύει για Περιγραφή
ThisItem Στοιχείο ελέγχουGallery
Στοιχείο ελέγχουEdit form
Στοιχείο ελέγχου Display form
Το προεπιλεγμένο όνομα για την τρέχουσα καρτέλα σε μια Gallery ή στοιχείο ελέγχου Form.
ThisRecord Συναρτήσεις ForAll, Filter, With, Sum και άλλες record scope Το προεπιλεγμένο όνομα για την τρέχουσα καρτέλα στο ForAll και άλλες συναρτήσεις εύρους καρτελών.
Asname Στοιχείο ελέγχουGallery
ForAll, Filter, With, Sum και άλλες συναρτήσεις record scope
Προσδιορίζει ένα όνομα για την τρέχουσα καρτέλα, αντικαθιστώντας το προεπιλεγμένο ThisItem ή ThisRecord. Χρησιμοποιήστε το As για να κάνετε τους τύπους πιο κατανοητούς και να επιλύσετε τις ασάφειες κατά την ένθεση.

Τελεστής ThisItem

Για παράδειγμα, στο ακόλουθο στοιχείο ελέγχου Συλλογή, η ιδιότητα Στοιχεία ορίζεται στην προέλευση δεδομένων Υπάλληλοι (όπως η οντότητα Υπάλληλοι που περιλαμβάνεται στο δείγμα Northwind traders):

Employees

Υπάλληλοι που εμφανίζονται σε μια συλλογή.

Το πρώτο στοιχείο στη συλλογή είναι ένα πρότυπο που έχει αναπαραχθεί για κάθε υπάλληλο. Στο πρότυπο, ο τύπος για την εικόνα χρησιμοποιεί το ThisItem για να αναφερθεί στο τρέχον στοιχείο:

ThisItem.Picture

Τύπος για την εικόνα υπαλλήλου.

Ομοίως, ο τύπος για το όνομα χρησιμοποιεί επίσης ThisItem:

ThisItem.'First Name' & " " & ThisItem.'Last Name'

Τύπος για το όνομα και το επώνυμο ενός υπαλλήλου.

Τελεστής ThisRecord

Το ThisRecord χρησιμοποιείται σε συναρτήσεις που έχουν ένα πεδίο καρτέλας. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τη συνάρτηση Filter με την ιδιότητα Items της συλλογής μας για να εμφανίζονται μόνο τα ονόματα που αρχίζουν από M:

Filter( Employees, StartsWith( ThisRecord.Employee.'First Name', "M" ) )

Φιλτράρισμα των υπαλλήλων με βάση το όνομα, χρησιμοποιώντας το ThisRecord.

Το ThisRecord είναι προαιρετικό και σιωπηρό με τη χρήση των πεδίων απευθείας, για παράδειγμα, σε αυτήν την περίπτωση, θα μπορούσαμε να έχουμε γράψει:

Filter( Employees, StartsWith( 'First Name', "M" ) )

Αν και προαιρετικό, η χρήση του ThisRecord μπορεί να διευκολύνει την κατανόηση των τύπων και μπορεί να απαιτηθεί σε διφορούμενες καταστάσεις όπου ένα όνομα πεδίου μπορεί να είναι επίσης ένα όνομα σχέσης. Το ThisRecord είναι προαιρετικό ενώ το ThisItem είναι πάντα υποχρεωτικό.

Χρησιμοποιήστε το ThisRecord για να αναφέρετε ολόκληρη την καρτέλα με τις συναρτήσεις Patch, Collect και άλλες συναρτήσεις πεδίου καρτελών. Για παράδειγμα, ο τύπος που ακολουθεί ορίζει την κατάσταση για όλους τους ανενεργούς υπαλλήλους σε ενεργή:

With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
      ForAll( InactiveEmployees, 
              Patch( Employees, ThisRecord, { Status: 'Status (Employees)'.Active } ) ) )

Ως τελεστής

Χρησιμοποιήστε τον τελεστή As για να ονομάσετε μια καρτέλα σε μια συνάρτηση πεδίου συλλογής ή καρτέλας, παρακάμπτοντας την προεπιλεγμένη ThisItem ή ThisRecord. Η ονομασία της καρτέλας μπορεί να διευκολύνει την κατανόηση των τύπων σας και μπορεί να απαιτείται σε ένθετες καταστάσεις για την πρόσβαση σε καρτέλες που βρίσκονται σε άλλα πεδία.

Για παράδειγμα, μπορείτε να τροποποιήσετε την ιδιότητα Items της συλλογής μας για να χρησιμοποιήσετε το As για να προσδιορίσετε ότι συνεργαζόμαστε με έναν υπάλληλο:

Employees As Employee

Συλλογή υπαλλήλων, χρησιμοποιώντας τον τελεστή As.

Οι τύποι για την εικόνα και το όνομα προσαρμόζονται ώστε να χρησιμοποιούν αυτό το όνομα για την τρέχουσα καρτέλα:

Employee.Picture

Εικόνα υπαλλήλου που χρησιμοποιεί το όνομα υπαλλήλου που έχει οριστεί με τον τελεστή As.

Employee.'First Name' & " " & Employee.'Last Name'

Όνομα και επώνυμο ενός υπαλλήλου που χρησιμοποιεί το όνομα υπαλλήλου που έχει οριστεί με τον τελεστή As.

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

With( { InactiveEmployees: Filter( Employees, Status = 'Status (Employees)'.Inactive ) },
      ForAll( InactiveEmployees As Employee, 
              Patch( Employees, Employee, { Status: 'Status (Employees)'.Active } ) ) )

Κατά την ένθεση των συναρτήσεων συλλογών και πεδίου καρτελών, ThisItem και ThisRecord αναφέρεται πάντα στο πιο εσωτερικό πεδίο, αφήνοντας τις καρτέλες στο εξωτερικό πεδίο μη διαθέσιμες. Χρησιμοποιήστε το As για να καταστήσετε διαθέσιμα όλα τα πεδία καρτελών δίνοντας στο καθένα ένα μοναδικό όνομα.

Για παράδειγμα, αυτός ο τύπος παράγει ένα μοτίβο σκακιέρας ως συμβολοσειρά κειμένου με ένθεση δύο συναρτήσεων ForAll:

Concat( 
    ForAll( Sequence(8) As Rank,
        Concat( 
            ForAll( Sequence(8) As File, 
                    If( Mod(Rank.Value + File.Value, 2) = 1, " X ", " . " ) 
            ),
            Value 
        ) & Char(10) 
    ), 
    Value 
)

Η ρύθμιση της ιδιότητας Text ενός στοιχείου ελέγχου Label σε αυτόν τον τύπο εμφανίζει:

Κείμενο σκακιέρας που εμφανίζεται σε ένα Στοιχείο ελέγχου Label.

Ας δούμε τι συμβαίνει εδώ:

  • Ξεκινάμε επαναλαμβάνοντας έναν ανώνυμο πίνακα με 8 αριθμημένες καρτέλες από τη συνάρτηση Sequence. Αυτός ο βρόχος είναι για κάθε σειρά του πίνακα, η οποία συνήθως αναφέρεται ως Τάξη και έτσι δίνουμε αυτό το όνομα.
  • Για κάθε γραμμή, επαναλαμβάνουμε έναν άλλο ανώνυμο πίνακα με 8 στήλες και δίνουμε το κοινό όνομα Αρχείο.
  • Εάν Rank.Value + File.Value είναι μονός αριθμός, το τετράγωνο αποκτά ένα X, ειδάλλως μια τελεία. Αυτό το τμήμα του τύπου παραπέμπει και στους δύο βρόχους ForAll, οι οποίοι κατέστησαν εφικτοί με τη χρήση του τελεστή As.
  • Το Concat χρησιμοποιείται δύο φορές, πρώτα για τη συγκρότηση των στηλών και έπειτα για τις γραμμές, με Char(10) να ρίχνεται για τη δημιουργία μιας νέας σειράς.

Ένα παρόμοιο παράδειγμα είναι δυνατό με ένθετα στοιχεία ελέγχου Gallery αντί για συναρτήσεις ForAll. Ξεκινάμε με την κατακόρυφη συλλογή για την Τάξη. Αυτό το Στοιχείο ελέγχου Gallery θα περιλαμβάνει έναν τύπο Στοιχεία:

Sequence(8) as Rank

Απεικόνιση της εξωτερικής συλλογής που παρέχει την επανάληψη κατάταξης.

Σε αυτήν τη συλλογή, θα τοποθετήσουμε μια οριζόντια συλλογή για το Αρχείο, η οποία θα αναπαραχθεί για κάθε Τάξη, με μια ιδιότητα Items:

Sequence(8) as File

Απεικόνιση της εσωτερικής συλλογής που παρέχει την επανάληψη αρχείου.

Τέλος, μέσα σε αυτήν τη συλλογή, θα προσθέσουμε ένα στοιχείο ελέγχου Label που θα αναπαραχθεί για κάθε Αρχείο και κάθε Τάξη. Θα προσαρμόσουμε το μέγεθος για να γεμίσουμε ολόκληρο τον χώρο και θα χρησιμοποιήσουμε την ιδιότητα Fill για να παρέχουμε το χρώμα με αυτόν τον τύπο:

If( Mod( Rank.Value + File.Value, 2 ) = 1, Green, Beige )

Στοιχείο ελέγχου Label στις δύο συλλογές που παρέχουν τα εναλλασσόμενα χρώματα για τη σκακιέρα.

Τελεστές Self και Parent

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

Μέθοδος Περιγραφή
Κατά όνομα στοιχείου ελέγχου Οποιοδήποτε στοιχείο ελέγχου μπορεί να αναφέρεται με το όνομα από οποιοδήποτε σημείο εντός της εφαρμογής.

Για παράδειγμα, το Label1.Fill αναφέρεται στην ιδιότητα συμπλήρωσης του στοιχείου ελέγχου που ονομάζεται Label1.
Τελεστής Self Είναι συχνά βολικό να κάνετε αναφορά σε μια άλλη ιδιότητα του ίδιου στοιχείου ελέγχου όταν συντάσσετε έναν τύπο. Αντί να χρησιμοποιήσετε μια απόλυτη αναφορά με βάση το όνομα, είναι ευκολότερο και πιο φορητό να χρησιμοποιήσετε μια σχετική αναφορά σε ένα self. Ο τελεστής Self παρέχει αυτήν την εύκολη πρόσβαση στο τρέχον στοιχείο ελέγχου.

Για παράδειγμα, το Self.Fill αναφέρεται στη συμπλήρωση χρώματος του τρέχοντος στοιχείου ελέγχου.
Τελεστής Parent Ορισμένα στοιχεία ελέγχου φιλοξενούν άλλα στοιχεία ελέγχου, όπως τα στοιχεία ελέγχου Screen και Gallery. Το στοιχείο ελέγχου φιλοξενίας των στοιχείων ελέγχου σε αυτό καλείται γονικό. Όπως και ο τελεστής Self, ο τελεστής Parent παρέχει μια εύκολη σχετική αναφορά στο στοιχείο ελέγχου Container.

Για παράδειγμα, το Parent.Fill αναφέρεται στην ιδιότητα συμπλήρωσης του στοιχείου ελέγχου που είναι ο περιέκτης του τρέχοντος στοιχείου ελέγχου.

Οι τελεστές Self και Parent είναι τελεστές και όχι ιδιότητες στα ίδια τα στοιχεία ελέγχου. Η αναφορά στα Parent.Parent, Self.Parent ή Parent.Self δεν υποστηρίζεται.

Ονόματα αναγνωριστικών

Τα ονόματα των μεταβλητών, των προελεύσεων δεδομένων, των στηλών και άλλων αντικειμένων μπορούν να περιέχουν οποιοδήποτε Unicode.

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

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

Όνομα στήλης σε μια βάση δεδομένων Αναφορά στήλης σε έναν τύπο
SimpleName SimpleName
NameWith123Numbers NameWith123Numbers
Όνομα με διαστήματα 'Name with spaces'
Όνομα με "διπλά" εισαγωγικά 'Name with "double" quotes'
Όνομα με 'μονά' εισαγωγικά 'Name with ''single'' quotes'
Όνομα με σύμβολο @ (παπάκι) 'Name with an @ at sign'

Τα διπλά εισαγωγικά χρησιμοποιούνται για την ονομασία συμβολοσειρών κειμένου.

Ονόματα εμφάνισης και λογικά ονόματα

Ορισμένες προελεύσεις δεδομένων, όπως τα SharePoint και Microsoft Dataverse έχουν δύο διαφορετικά ονόματα, για να αναφέρονται στον ίδιο πίνακα ή στη στήλη δεδομένων:

  • Λογικό όνομα - ένα όνομα που είναι εγγυημένα μοναδικό, το οποίο δεν αλλάζει μετά τη δημιουργία του, συνήθως δεν επιτρέπει κενά διαστήματα ή άλλους ειδικούς χαρακτήρες και δεν είναι μεταφρασμένο σε διαφορετικές γλώσσες. Ως εκ τούτου, το όνομα μπορεί να είναι κρυπτογραφημένο. Αυτά τα ονόματα χρησιμοποιούνται από επαγγελματίες προγραμματιστές. Για παράδειγμα, cra3a_customfield. Αυτό το όνομα μπορεί επίσης να αναφέρεται ως όνομα σχήματος ή απλώς ως όνομα.

  • Εμφανιζόμενο όνομα - ένα όνομα που είναι φιλικό προς το χρήστη και προορίζεται για να το βλέπουν οι τελικοί χρήστες. Αυτό το όνομα δεν μπορεί να είναι μοναδικό, μπορεί να αλλάξει με την πάροδο του χρόνου, μπορεί να περιέχει κενά διαστήματα και οποιονδήποτε χαρακτήρα Unicode και μπορεί να είναι μεταφρασμένο σε διαφορετικές γλώσσες. Αντίστοιχα με το παραπάνω παράδειγμα, το εμφανιζόμενο όνομα μπορεί να είναι Προσαρμοσμένο πεδίο με διάστημα ανάμεσα στις λέξεις.

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

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

Η οντότητα λογαριασμού με προσθήκη προσαρμοσμένου πεδίου, που δείχνει εμφανιζόμενο όνομα

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

Γραμμή τύπου στούντιο που εμφανίζει προτάσεις για τα ονόματα πεδίων των λογαριασμών με επισημασμένο το εμφανιζόμενο όνομα

Αφού επιλέξετε την πρόταση, το 'Προσαρμοσμένο πεδίο' εμφανίζεται στη γραμμή τύπων και γίνεται ανάκτηση των δεδομένων:

Γραμμή τύπου στούντιο που εμφανίζει τη χρήση του εμφανιζόμενου ονόματος 'Προσαρμοσμένο πεδίο' για το πεδίο.

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

Γραμμή τύπου στούντιο που εμφανίζει τη χρήση του λογικού ονόματος cr5e3_customfield για το πεδίο.

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

Σημείωμα

Τα λογικά ονόματα δεν μεταφράζονται κατά τη μετακίνηση μιας εφαρμογής μεταξύ των περιβαλλόντων. Για τα ονόματα των οντοτήτων και των πεδίων συστήματος του Dataverse αυτό δεν θα πρέπει να αποτελεί πρόβλημα, καθώς τα λογικά ονόματα είναι συνεπή μεταξύ των περιβαλλόντων. Ωστόσο, οποιοδήποτε προσαρμοσμένο πεδίο, όπως το cra3a_customfield στο παραπάνω παράδειγμα, μπορεί να έχει διαφορετικό πρόθεμα περιβάλλοντος ( cra3a σε αυτήν την περίπτωση). Τα εμφανιζόμενα ονόματα προτιμώνται επειδή είναι δυνατό να αντιστοιχιστούν με τα εμφανιζόμενα ονόματα στο νέο περιβάλλον.

Αποσαφήνιση ονόματος

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

Γραμμή τύπων στούντιο που δείχνει τη χρήση του λογικού ονόματος cr5e3_customfieldalt για αποσαφήνιση των δύο εκδόσεων του

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

Τελεστής αποσαφήνισης

Ορισμένες συναρτήσεις δημιουργούν εμβέλειες εγγραφών για πρόσβαση στα πεδία του πίνακα κατά την επεξεργασία κάθε εγγραφής, όπως Filter, AddColumns και Sum. Ονόματα πεδίων που προστίθενται με την εμβέλεια εγγραφών παρακάμπτουν τα ίδια ονόματα πεδίων από κάποιο άλλο σημείο στην εφαρμογή. Όταν συμβαίνει αυτό, εξακολουθείτε να έχετε πρόσβαση σε τιμές εκτός της εμβέλειας εγγραφών με τον τελεστή αποσαφήνισης @:

  • Για πρόσβαση σε τιμές από ένθετες εμβέλειες εγγραφών, χρησιμοποιήστε τον τελεστή @ με το όνομα του πίνακα που χρησιμοποιείται με το εξής μοτίβο:
    Table[@FieldName]
  • Για πρόσβαση σε καθολικές τιμές, όπως προελεύσεις δεδομένων, συλλογές και μεταβλητές περιβάλλοντος, χρησιμοποιήστε το μοτίβο [@ObjectName] (χωρίς ονομασία πίνακα).

Για περισσότερες πληροφορίες και παραδείγματα, ανατρέξτε στο θέμα για τις εμβέλειες εγγραφών.