перевод отчётов, разработанных в Fastreport Vcl в Web

отредактировано 06:26 Раздел: FastReport 4.0
Здравствуйте, есть десктопное приложение, для которого в течение 6 лет писались отчёты( число около двух сотен). Вся логика обработки данных приложения расположена в базе данных в хранимках и т.д. Руководством поставлена задача написать бекэнд для веба , который по сути будет дублировать функции десктопного ПО в браузере. Всвязи с поставленной задачей вопрос: есть ли какая то опробованная методика портирования формирования отчётов на вебсервер с минимальным переписыванием fr3-файлов. Интересуют методики портирования сложных отчётов, с диалогами и достаточно сложной логикой внутри (большие встроенные скрипты на FastScript). Вариант реализации с простым выполнением на сервере и автоматическим экспортом в html/pdf/jpeg не подходит именно из-за того что большинство отчётов имеет хотя бы простой диалог для запроса входных параметров. Поможет ли нам в этой ситуации FastReport Server ( не использовал)?

Комментарии

  • отредактировано 06:26
    подниму тему,
    стоит точно такая же задача
    может кто-нибудь подскажет как реализовать?
  • gpigpi
    отредактировано 06:26
    Сложные диалоги конвертировать для браузера может и не получится, т.к. не все контролы будут работать
    Если не обязательно использовать браузер, то можно использовать Enterprise компоненты
    // VERY IMPORTANT!
    // If you want use of the script and dialog forms in client-server mode please follow
    // the next rules:
    // 1. You can use global report script for fill any data in the forms controls.
    // 2. You should place any DB components (SQL, table, etc) on report page not on the form. - для четвёрки уже не актуально
    // 3. You can use 'OnDeactivate' event handler of the dialg form for setup of
    // global variables and further use in queryes, etc.
    
    var
      s: String;
      i: Integer;
    
    // 'OnDeactivate' event handler
    procedure DialogPage1OnDeactivate(Sender: TfrxComponent);
    begin
      s := ComboBox1.Text;
      i := Pos('''', s);
      if i > 0 then
        Insert('''', s, i);
      Set('CompSelected', ''''+ s + '''');
      // 'CompSelected' variable is used in 'Sales' query on the report page
    end;
    
    // Global report script
    begin
      Customers.Open;
      // fill in a combobox on the form
      while not Customers.EOF do
      begin
        ComboBox1.Items.Add(Customers.FieldByName('Company').AsString);
        Customers.Next;
      end;
      ComboBox1.ItemIndex := 0; // set first item as default
      Customers.Close;
    end.
    
  • YushininYushinin Воронеж
    отредактировано 06:26
    ellis_it написал: »
    Поможет ли нам в этой ситуации FastReport Server ( не использовал)?
    Да, именно он и поможет.
    Сложность только в том, что стандартная сборка сервера поддерживает только ODBC соединения.

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

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