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

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

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

Σύμβολο Τύπος Παράδειγμα Description
'...' Αναγνωριστικό "Όνομα λογαριασμού" Τα αναγνωριστικά που περιέχουν ειδικούς χαρακτήρες, συμπεριλαμβανομένων των διαστημάτων, περικλείονται σε μονά εισαγωγικά
"..." Συμβολοσειρά κειμένου "Γεια σου, κόσμε" Οι συμβολοσειρές κειμένου περικλείονται σε διπλά εισαγωγικά
$"..." Διακοπή συμβολοσειράς $"Dear {FirstName}," Τύποι που είναι ενσωματωμένοι σε μια συμβολοσειρά κειμένου
. Επιλογέας ιδιοτήτων Slider1.Value
Color.Red
Acceleration.X
Εξάγει μια ιδιότητα από ένα στοιχείο ελέγχου πίνακα, σήμα ή απαρίθμηση. Για συμβατότητα με παλαιότερες εκδόσεις, ! μπορεί επίσης να χρησιμοποιηθεί.
.
[με εξάρτηση από γλώσσα]
Διαχωριστικό δεκαδικών 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 Παρέχει πρόσβαση σε πεδία ενός στοιχείου ελέγχου "Gallery" ή "Form"
ThisRecord Τελεστής ThisRecord ThisRecord.FirstName Πρόσβαση στην πλήρη καρτέλα και τα μεμονωμένα πεδία της καρτέλας εντός ForAll, Sum, With και άλλων συναρτήσεων εύρους καρτελών. Μπορεί να παρακαμφθεί με τον τελεστή As.

Σημείωμα

Ο τελεστής @ μπορεί επίσης να χρησιμοποιηθεί για την επαλήθευση του τύπου του αντικειμένου εγγραφής σε σχέση με την προέλευση δεδομένων. Για παράδειγμα, Collect(coll,Account@{'Account Number: 1111')

Τελεστές 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

Για παράδειγμα, στο παρακάτω στοιχείο ελέγχου Gallery η ιδιότητα Items έχει οριστεί στην προέλευση δεδομένων Υπάλληλοι (όπως ο πίνακας Υπάλληλοι που περιλαμβάνεται με το Δείγμα 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 και μπορεί να είναι μεταφρασμένο σε διαφορετικές γλώσσες. Αντίστοιχα με το παραπάνω παράδειγμα, το εμφανιζόμενο όνομα μπορεί να είναι Προσαρμοσμένο πεδίο με διάστημα ανάμεσα στις λέξεις.

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

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

Πίνακας Λογαριασμοί με προσθήκη προσαρμοσμένου πεδίου, που εμφανίζει το όνομα

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

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

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

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

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

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

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

Σημείωμα

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

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

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

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

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

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

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

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

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