распишу ка поподробнее:
-внешне форма должна выглядеть как форма с гридом ) и пользователь не должен видеть последствия смены источника данных (изменение ширины полей грида например при подмене грида)
-данные в гриде представляются в двух видах (в зависимости от настройки "фильтра") :
1.отфильтрованные и отсортированные (1 источник - постоянная)
2.сгруппированные и
отсортированные (2 источник - временная таблица, хранящая результат группировки и сортированная как п.1)
еще есть проблема с сортировкой временной таблицы (она сортируется по полю Order привязанной таблицы OtherTable (связь через TmpTable.CodeRef - OtherTable.Code)).
ExecuteQuery:
X++:
this.cursor().setTmpData(TmpTableGlobal);
q = new Query();
qbds = q.addDataSource(tableNum(TmpTable));
qbds2 = qbds.AddDataSource(TableNum(OtherTable));
qbds2.addLink(fieldNum(TmpTable, refCode) , fieldNum(OtherTable, Code));
qbds2.addSortField(fieldNum(OtherTable , Order));
qbds2.orderMode(orderMode::OrderBy);
this.query(q);
super();
если таблицу TmpTable сделать
не temporary, то она нормально сортируется