Miklix

יצירת שדה חיפוש עבור ממד פיננסי ב- Dynamics 365

פורסם: 16 בפברואר 2025 בשעה 11:35:32 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);
}
שתפו בבלוסקישתפו בפייסבוקשתפו בלינקדאיןשתפו ב-Tumblrשתפו ב-Xשתפו בלינקדאיןהצמד בפינטרסט

מיקל בנג כריסטנסן

על המחבר

מיקל בנג כריסטנסן
מיקל הוא היוצר והבעלים של miklix.com. יש לו למעלה מ-20 שנות ניסיון כמתכנת מחשבים/מפתח תוכנה מקצועי וכיום הוא מועסק במשרה מלאה בתאגיד IT אירופאי גדול. כשהוא לא כותב בלוג, הוא מבלה את זמנו הפנוי במגוון עצום של תחומי עניין, תחביבים ופעילויות, שעשויים לבוא לידי ביטוי במידה מסוימת במגוון הנושאים המכוסים באתר זה.