Создаю свой lookup выбор модуля, фишка в том, что это не из Enum, а из таблицы, где есть немного enum, привязанных к данному пользователю. Не бейте ногами сразу , что мол нужно SecurityKey ставить, а не с формами извращаться - я еще запросы делаю с участием этой таблицы, поэтому так надо
X++:
static void lookupModule(FormStringControl ctrl)
{
UserDefaultValues udv=UserDefaultValues::find();
TableLookup_RU sysTableLookup = new TableLookup_RU();
Query query = new Query();
QueryBuildDataSource qUserModelGroups=query.addDataSource(tablenum(UserModelGroups));
QueryBuildRange qbr;
;
sysTableLookup.parmTableId(tableNum(UserModelGroups));
sysTableLookup.parmCallingControl(ctrl);
sysTableLookup.addLookupfield(fieldNum(UserModelGroups, ModuleAxapta_REP),true);
qUserModelGroups.addSelectionField(fieldnum(UserModelGroups, ModuleAxapta_REP));
qUserModelGroups.addRange(fieldnum(UserModelGroups, ModuleAxapta_REP)).value(udv.ModuleFilter());
qUserModelGroups.addRange(fieldnum(UserModelGroups, InventModelGroupId)).value('=\"\"');
qUserModelGroups.addRange(fieldnum(UserModelGroups, ValuesGroupId)).value(udv.ValuesGroupId);
sysTableLookup.parmQuery(query);
sysTableLookup.performFormLookup();
}
Вызываю, все нормально, работает, единственная проблема - при вызове НЕ выбирется первая позиция. Причем, если поменять сортировку, сверху окажется другой элемент, но все равно выбираться не будет именно первый элемент. никто не подскажет, что такое?