استخدام استعلام في فئة عقد بيانات SysOperation في Dynamics AX 2012
نُشرت: ١٦ فبراير ٢٠٢٥ م في ١:٢١:٣٦ ص UTC
آخر تحديث: ١٢ يناير ٢٠٢٦ م في ٨:٤٧:٠٣ ص UTC
تتناول هذه المقالة تفاصيل كيفية إضافة استعلام قابل للتكوين والتصفية من قبل المستخدم إلى فئة عقد بيانات SysOperation في Dynamics AX 2012 (وDynamics 365 for Operations).
Using a Query in a SysOperation Data Contract Class in Dynamics AX 2012
تستند المعلومات الواردة في هذه المشاركة إلى Dynamics AX 2012 R3. وقد لا تكون صالحة للإصدارات الأخرى. (تحديث: أؤكد أن هذه الطريقة تعمل أيضًا على Dynamics 365 for Operations).
أجد نفسي دائمًا أنسى تفاصيل كيفية تحديد وتهيئته في إطار عمل SysOperation. أعتقد أن معظم مهام المعالجة الدفعية التي أنشئها لا تعتمد على استعلامات قابلة للتخصيص من قِبل المستخدم، ولكنني أحتاج بين الحين والآخر إلى إنشاء مثل هذه المهام، لذا فإن هذه التدوينة هي أيضًا مرجع لي.
أولاً، في فئة عقد البيانات، سيتم تخزين الاستعلام مُجمّعًا في سلسلة نصية. يجب تزيين دالة parm الخاصة بها بالخاصية AifQueryTypeAttribute، كما يلي (في هذا المثال استخدمت استعلام SalesUpdate، ولكن يمكنك استبداله بأي استعلام AOT):
DataMemberAttribute,
AifQueryTypeAttribute('_packedQuery', queryStr(SalesUpdate))
]
public str parmPackedQuery(str _packedQuery = packedQuery)
{
;
packedQuery = _packedQuery;
return packedQuery;
}
إذا كنت ترغب في أن يتم تحديد الاستعلام بواسطة فئة المتحكم، يمكنك أيضًا استخدام سلسلة نصية فارغة. في هذه الحالة، ستحتاج أيضًا إلى تنفيذ بعض الدوال المساعدة (والتي يُنصح بتنفيذها على أي حال لتسهيل الوصول إلى الاستعلام):
{
;
return new Query(SysOperationHelper::base64Decode(packedQuery));
}
public void setQuery(Query _query)
{
;
packedQuery = SysOperationHelper::base64Encode(_query.pack());
}
إذا كنت بحاجة إلى تهيئة الاستعلام (على سبيل المثال، إضافة نطاقات)، فيجب عليك تنفيذ طريقة initQuery:
{
Query queryLocal = this.getQuery();
;
// add ranges, etc...
this.setQuery(queryLocal);
}
يجب التأكد من استدعاء هذه الطريقة من فئة المتحكم.
قراءات إضافية
إذا أعجبك هذا المنشور، فقد تعجبك أيضًا هذه الاقتراحات:
- تحويل رقم حقيقي إلى سلسلة نصية مع جميع الأرقام العشرية في Dynamics AX 2012
- نظرة عامة سريعة على إطار عمل Dynamics AX 2012 SysOperation
- تحديد فئة المستند والاستعلام عن خدمة AIF في Dynamics AX 2012
