Я думаю, что в этом случае лучше всего датасоурс указать в свойсвах грида.
Для решения Вашей задачи нужно на каждом датасоурсе перекрыть метод initValue и сделать примерно так (это для первого датасоурса):
X++:
void initValue()
{
super();
. = 1;
}
Дальше в методе init() каждого датасоурса инициализировать range по полю Признак, а затем в методе executeQuery() датасоурсов задавать данному фильтру значение 1,2,3,4,5 в зависимости от датасоурса. Примерно так:
X++:
public void init()
{
super();
qbrMyRange = this.query().dataSourceTable(tablenum()).addRange(fieldnum(, ));
}
public void executeQuery()
{
qbrMyRange.value("Значение от 1 до 5");
super();
}
qbrMyRange нужно объявить в ClassDeclaration формы.