Показать сообщение отдельно
Старый 22.06.2016, 12:18   #10  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,709 / 1201 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
X++:
// ClassDeclaration
class MyClass extends RunBase
{
    // Переменная, которая будет использована в диалоге с пользователем
    QueryRun                myQueryRun;
}

// Перекрыть метод класса RunBase, чтобы указать, 
// какую именно переменную надо использовать в диалоге с пользователем
public QueryRun queryRun()
{
    return myQueryRun;
}

// Перекрыть метод
void run()
{
    Query   query;
    QueryBuildDataSource  qbds;
    QueryBuildRange     qbr;
    ;

    // Вот здесь в переменной myQueryRun теперь находится то, 
    // что пользователь указал в диалоге по кнопке "Выбрать"
    // Именно здесь теперь можно дополнить критерии отбора, если необходимо
    if ("Номер документа")
    {
        query = myQueryRun.query();
        qbds = query.DataSource(tablenum(MyTable));
        qbr = qbds.addRange(feldnum(MyTable, MyField));
        qbr.value(sysQuery::value("Номер документа"));
    }

    // Если не создавать новый QueryRun, то изменения в Query сразу отразятся на нем
    while (myQueryRun.next())
    {
       .....
    }
}
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...