Показать сообщение отдельно
Старый 20.12.2012, 15:53   #13  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Цитата:
Сообщение от Sada Посмотреть сообщение
X++:
public Query query()
{// TODO 03 - прописываем запрос, на основании которого будет строиться отчет.
    Query ret;
    QueryBuildDatasource qbds;
    QueryBuildRange qbr;
    ;
    ret = new Query();

    // датасорс с пользователями
    qbds = ret.addDataSource(tablenum(Dimensions));
    //qbds.addRange(fieldnum(Dimensions, DimensionCode));

    
    qbr = qbds.addRange(fieldnum(Dimensions, DimensionCode));
    
    qbr.status(1); // locked
    
    qbr.value(SysQuery::value(SysDimension::Center));

    qbds.addSortField(fieldnum(Dimensions, Num));
    //info(qbds.toString());
    return ret;

}
кверя не моя, за оформление не ругайте
очень похоже на то, правда могу ошибаться, что query() уже есть и в нем уже сидит датасорс Dimensions, а строчкой
X++:
ret = new Query();
qbds = ret.addDataSource(tablenum(Dimensions));
добавляется еще один query() и датасорс, условно назовем его Dimensions2 и соответственно на него ложится условие. Попробуйте вместо этой строчки написать (не знаю специфики, но как- то так)
qbds = this.query().dataSourceTable(tablenum(Dimensions));
или
qbds = this.query().dataSourceName('Dimensions_1'); // как он там называется
или
qbds = this.query().dataSourceNo(1); // какой он там по счету.
(аналогично , qbds = this.queryRun().query()..........(если это в классе)).
Потому что сэмулировав это на Репорте, на котором уже настроен qbds, именно так и происходит. Если query() нет и он один только раз инициализируется в этом методе, то у меня все нормально работает
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.

Последний раз редактировалось Pustik; 20.12.2012 в 16:01.