Показать сообщение отдельно
Старый 08.09.2017, 15:35   #6  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
643 / 347 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Надо работать с классом SysTableLookup и создавать запрос динамически.
Вот вам пример. В параметр _formControl передаётся элемент ввода, чтобы связать с ним форму выпадающего списка, т.е. лукап. добавляется 2 фильтра по полям JournalType и BlockUserGroupId. А поля JournalName и Name будут показаны в лукапе.
X++:
private void journalName_Lookup(FormControl _formControl)
{
    SysTableLookup          sysTableLookup  = SysTableLookup::newParameters(tablenum(LedgerJournalName),_formControl);
    Query                   query           = new Query();
    QueryBuildDataSource    queryBuildDataSource        = query.addDataSource(tablenum(LedgerJournalName));
    QueryBuildRange         queryBuildRangeJournalType  = queryBuildDataSource.addRange(fieldnum(LedgerJournalName, JournalType));
    QueryBuildRange         queryBuildRangeUserGroupId  = queryBuildDataSource.addRange(fieldnum(LedgerJournalName, BlockUserGroupId));

    sysTableLookup.addLookupfield(fieldnum(LedgerJournalName, JournalName));
    sysTableLookup.addLookupfield(fieldnum(LedgerJournalName, Name));

    queryBuildRangeJournalType.value(queryValue(LedgerJournalType::Daily));
    queryBuildRangeUserGroupId.value(UserGroupList::groupsForUser());

    sysTableLookup.parmQuery(query);
    sysTableLookup.performFormLookup();
}
__________________
// no comments