В общем, выкладываю на общее обозрение решение проблемки.
Сразу проиллюстрирую примером. Описывать долго...
Проблемка состоит в следующем:
Создаем на таблице, скажем, ProdTable, lookup-метод по любому полю.
Скажем, так:
PHP код:
client static void lookupProdId(FormStringControl lookupCtrl)
{
SysTableLookup sysTableLookup = SysTableLookup::newParameters(tableNum(ProdTable), lookupCtrl);
;
SysTableLookup.addLookupfield(FieldNum(ProdTable, ProdId));
sysTableLookup.performFormLookup();
}
Далее - создаем формочку с единственным полем, у которого перекрыт метод lookup:
PHP код:
public void lookup()
{
;
ProdTable::lookupProdId_flx(this);
}
Всё. Приготовления закончены.
Внимание: дробь барабанов....
Открываем форму Производственные заказы (aka ProdTable), меняем в ней поля на gridе местами.. любые (Настройка - Выходная форма - Tab -Обзор - Grid) .
Внимательно смотрим... красота... всё, так нам нужно....
Закрываем - открываем, все отлично...
Так... настало время вызвать нашу вновь созданную форму с единственным полем.
Вызываем, щелкаем на lookup кнопку, вываливается lookup. Достаточно.
Теперь можно открыть снова "Производственные заказы".
Но что это?! Где все наши в стройном порядке стоящие поля?!!
----- тут я случайно нажал Enter и мессага осталась недописанной

-----
Загвоздка вот в чем. Системный класс SysTableLookup в методе formRun создает динамическую lookup-форму таким макаром:
PHP код:
.....
dictTable = new DictTable(tableId);
form.name(dictTable.name());
.......
:-\
Т.е. название формы, созданной этим классом, совпадает с уже существующей в репозитарии.
После чего в таблицу SysLastValue, в которой хранятся настройки форм, попадают левые (с точки зрения юзера) настройки. Видимо, никто в Damgaard (aka Navision aka MS

) не предполагал, что таблица может совпадать по названию с формой.
Всё это лечится достаточно тривиально, редактированием вышеупомянутого метода класса SysTableLookup, к примеру, так:
PHP код:
dictTable = new DictTable(tableId);
form.name(dictTable.name()+"_SysAutoLookup");
Собственно, это всё, что я хотел сказать.
Пользуйтесь. ^^-