Re: Создание сложного отчета - алгоритм решения проблемы.

нет, уничтожение датасетов поставьте в самый конец процедуры

Dmitry.

27 (edited by m.prokhachev 2018-07-27 12:53:14)

Re: Создание сложного отчета - алгоритм решения проблемы.

DriveSoft wrote:

нет, уничтожение датасетов поставьте в самый конец процедуры

Я так и сделал, однако при выдаче отчета выдается следующее:

The following error(s) have occured:
Dataset "CommitteeSettingData" does not exist
Dataset "SensorsSettingData" does not exist

что говорит о том, что уничтожение датасетов влияет на передачу данных в отчет
А вот если закомментить строки уничтожения датасетов - то все ОК.

Re: Создание сложного отчета - алгоритм решения проблемы.

просто сверьте свой код с этим примером
http://myvisualdatabase.com/forum/viewtopic.php?id=1665

Dmitry.

Re: Создание сложного отчета - алгоритм решения проблемы.

Странно... После кучи манипуляций - заработало. Но я уже не берусь воспроизвести-рассказать то, что делал)))

30 (edited by m.prokhachev 2018-08-07 17:57:30)

Re: Создание сложного отчета - алгоритм решения проблемы.

при формировании отчета через кнопку с действием "отчет" предлагается выбор в чем открыть сформированный отчет - в превью, в дизайнере, в экселе, в ворде, в опен офисе, выгнать в pdf или html или даже в картинку формата tiff или jpeg
собственно, вопрос: как можно назначить то, в чем будет открыт отчет, средствами скрипта?

Re: Создание сложного отчета - алгоритм решения проблемы.

m.prokhachev wrote:

при формировании отчета через кнопку с действием "отчет" предлагается выбор в чем открыть сформированный отчет - в превью, в дизайнере, в экселе, в ворде, в опен офисе, выгнать в pdf или html или даже в картинку формата tiff или jpeg
собственно, вопрос: как можно назначить то, в чем будет открыт отчет, средствами скрипта?

Скачайте пожалуйста последнюю бета версию, добавил  такую возможность
https://www.dropbox.com/s/wutj7mnux7f3a … a.zip?dl=0


пример, для кнопки Отчет создайте событие OnClick, в нем вы можете указать, как именно необходимо открыть отчет

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
    Form1.Button1.dbReportOpenIn := rpoPreview; //rpoPreview, rpoPrint, rpoPrintQuick, rpoExcel, rpoWord, rpoPDF, rpoHTML, rpoODT, rpoODS, rpoJPEG, rpoTIFF, rpoDesigner
end;
Dmitry.

Re: Создание сложного отчета - алгоритм решения проблемы.

так... а если у меня кнопка не имеет никакого действия?..

Re: Создание сложного отчета - алгоритм решения проблемы.

m.prokhachev wrote:

так... а если у меня кнопка не имеет никакого действия?..

Сделал для вас проект с примером

Post's attachments

Attachment icon Report Export by script.zip 11.64 kb, 315 downloads since 2018-08-09 

Dmitry.

34 (edited by m.prokhachev 2018-08-09 12:26:38)

Re: Создание сложного отчета - алгоритм решения проблемы.

Employees.frxReport.LoadFromFile(ExtractFilePath(Application.ExeName)+ReportFile);
Employees.frxReport.PrepareReport();
Filter.FileName := ChangeFileExt(GetTempFileName, sExt);
Employees.frxReport.Export(Filter);

получается, что вместо показа уже сформированного отчета при помощи Employees.frxReport.ShowReport или вместо открытия его в дизайнере при помощи Employees.frxReport.DesignReport можно экспортировать отчет в указанные выше форматы при помощи последних трех строк в приведенном куске кода
однако я бы поставил Filter.ShowDialog := True в принципе для всех вариантов экспорта, потому как стандартное имя шаблона отчета не должно фигурировать в названии файла с готовым отчетом. ну или проще для пакетной выдачи отчета формировать название файла теми же скриптами

Re: Создание сложного отчета - алгоритм решения проблемы.

Именно так.

Dmitry.