Запись видимости в виде сетки Dynamics AX - PullRequest
0 голосов
/ 18 сентября 2018

Я создал метод executeQuery () в форме источника данных, который должен скрывать ненужные записи.Но только одно поле не видно, остальные поля видны.Что случилось?enter image description here

public void executeQuery()
{
    Query query;
    QueryBuildDataSource qbds, qbdsTypeDef;
    QueryBuildRange queryBuildRange, queryBuildRangeAgregat;
    QueryBuildRange queryBuildRangeParent;
    if(element.args())
    {
        qbds = KPFinStatementTable_ds.query().dataSourceTable(tablenum(KPFinStatementTable));
        queryBuildRange = qbds.addRange(fieldnum(KPFinStatementTable,OperationDate));
        queryBuildRange.value(queryValue(element.args().parm()));

    queryBuildRangeAgregat = qbds.addRange(fieldnum(KPFinStatementTable,IsAggregate));
    queryBuildRangeAgregat.value(queryValue(NoYes::Yes));
    queryBuildRangeAgregat = qbds.addRange(fieldnum(KPFinStatementTable,Level));
    queryBuildRangeAgregat.value(queryValue(1));

    queryBuildRangeAgregat = qbds.addRange(fieldnum(KPFinStatementTable,AggrLevel));
    queryBuildRangeAgregat.value(queryValue(KPFinStatementListPageType::AggrLevel1));

    qbdsTypeDef = KPFinStatementTable_ds.query().dataSourceTable(tablenum(KPFinStatementTypeDef));
    queryBuildRangeParent = qbdsTypeDef.addRange(fieldnum(KPFinStatementTypeDef,FinStatementTypeDefParent));
    queryBuildRangeParent.value(queryValue(0));

    super();
}
}

ОБНОВЛЕНИЕ: Я нашел разрешение, вместо

qbdsTypeDef = KPFinStatementTable_ds.query().dataSourceTable(tablenum(KPFinStatementTypeDef));

вы должны написать:

qbdsTypeDef = qbds.addDataSource(tablenum(KPFinStatementTypeDef));
qbdsTypeDef.relations(true);
...