Προσθήκη μεθόδου προβολής ή επεξεργασίας μέσω επέκτασης στο Dynamics 365
Δημοσιεύθηκε: 16 Φεβρουαρίου 2025 στις 11:55:25 π.μ. UTC
Σε αυτό το άρθρο, εξηγώ πώς να χρησιμοποιήσετε μια επέκταση κλάσης για να προσθέσετε μια μέθοδο εμφάνισης σε έναν πίνακα και μια φόρμα στο Dynamics 365 for Operations, συμπεριλαμβανομένων των παραδειγμάτων κώδικα X++.
Add Display or Edit Method via Extension in Dynamics 365
Ενώ σχεδιάζετε να χρησιμοποιήσετε μεθόδους εμφάνισης ή επεξεργασίας στο Dynamics είναι κάτι που γενικά θα σας κάνει να σκεφτείτε εάν θα μπορούσατε ίσως να σχεδιάσετε τη λύση σας με διαφορετικό τρόπο, μερικές φορές είναι ο καλύτερος τρόπος.
Σε προηγούμενες εκδόσεις του Dynamics και του Axapta, ήταν πολύ εύκολο να δημιουργήσω μεθόδους εμφάνισης ή επεξεργασίας σε πίνακες και φόρμες, αλλά όταν πρόσφατα χρειάστηκε να κάνω την πρώτη μου μέθοδο επεξεργασίας στο Dynamics 365, ανακάλυψα ότι η διαδικασία για να το κάνω είναι κάπως διαφορετική.
Υπάρχουν προφανώς αρκετές έγκυρες προσεγγίσεις, αλλά αυτή που βρίσκω καλύτερη (τόσο όσον αφορά τη διαίσθηση όσο και την ομορφιά του κώδικα) είναι να χρησιμοποιήσω μια επέκταση κλάσης. Ναι, μπορείτε να χρησιμοποιήσετε επεκτάσεις κλάσεων για να προσθέσετε μεθόδους σε άλλους τύπους στοιχείων εκτός των κλάσεων - σε αυτήν την περίπτωση σε έναν πίνακα, αλλά λειτουργεί και για φόρμες.
Πρώτα, δημιουργήστε μια νέα τάξη. Μπορείτε να το ονομάσετε ό,τι θέλετε, αλλά για κάποιο λόγο πρέπει να έχει το επίθημα "_Extension". Ας υποθέσουμε ότι πρέπει να προσθέσετε μια μέθοδο εμφάνισης στο CustTable, θα μπορούσατε για παράδειγμα να την ονομάσετε MyCustTable_Extension.
Η τάξη πρέπει να είναι διακοσμημένη με ExtensionOf για να γνωρίζει το σύστημα τι επεκτείνετε, όπως:
public final class MyCustTable_Extension
{
}
Τώρα μπορείτε απλώς να εφαρμόσετε τη μέθοδο εμφάνισης σε αυτήν την κλάση, όπως θα κάνατε απευθείας στον πίνακα σε προηγούμενες εκδόσεις του Dynamics - "αυτό" αναφέρεται ακόμη και στον πίνακα, ώστε να έχετε πρόσβαση σε πεδία και άλλες μεθόδους.
Για παράδειγμα, μια κλάση με μια απλή (και εντελώς άχρηστη) μέθοδο εμφάνισης που επιστρέφει απλώς τον αριθμό λογαριασμού του πελάτη θα μπορούσε να μοιάζει με αυτό:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
Τώρα, για να προσθέσετε τη μέθοδο εμφάνισης σε μια φόρμα (ή επέκταση φόρμας, εάν δεν μπορείτε να επεξεργαστείτε τη φόρμα απευθείας), πρέπει να προσθέσετε ένα πεδίο στη φόρμα με μη αυτόματο τρόπο και να βεβαιωθείτε ότι χρησιμοποιείτε τον σωστό τύπο (συμβολοσειρά σε αυτό το παράδειγμα).
Στη συνέχεια, στο στοιχείο ελέγχου θα ορίσετε το DataSource σε CustTable (ή οποιοδήποτε άλλο όνομα είναι η πηγή δεδομένων CustTable) και το DataMethod σε MyCustTable_Extension.displayAccountNum (βεβαιωθείτε ότι έχετε συμπεριλάβει το όνομα της κλάσης, διαφορετικά ο μεταγλωττιστής δεν μπορεί να βρει τη μέθοδο).
Και τελείωσες :-)
Ενημέρωση: Δεν είναι πλέον απαραίτητο να συμπεριληφθεί το όνομα κλάσης επέκτασης κατά την προσθήκη της μεθόδου εμφάνισης σε μια φόρμα, αλλά κατά την αρχική στιγμή της δημοσίευσης, ήταν. Αφήνω τις πληροφορίες εδώ σε περίπτωση που κάποιοι αναγνώστες εξακολουθούν να χρησιμοποιούν παλαιότερες εκδόσεις.