Тема: Отчеты
Показать сообщение отдельно
Старый 25.01.2011, 16:38   #2  
samolalex is offline
samolalex
Участник
Аватар для samolalex
Самостоятельные клиенты AX
 
259 / 107 (4) +++++
Регистрация: 18.06.2010
Адрес: Москва
Вы в свойствах вашей кнопки MenuItemButton указали DataSource?
В методе init() вашего отчета нужно сделать проверку на наличие переданного курсора из grid'а и указать фильтр, который будет служить связкой между таблицей и записью из grid'а.
Примерно так:
X++:
public void init()
{
    Args            parameters;
    ;

    super();

    parameters = element.args();

    if(!parameters.record())
        throw error('Отчет должен вызываться с параметрами!');
    else if(parameters.record().TableId == tablenum(  ))
           = parameters.record();

    this.query().dataSourceTable(tableNum( )).addRange(fieldNum( ,  )).value(  . );
}
Таблицу из грида нужно объявить либо в ClassDeclaration, либо в этом же методе.

P.S. Для того, чтобы не отображалась форма запроса(SysQueryForm) при запуске отчета, нужно в свойствах Query отчета Interactive поставить в No.
__________________
С уважением, Александр.

Последний раз редактировалось samolalex; 25.01.2011 в 17:13.