Может я чего-то не понял, но почему нельзя использовать query?
X++:
public void lookup()
{
Query queryLookup = new Query();
QueryBuildDataSource qbdsRPayGroupTable;
QueryBuildDataSource qbdsRPayGroupSetMemberTable;
SYSTableLookup sysTableLokup = SYSTableLookup::newParameters(TableNum(RPayGroupTable), this);
;
sysTableLokup.addLookupfield(fieldNum(RPayGroupTable, PayGroup), true);
sysTableLokup.addLookupfield(fieldNum(RPayGroupTable, Name), false);
qbdsRPayGroupTable = queryLookup.addDataSource(TableNum(RPayGroupTable));
qbdsRPayGroupSetMemberTable = qbdsRPayGroupTable.addDataSource(tablenum(RPayGroupSetMemberTable));
qbdsRPayGroupSetMemberTable.relations(true);
qbdsRPayGroupSetMemberTable.addRange(fieldnum(RPayGroupSetMemberTable, GroupSetId)).value(QueryValue(RHRMParameters::find().GroupSetIdEmplFilter));
sysTableLokup.parmQuery(queryLookup);
sysTableLokup.performFormLookup();
}