Welcome, Guest. Please login or register.
Did you miss your activation email?

Author Topic: Сохранение восстановление готового отчёта  (Read 2038 times)

deep125

  • Newbie
  • *
  • Posts: 4
    • View Profile
Привет всем. Отличная библиотека. Некоторые вещи не понятны.

В режиме previewReport можно сохранить текущий сформированный отчёт в файл. Для этого даже кнопочка есть. Как его потом загрузить заново?

Попытки передать этот файл в метод loadFromFile не работают.
« Last Edit: May 28, 2019, 07:31:28 PM by deep125 »

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Приветстую!
Честно говоря я эту функцию недоделал :)
Поначалу эта функция была нужна для контроля получаемого результата, и в дальнейшем планировалась возможность повторного показа сгенерировнного отчета, но руки как то до этого не дошли :)
Если надо могу доделать.   

deep125

  • Newbie
  • *
  • Posts: 4
    • View Profile
Задача: Сгенeрировать отчёт. Напечатать. Через год(2,3...) может возникнуть потребность напечатать его заново и/или посмотреть (даже поправить). Исходных данных уже может не быть. Как решается в рамках limereport?

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Ну, в принципе, в этом случае можно обойтись сохранением отчета в PDF.
Но для того, чтобы оставаться в рамках limereport прикрутил:
Code: [Select]
report->prepareReportPages(); // подготовить страницы;
report->preparedPages()->saveToFile(file_name); // сохранить страницы (аналогично сохранению из предварительного просмотра);
report->preparedPages()->loadFromFile(file_name);  //загрузить страницы;
report->showPreparedPages(); // показать страницы;
аналогично можно сохранить страницы в строку и QByteArray;
report->preparedPages()->saveToString()
report->preparedPages()->saveToByteArray();
« Last Edit: May 29, 2019, 09:58:48 AM by Arin Alex »

deep125

  • Newbie
  • *
  • Posts: 4
    • View Profile
Великолепно! Всё работает. Большое спасибо за оперативность. Ну а дальше дело техники. Попробуем сами в режиме preview добавить кнопку "Cохранить в базу" и |"Загрузить из файла".

Arin Alex

  • Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 992
    • View Profile
Еще немного подшаманил процесс. Теперь можно перехватить нажатие кнопки "Сохранить" в окне предварительного просмотра.
Теперь у ReportEngine есть сигнал onSavePreview(bool& saved, IPreparedPages* pages) в нем можно сохранить страницы в нужное место и установить saved в true

deep125

  • Newbie
  • *
  • Posts: 4
    • View Profile
Спасибо. Будем пользоваться