Мда.. Действительно - тут работает. Разобрался аже почему - там у контрола lookUp перекрыто и в зависимости от linkVersion форма lookUp-ится или нет. Но все равно, вот это решение:
PHP код:
switch (element.args().dataset())
{
case tablenum(BOMTable),tablenum(BOMVersion):
linkVersion = false;
break;
case tablenum(BOM):
if (element.args().caller().isBOMCriteriaItemId())
linkVersion = false;
break;
}
выглядит не лучшим образом. Получается, что здесь работает, а здесь уже нет. Наверное все таки нужно считать это багом ?
В третьей Аксапте ввели новый EDT и привязали к нему lookUp форму. Если идти через спецификация->строки - то lookUp теперь происходит, но опять же в lookUp форме нет данных. Может если открывать через Номенклатуру опять все заработает, но опять же не доделка.
Там в форме RouteLookupOprNum в методе init() примерно такой код:
PHP код:
if (sysDictClass::isEqualOrSuperclass(classIdget(element.args().caller()),classnum(formRun)))
{
switch (true)
{
case sysFormRun::hasMethod(element.args().caller(),'itemid'):
// Следующая строка не возращает itemId, соответственно не находится routeId и соответственно форма фильтруется не по тем значениям
itemId = element.args().caller().itemId();
routeId = inventTable::find(itemId).routeId(systemdateget());
break;
В принципе поправить не долго, используя например element.args().record(), но хотелось бы уточнить - баг это или погрешности моей настройки Аксапты ?