21.09.2015, 14:58 | #1 |
Участник
|
переопределить Lookup в классе
Пишу класс с диалогом
X++: protected Object dialog(DialogRunbase _dialog, boolean forceOnClient) { ; dialog = super(_dialog, forceOnClient); dialog.form().design().width(350); dialog.caption("Ведомость демонтажа"); dialog.addGroup("Спецификация"); BOMIdField = dialog.addFieldValueEx_ZTR(typeid(BOMId),BOMId, "Спецификация","Спецификация",false, 'BOMIdField'); BOMIdField.lookupButton(2); BOMIdField.mandatory_ZTR(true); BOMItemIdField = dialog.addFieldValue(typeid(ItemId),BOMItemId, "Код номенклатуры"); BOMItemIdField.mandatory_ZTR(true); dialog.addGroup("Ведомость демонтажа"); ITItemIdField = dialog.addFieldValue(typeid(ItemId),ITItemId, "Код номенклатуры"); ITItemIdField.mandatory_ZTR(true); LanguagesCODEField = dialog.addFieldValue(typeid(String20_ZTR),LanguagesCODE, "Язык"); LanguagesCODEField.mandatory_ZTR(true); return dialog; } X++: void BOMIdField_Lookup() { FormStringControl formStringControl; SysTableLookup sysTableLookup; Query query = new Query(); QueryBuildDataSource queryBuildDataSource; ; formStringControl = dialog.formRun().controlCallingMethod(); sysTableLookup = SysTableLookup::newParameters(tablenum(BOM), formStringControl); query.addDataSource(tablenum(BOM)); if (BOMItemIdField.value()) { queryBuildDataSource = query.addDataSource(tablenum(BOM)); queryBuildDataSource.addRange(fieldnum(BOM, ItemId)).value(BOMItemIdField.value()); // SysTableLookup::FilterLookupPreRun() } sysTableLookup.addLookupfield(fieldnum(BOM, BOMId)); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); } Может кто работал с ними или же как то иначе переопределял Lookup в классе? |
|