Показать сообщение отдельно
Старый 02.04.2013, 18:36   #3  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
877 / 649 (23) +++++++
Регистрация: 14.10.2004
Еще для себя напишу, чтобы не забыть
На моем примере на картинке в начале этой темы я показал форму, которая построена на Query, использующую таблицу InventBatch. Это необычная таблица, привязанная сразу к двум таблицам в запросе: к таблице InventDim по полю InventBatchId и к таблице InventTable по полю ItemId.

Чтобы запрос с этой таблицей работал корректно, я источник данных для нее сделал дочерним к InventDim через дизайнер Query в АОТ, а в методе initQuery() моего класса программно добавил связку с источником данных InventTable
X++:
void initQuery()
{
    Query query = new Query(queryStr(zInventAdvanceProdDateReport));
    QueryBuildDatasource    qbds;
    QueryBuildRange         qbr;
    ;

    qbds = query.dataSourceTable(tableNum(InventBatch));
    qbr = sysQuery::findOrCreateRange(qbds, fieldNum(InventBatch, ItemId));
    qbr.value("((ItemId == InventTable_1.ItemId))");
    qbr.status(RangeStatus::Hidden);

    queryRun = new QueryRun(query);
}

Последний раз редактировалось Ace of Database; 02.04.2013 в 18:40.