Показать сообщение отдельно
Старый 18.04.2007, 17:51   #9  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Долго смотрел этот запрос. Честно говоря, так и не понял, что должно получиться в результате.
Если можно, расскажите словами.

В любом случае, предлагаю альтернативный вариант запроса и пару вопросов:
X++:
public void executeQuery()
{
    QueryBuildDataSource qbds;
    QueryBuildRange      qbdsrange3;
    QueryBuildDataSource qbds1;
    str                  _rangeClose;

    QueryBuildDataSource qbdsStd;
    QueryBuildRange      qbrStatus;

    ;
    //запрос по таблице РБП

    qbds1 = this.query().dataSourceTable(tableNum(RDeferralsTable));
    qbds1.clearRanges();
    qbds1.clearLinks();
    qbdsStd = this.query().dataSourceTable(tableNum(RDeferralsBook));
    if (!qbdsStd)
    {
        qbdsStd =  qbds1.addDataSource(tablenum(RDeferralsBook));
        qbdsStd.joinMode(JoinMode::ExistsJoin);
        qbdsStd.relations(true);
    }
    qbrStatus = SysQuery::findOrCreateRange(qbdsStd, fieldnum(RDeferralsBook,Status));
    if (Cat_OpenDef.value() == NoYes::No)
    {
        qbrStatus.value(enum2str(RDeferralsStatus::Open));
    }
    else
    {
        qbrStatus.value(SysQuery::valueUnlimited());
    }
    super();

}
Вопросы:
1. Зачем вы делаете присоединение источника из кода?
2. Почему бы не сделать это присоединение в методe init() источника?
Вложения
Тип файла: xpo tstDeferralsTableForm.xpo (17.8 Кб, 392 просмотров)