Как установить параметры экспорта из отчета?

отредактировано 08:10 Раздел: FastReport 4.0
Следующая задача:
есть отчет, при выборе пользователем варианта отправки по электронной почте в отчет автоматически добавляется некоторые данные
типа печати и подписей (чтобы не распечатывать и потом не сканировать), после этого отчет экспортируется в GIF и складывается в определенный
каталог для последующей обработки и отправки.

Вопросы:

1. Можно ли устанавливать параметры экспорта из скрипта отчета?
2. Можно ли из отчета инициировать определенный экспорт

Кроме переписывания параметров через функции пользователя ничего в голову не лезет, как еще решить эту проблему?

Комментарии

  • отредактировано 08:10
    seGromozeka написал: »
    Следующая задача:
    есть отчет, при выборе пользователем варианта отправки по электронной почте в отчет автоматически добавляется некоторые данные
    типа печати и подписей (чтобы не распечатывать и потом не сканировать), после этого отчет экспортируется в GIF и складывается в определенный
    каталог для последующей обработки и отправки.

    Вопросы:

    1. Можно ли устанавливать параметры экспорта из скрипта отчета?
    2. Можно ли из отчета инициировать определенный экспорт

    Кроме переписывания параметров через функции пользователя ничего в голову не лезет, как еще решить эту проблему?
    1-2. Теоретически возможно, если добавить в скрипт классы и объекты фильтров экспорта, созданные в приложении.
  • отредактировано 08:10
    написал: »
    1-2. Теоретически возможно, если добавить в скрипт классы и объекты фильтров экспорта, созданные в приложении.

    А можно немного подробнее?
    А кусочек кода был бы вообще супер... :)
  • отредактировано 08:10
    seGromozeka написал: »
    А можно немного подробнее?
    А кусочек кода был бы вообще супер... :)
    frxReport1.Script.AddClass(TfrxCustomExportFilter, 'TComponent');
    frxReport1.Script.AddClass(TfrxCustomImageExport, 'TfrxCustomExportFilter');
    frxReport1.Script.AddClass(TfrxBMPExport, 'TfrxCustomImageExport');
    frxReport1.Script.AddClass(TfrxRTFExport, 'TfrxCustomExportFilter');
    ...
    
    frxReport1.Script.AddObject('frxRTFExport1',frxRTFExport1);
    frxReport1.Script.AddObject('frxBMPExport1',frxBMPExport1);
    ...
    

    В скрипте:
    frxRTFExport1.FileName := 'myFilename.rtf';
    
    итд.
  • отредактировано 08:10
    написал: »
    frxReport1.Script.AddClass(TfrxCustomExportFilter, 'TComponent');
    frxReport1.Script.AddClass(TfrxCustomImageExport, 'TfrxCustomExportFilter');
    frxReport1.Script.AddClass(TfrxBMPExport, 'TfrxCustomImageExport');
    frxReport1.Script.AddClass(TfrxRTFExport, 'TfrxCustomExportFilter');
    ...
    
    frxReport1.Script.AddObject('frxRTFExport1',frxRTFExport1);
    frxReport1.Script.AddObject('frxBMPExport1',frxBMPExport1);
    ...
    

    В скрипте:
    frxRTFExport1.FileName := 'myFilename.rtf';
    
    итд.

    Спасибо - огромное, самому бы квалификации не хватило. Проблему решил.
  • отредактировано 08:10
    Попутный вопрос:
    - параметры экспорта в отчете установили
    - в событии OnStopReport у Report в скрипте отчета вызвали собственную процедуру ExportGif,
    которая эмулирует вызов frxReport.Export(frxGIFExport) (по другому не смог)
    - экспорт проходит отлично

    НО!!! превью после такого "ломается", видна только серая подложка, даже контура страницы нет, т.е. не видно
    что именно мы экспортировали. Как избавится от ошибки ?
  • gpigpi
    отредактировано December 2009
    Попробуйте
    frxReport.Preview.Lock;
    frxReport.Export(frxGIFExport);
    frxReport.Preview.UnLock;
    
    TfrxCustomPreview, вероятно, тоже придётся добавить в скрипт

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.