Показать сообщение отдельно
Старый 01.12.2004, 12:19   #2  
slava is offline
slava
сибиряк
Самостоятельные клиенты AX
 
468 / 23 (1) +++
Регистрация: 28.12.2001
Адрес: Москва
Re: Стандартный диалог
Цитата:
Изначально опубликовано AlexP
Добрый день.

Вопрос:
Есть отчет, который вызывает стандартный диалог, не используя класса
для этого вызова. Есть в отчете датасорс на вьюхе построенный, есть поля в ветке range в этом датасорсе, которые используются диалогом для ввода параметров для
последующей фильтрации.
Как в отчете получить значение вводимых пользователем параметров?

Заранее спасибо.
Я так понял Вы говорите о значениях введенных в SysQueryForm ?
Можно примерно так:

PHP код:
    Int                         countRangecountDatasource;
    
Query                       qr;
    
QueryBuildRange             qbr;
    
DictField                   dictField;
   
FreeTxt           conditions;
 ;

    if (
this.queryRun())
     
qr this.queryRun().query();
    else
     break;

    
countDatasource qr.dataSourceCount();

    while ( 
countDatasource >0)
    {

        
countRange qr.datasourceNo(countDatasource).rangeCount();

        if( 
countRange)
        {
            while (
countRange 0)
            {

               
qbr qr.DatasourceNo(countDatasource).range(countRange);
               if (
qbr.value())
               {
                   
dictField = new DictField(qbr.table(),qbr.field());

                   
conditions += "  "DictField.label() +": "qbr.value();

               }
              
countRange--;

            }

        }
        
countDatasource--;
     } 
в методах prompt или run после вызова super(). Вроде должно работать. Почти такой метод у меня вызывается в RunBase для всех отчетов.
__________________
С уважением, Вячеслав.