Наткнулся на такую штуку. Поискал по форуму и чё-то ничего похожего не нашёл.
Ax 3.0 sp4.
1) Создал таблицу с единственным полем ItemId.
2) Создал форму под это поле.
3) Перекрыл lookup
X++:
public void lookup()
{
element.lookupItemId(this);
}
X++:
void lookupItemId(Object _lookupCtrl)
{
SysTableLookup sysTableLookup;
Query query = new Query();
;
//_lookupCtrl.text(_lookupCtrl.valuestr());
sysTableLookup = SysTableLookup::newParameters(tableNum(InventTable), _lookupCtrl);
query.addDataSource(tableNum(InventTable));
sysTableLookup.addLookupfield(fieldNum(InventTable, ItemId));
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
Чё вышло, пока работаю в форме с этим лукапом всё отлично(он встаёт на нужную запись).
Выхожу из формы.
Снова открываю форму.
Лукап отказывается вставать на запись (ту которую до этого выбрали).
Как вылечил?
Написал в вверху метода
X++:
_lookupCtrl.text(_lookupCtrl.valuestr());
И всё теперь работает как надо.
Тестовый проектик прилагаю