Miklix

Δημιουργία πεδίου αναζήτησης για μια οικονομική διάσταση στο Dynamics 365

Δημοσιεύθηκε: 16 Φεβρουαρίου 2025 στις 11:32:44 π.μ. UTC
Τελευταία ενημέρωση: 12 Ιανουαρίου 2026 στις 8:56:06 π.μ. UTC

Αυτό το άρθρο εξηγεί τον τρόπο δημιουργίας ενός πεδίου αναζήτησης για μια οικονομική διάσταση στο Dynamics 365 for Operations, συμπεριλαμβανομένου ενός παραδείγματος κώδικα X++.


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

Creating a Lookup Field for a Financial Dimension in Dynamics 365

Οι πληροφορίες σε αυτήν την ανάρτηση βασίζονται στο Dynamics 365 for Operations, αλλά το μεγαλύτερο μέρος τους θα λειτουργήσει και για το Dynamics AX 2012 (δείτε παρακάτω).

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

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

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

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

Στη συνέχεια, πρέπει να δημιουργήσετε έναν χειριστή συμβάντων OnLookup για το πεδίο. Για να δημιουργήσετε έναν χειριστή συμβάντων, κάντε δεξί κλικ στο συμβάν OnLookup για το πεδίο και, στη συνέχεια, επιλέξτε "Αντιγραφή μεθόδου χειριστή συμβάντων". Στη συνέχεια, μπορείτε να επικολλήσετε μια κενή μέθοδο χειριστή συμβάντων σε μια κλάση και να την επεξεργαστείτε από εκεί.

Σημείωση: Τα περισσότερα από αυτά θα λειτουργήσουν και για το Dynamics AX 2012, αλλά αντί να δημιουργήσετε ένα πρόγραμμα χειρισμού συμβάντων, μπορείτε να παρακάμψετε τη μέθοδο αναζήτησης του πεδίου φόρμας.

Ο χειριστής συμβάντων πρέπει να μοιάζει κάπως έτσι (αντικαταστήστε το όνομα της φόρμας και το όνομα του πεδίου, όπως απαιτείται):

[
    FormControlEventHandler(formControlStr( MyForm,
                                            MyProductDimField),
                            FormControlEventType::Lookup)
]
public static void MyProductDimField_OnLookup(  FormControl _sender,
                                                FormControlEventArgs _e)
{
    FormStringControl   control;
    Args                args;
    FormRun             formRun;
    DimensionAttribute  dimAttribute;
    ;

    dimAttribute    =   DimensionAttribute::findByName('Product');
    args            =   new Args();
    args.record(dimAttribute);
    args.caller(_sender);
    args.name(formStr(DimensionLookup));
    formRun         =   classFactory.formRunClass(args);formRun.init();
    control         =   _sender as FormStringControl;
    control.performFormLookup(formRun);
}

Περαιτέρω ανάγνωση

Αν σας άρεσε αυτή η ανάρτηση, ίσως σας αρέσουν και αυτές οι προτάσεις:


Μοιραστείτε το στο BlueskyΚοινή χρήση στο FacebookΚοινοποίηση στο LinkedInΜοιραστείτε το στο TumblrΚοινοποίηση στο XΚοινοποίηση στο LinkedInΚαρφιτσώστε στο Pinterest

Mikkel Christensen

Σχετικά με τον συγγραφέα

Mikkel Christensen
Ο Μιχαήλ είναι ο δημιουργός και ιδιοκτήτης του miklix.com. Έχει πάνω από 20 χρόνια εμπειρίας ως επαγγελματίας προγραμματιστής υπολογιστών/προγραμματιστής λογισμικού και σήμερα εργάζεται με πλήρη απασχόληση σε μια μεγάλη ευρωπαϊκή εταιρεία πληροφορικής. Όταν δεν ασχολείται με το ιστολόγιο, αφιερώνει τον ελεύθερο χρόνο του σε ένα ευρύ φάσμα ενδιαφερόντων, χόμπι και δραστηριοτήτων, τα οποία μπορεί σε κάποιο βαθμό να αντικατοπτρίζονται στην ποικιλία των θεμάτων που καλύπτονται σε αυτόν τον ιστότοπο.