Добрый день!
Возникла такая необходимость, печатать напрямую отчет fast report из скрипта заранее указав кол-во копий и без окошка выбора параметров печати.
Реализация следующая:
1. В скрипте TS передаю аттрибутом в отчет кол-во копий и вызываю print:
ReportPreviewer.ComponentsByName('frpMain').Report.Attributes('Copies') = 5;
ReportPreviewer.ComponentsByName('frpMain').PreviewReport();
ReportPreviewer.ComponentsByName('frpMain').Print();
2. В отчете создал переменную Copies, в скрипте отчета выполняюю след. действия:
function frxReportOnStartReport(Sender)
{
var Copies = ;
Report.EngineOptions.DestroyForms = false;
if (Copies != null) {
Report.PrintOptions.ShowDialog = false;
Report.PrintOptions.Copies = Copies;
}
ShowMessage(Report.PrintOptions.Copies);
}
Из дизайнера отчета эта конструкция с доп. условием (else Report.PrintOptions.Copies = 3) отрабатывает правильно, при ShowDialog = true, по умолчанию стоят 3 копии.
При вызове печати из формы отчета, если заменить в коде Print() на Show() тоже все работает правильно.
Но при печати без показа отчета стоят параметры по умолчанию.
В чем может быть дело? Заранее благодарен..
Нравится
Иван, без предварительного показа вероятнее всего не получится распечатать отчет с заданным количеством копий (так как не срабатывают все скрипты отчета).
Попробуйте обходной вариант - показать окно и сразу же закрыть его. Похожий вопрос обсуждался здесь: http://www.community.terrasoft.ua/forum/topic/3389