11.08.2017, 09:12 | #1 |
Участник
|
Программное создание comboBox в Dialog
Надо на форму Dialog добавить поле RContractCode из таблицы RContractTable.
Должен получиться такой список Делаю так: X++: protected Object dialog(DialogRunbase _dialog, boolean _forceOnClient) {; dialog = super(_dialog, _forceOnClient); dialog.caption("Задайте параметры"); rContractCodeField = dialog.addFieldValue(TypeId(RContractCode), rContractCode); return dialog; } public void dialogPostRun(DialogRunbase _dialog) { super(_dialog); _dialog.formRun().controlMethodOverloadObject(this); _dialog.formRun().controlMethodOverload(true); } public void rContractCodeField_lookup() { FormStringControl formStringControl; SysTableLookup sysTableLookup; Query query = new Query(); QueryBuildDataSource qbds; ; formStringControl = dialog.formRun().controlCallingMethod(); sysTableLookup = SysTableLookup::newParameters(tablenum(RContractTable),formStringControl); sysTableLookup.addLookupfield(fieldnum(RContractTable, RContractCode)); qbds = query.addDataSource(tablenum(RContractTable)); // Получаем нужное поле qbds.addSelectionField(fieldnum(RContractTable, RContractCode)); // Используем группировку, чтобы убрать дубли qbds.addGroupByField(fieldnum(RContractTable, RContractCode)); // Отображаем только для Поставщиков qbds.addRange(fieldnum(RContractTable, RContractPartnerType)).value(enum2str(RContractPartnerType::Vend)); //info(query.dataSourceNo(1).toString()); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); } То есть, не получается отфильтровать нужные данные. И оно почему-то не заходит в lookup-метод AX2009 (5.0.1500) |
|