Miklix

إنشاء حقل بحث لبعد مالي في Dynamics 365

نُشرت: ١٦ فبراير ٢٠٢٥ م في ١١:٣٢:٣٩ ص 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);
}
شارك على بلوسكايشارك على الفيسبوكشارك على لينكدإنشارك على تمبلرشارك على إكسشارك على لينكدإنثبت على بينتريست

ميكيل بانج كريستنسن

عن المؤلف

ميكيل بانج كريستنسن
ميكيل هو مؤسس ومالك موقع miklix.com. يتمتع بخبرة تزيد عن 20 عامًا كمبرمج كمبيوتر/مطور برامج محترف ويعمل حاليًا بدوام كامل في إحدى شركات تكنولوجيا المعلومات الأوروبية الكبرى. عندما لا يقوم بالتدوين، يقضي وقت فراغه في مجموعة واسعة من الاهتمامات والهوايات والأنشطة، والتي قد تنعكس إلى حد ما في تنوع الموضوعات التي يغطيها هذا الموقع.