Создаете класс от RunBaseReport. Временную таблицу. Создайте простенький отчет на базе этой временной таблицы. В методе Run класса заполните эту таблицу. И передайте отчету через queryRun.setRecord(tmpTable); reportRun.queryRun(queryRun);
Запустите класс. В появившемся диалоге есть кнопка <Параметры>. Нажмите ее и в открывшейся форме выберете какие-нибудь все возможные параметры на ней: "Канал вывода", Ориентация и т.д.(запомните их в уме). Нажмите ОК. Посмотрите сработали ли ваши параметры. И Запустите класс снова. Снова зайдите в кнопку <Параметры>. По идее все параметры должны сохраниться. Да, в форме они все те, какие вы установили в первый раз. Теперь поменяйте их на другие и запустите отчет. Отчет выйдет с первоначальными параметрами. И теперь сколько бы вы раз не запускали этот отчет, какие бы вы параметры не выбирали по кнопке <Параметры> у вас навсегда останутся первоначальные.
Кому лень создавать прикрепляю проект. Можете убедиться.
В классе RunBaseReport в методе Unpack() везде после
X++:
if (isSwappedFromServer)
{
printJobSettings = SysPrintOptions::newPrintJobSettingsOnServer(packedPrintJobSettings);
}
else
{
printJobSettings = new PrintJobSettings(packedPrintJobSettings);
}
надо поставить this.makePrintJobSettings();
и в методе Pack() перед
if (xGlobal::hasClient())
надо поставить this.makePrintJobSettings();
заработает корректно.
AX2009 Roll 6.
Желаю всем удачи в такой Красивой, Удобной, Защищенной, Скоростной системе.

И всех с Новым Годом.