Miklix

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

פורסם: 16 בפברואר 2025 בשעה 11:35:32 UTC
עודכן לאחרונה: 12 בינואר 2026 בשעה 8:56:24 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 אירופאי גדול. כשהוא לא כותב בלוג, הוא מבלה את זמנו הפנוי במגוון עצום של תחומי עניין, תחביבים ופעילויות, שעשויים לבוא לידי ביטוי במידה מסוימת במגוון הנושאים המכוסים באתר זה.