AXAPTA: كيف يمكن استخدام اسم الجدول ، وليس معرف الجدول ، كاختيار في مربع حوار تحديد تقرير سجل قاعدة البيانات؟
سؤال
حاليا فقط معرف الجدول يمكن استخدامه وهو لا معنى له لأنه رقم. القليل من مثال الكود سيكون رائعا حقا.
المحلول
إنشاء جديد RunBaseReport
الفصل وتذكر أن تسمي SysDatabaseLog
تقرير في lastValueElementName
طريقة.
تطور اسم الجدول في dialog
طريقة؛ استخدم ال TableName
نوع البيانات الممتد لتمكين البحث.
Object dialog()
{
DialogRunbase dlg = super();
;
dialogTableName = dlg.addFieldValue(typeId(TableName),tableId2Name(tableId));
return dlg;
}
قم بتحديث نطاق معرف الجدول من queryRun.query()
في ال getFromDialog
الطريقة بعد الاتصال super()
. استخدم ال tableName2Id
وظيفة للتحويل إلى معرف الجدول.
boolean getFromDialog()
{
boolean ret = super();
;
tableId = tableName2Id(dialogTableName.value());
this.queryrun().dataSourceNo(1).findRange(fieldNum(SysDatabaseLog,Table)).value(queryValue(tableId));
return ret;
}
في ال validate
الطريقة ، التحقق من صحة اسم الجدول صالح (معرف الجدول ليس 0 ، الجدول وليس درجة الحرارة وما إلى ذلك).
أخيرًا ، يمكنك تغيير عنصر قائمة الإخراج للإشارة إلى الفصل بدلاً من التقرير.
تحذير: لم يتم اختبار الكود!
لا تنتمي إلى StackOverflow