Отличная идея. На нее наткнулся когда нужно копировать права на уровне записи (RLS).
Вопрос: для чего нужно перечисление Уровень?
Предложение: может Range для запроса задан не не первым. поэтому предлагаю
X++:
...
for (iRange = 0; iRange < DataSource.rangeCount(); ++ iRange)
{
range = DataSource.range(iRange + 1);
range.value(GetValue(range.value()));
}
t2.restriction = queryRun.pack();
...