2. По идее, если перекрыть метод lookup на элементе формы, то можно (правда еще свойсто нужно указать LookupButton = Always)
X++:
client static void webLookupItemIdOnType()
{
webTableLookup webTableLookup;
Query query;
QueryBuildDataSource queryBuildDataSource;
;
webTableLookup = webTableLookup::newParameters(tableNum(InventTable));
webTableLookup.addLookupfield(fieldNum(InventTable, itemId));
webTableLookup.addLookupfield(fieldNum(InventTable, itemName));
webTableLookup.selectField(fieldNum(InventTable, itemId));
query = new Query();
queryBuildDataSource = query.addDataSource(tableNum(InventTable));
webTableLookup.parmQuery(query);
webTableLookup.run();
}
Код - это простой метод на таблицу InventTable добавлял.