Добрый день, установлена Axapta 3 SP6.
Переопределяю на любой форме метод lookup у поля на:
X++:
public void lookup()
{
Query query = new query();
QueryBuildDataSource queryBuildDataSource;
QueryBuildRange queryBuildRange;
SysTableLookup sysTableLookup = sysTableLookup::newParameters(tableNum(EmplTable), this);
;
sysTableLookup.addLookupfield(fieldNum(EmplTable, Name));
sysTableLookup.addLookupfield(fieldNum(EmplTable, EmplId), true);
queryBuildDataSource = query.addDataSource(tableNum(EmplTable));
//queryBuildDataSource.addSortIndex(indexNum(EmplTable, NameIdx));
queryBuildDataSource.addSortField(fieldNum(EmplTable, Name), SortOrder::Ascending);
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
И наблюдается странная картина - если поле пусто, то выводится то, что прописано в коде - 2 поля из таблица работников, отсортированных по имени, если же мы хотим изменить уже существующее, то вываливается не понятно что, без всяких сортировок и не связанное никакое логикой.
Вот форма для примера изменения водителя в заказах:
Form1_test.xpo
Кто-нибудь может подсказать что не так сделано? А то вообще никаких мылей