|
11.02.2022, 16:43 | #1 |
Участник
|
AX 2012 - MarkupCode lookup на форме MarkupTrans.
Добрый день.
Один из пользователей пожаловался на то, что на одной форме при открытии лукапа он сразу же закрывается. Проблема только у одного пользователя на одной форме. Только на одной терминалке. Полезли разбираться, и нашли интересный лукап. Дело происходит на форме накладных расходов (Расчеты с поставщиками/Обычный/Заказы на покупку/Вкладка "Покупка"/Управление накладными расходами. Поле "Код накладных расходов"). У нас лукап работает, но возник вопрос, а как? И чем думали разработчики. Смущает, что это стандартный код. \Forms\MarkupTrans\Data Sources\MarkupTrans\Fields\MarkupCode\Methods\lookup X++: public void lookup(FormControl _formControl, str _filterStr) { SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(MarkupTable), _formControl); Query query = new Query(); QueryBuildDataSource queryBuildDataSource = query.addDataSource(tableNum(MarkupTable)); ; if (element.args().parm() != 'ReturnRecap' && markupTrans.ModuleType == MarkupModuleType::Cust && (mcrCallCenterInUse || tradeBrokerConfig)) { MarkupTable::mcrLookupSalesCodes(_formControl); //Вызов лукапа 1.1 } else { super(_formControl, _filterStr); //Вызов лукапа 1.2 } sysTableLookup.addLookupfield(fieldNum(MarkupTable, MarkupCode)); sysTableLookup.addLookupfield(fieldNum(MarkupTable, Txt)); sysTableLookup.addLookupfield(fieldNum(MarkupTable, ModuleType)); queryBuildDataSource.addRange(fieldNum(MarkupTable, ModuleType)).value(enum2str(markupTrans.ModuleType)); queryBuildDataSource.addRange(fieldNum(MarkupTable, CustomPaymType_RU)).value(SysQuery::valueEmptyString()); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); //Вызов лукапа 2 } X++: public void lookup(FormControl _formControl, str _filterStr) { SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(MarkupTable), _formControl); Query query = new Query(); QueryBuildDataSource queryBuildDataSource = query.addDataSource(tableNum(MarkupTable)); ; if (element.args().parm() != 'ReturnRecap' && markupTrans.ModuleType == MarkupModuleType::Cust && (mcrCallCenterInUse || tradeBrokerConfig)) { MarkupTable::mcrLookupSalesCodes(_formControl); return; // Abramov_ 11.02.2022 TSK0000129_01 } //+ Abramov_ 11.02.2022 TSK0000129_01 /* else { super(_formControl, _filterStr); } */ //- Abramov_ 11.02.2022 TSK0000129_01 sysTableLookup.addLookupfield(fieldNum(MarkupTable, MarkupCode)); sysTableLookup.addLookupfield(fieldNum(MarkupTable, Txt)); sysTableLookup.addLookupfield(fieldNum(MarkupTable, ModuleType)); queryBuildDataSource.addRange(fieldNum(MarkupTable, ModuleType)).value(enum2str(markupTrans.ModuleType)); queryBuildDataSource.addRange(fieldNum(MarkupTable, CustomPaymType_RU)).value(SysQuery::valueEmptyString()); sysTableLookup.parmQuery(query); sysTableLookup.performFormLookup(); } |
|
|
|