Προσθήκη μεθόδου προβολής ή επεξεργασίας μέσω επέκτασης στο Dynamics 365
Δημοσιεύθηκε: 16 Φεβρουαρίου 2025 στις 11:55:25 π.μ. UTC
Τελευταία ενημέρωση: 12 Ιανουαρίου 2026 στις 8:57:16 π.μ. 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 (βεβαιωθείτε ότι έχετε συμπεριλάβει το όνομα της κλάσης, διαφορετικά ο μεταγλωττιστής δεν θα μπορεί να βρει τη μέθοδο).
Και τελειώσατε :-)
Ενημέρωση: Δεν είναι πλέον απαραίτητο να συμπεριλαμβάνεται το όνομα της κλάσης επέκτασης κατά την προσθήκη της μεθόδου εμφάνισης σε μια φόρμα, αλλά κατά την αρχική στιγμή της δημοσίευσης, ήταν. Αφήνω τις πληροφορίες εδώ σε περίπτωση που ορισμένοι αναγνώστες εξακολουθούν να χρησιμοποιούν παλαιότερες εκδόσεις.
Περαιτέρω ανάγνωση
Αν σας άρεσε αυτή η ανάρτηση, ίσως σας αρέσουν και αυτές οι προτάσεις:
- Δημιουργία πεδίου αναζήτησης για μια οικονομική διάσταση στο Dynamics 365
- Ενημέρωση τιμής οικονομικής διάστασης από κώδικα X++ στο Dynamics 365
- Βάλτε το Dynamics 365 FO Virtual Machine Dev ή Test σε λειτουργία Maintenance
