إنشاء حقل بحث لبعد مالي في Dynamics 365
نُشرت: ١٦ فبراير ٢٠٢٥ م في ١١:٣٢:٣٩ ص UTC
آخر تحديث: ١٢ يناير ٢٠٢٦ م في ٨:٥٦:٠٣ ص 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);
}
قراءات إضافية
إذا أعجبك هذا المنشور، فقد تعجبك أيضًا هذه الاقتراحات:
- تحديث قيمة البعد المالي من كود X++ في Dynamics 365
- إضافة طريقة عرض أو تحرير عبر الامتداد في Dynamics 365
- توقف Visual Studio عند بدء التشغيل أثناء تحميل المشاريع الحديثة
