|
10.03.2015, 17:30 | #1 |
Молодой, подающий надежды
|
2012 R3 (думаю в прошлых версиях аналогично)
Если делать лукап по временной таблице на основе постоянной и при этом не вставить никаких записей во времянку, что-то типа X++: InventTable inventTableTmp; SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(InventTable), _ctrl); inventTableTmp.setTmp() /* заполняем времянку по какому-то алгоритму, но записей не нашли и ничего не вставили */ sysTableLookup.addLookupfield(fieldNum(InventTable, ItemId)); sysTableLookup.parmTmpBuffer(inventTableTmp); sysTableLookup.performFormLookup(); Берем напильник, чиним класс SysTableLookupBase. Заводим глобальную переменную boolean useTmpBuffer X++: Common parmTmpBuffer(Common _buffer = tmpBuffer) { tmpBuffer = _buffer; //--> if (! prmisDefault(_buffer)) { useTmpBuffer = true; } //<-- return tmpBuffer; } protected FormRun formRun() { //...строка 55 //--> //if(useLookupValue && !tmpBuffer) if(useLookupValue && ! tmpBuffer && ! useTmpBuffer) //<-- { } //...строка 117 //--> //if (tmpBuffer) if (tmpBuffer || useTmpBuffer) //<-- }
__________________
Кононов Пётр |
|
|
За это сообщение автора поблагодарили: gl00mie (5), Kabardian (4). |
10.03.2015, 20:28 | #2 |
Участник
|
|
|
|
За это сообщение автора поблагодарили: pedrozzz (4). |