Несколько отчетов в одном

отредактировано 01:12 Раздел: FastReport 3.0
Есть несколько отчетов, разные по содержанию, но имеющие одинаковые входные параметры: период, ID подразделения. Формирование подписи в конце отчета одинаковое, стилевое офомрление тоже, хочется запихнуть их все в один вотчет , но на разных страницах и показывать только нужную страницу в зависимости от chekbox на странице ввода параметров.

Вопрос: если в отчете в дизане положить несколько датасетов но использовать только один из них, отразится ли такое подход на скорости загрузки отчета из базы? (База на FireBird 1.0 через FibPlus 6.4)

Или все же надо каждый отчет в отдельно файле и не мешать? тогда ждем 4-ку с его наследованием ..

Комментарии

  • отредактировано 01:12
    На скорости загрузки самого отчета я думаю это вряд ли отразится. Если один отчет - один запрос то можно сделать перед показом отчета сделать один Query и в зависимости от того какой запрос нужен подпихивать ему нужный SQL
  • отредактировано 01:12
    Azrael написал:
    Если один отчет - один запрос то можно сделать перед показом отчета сделать один Query и в зависимости от того какой запрос нужен подпихивать ему нужный SQL
    кхм... не понял ...
    отчеты разные, на разных страницах, и если исползовать один query на все отчеты то как же добавлять поля в мемки? они вставляются из имеющихся полей в запросе, даже если сами поля как обекты не создавать , нужен реальный запрос для дизайна отчета. или надо изголяться: впихнуть один запрос - задизайнить один отчет, затем впихнуть другой запрос и задизайнить второй и т.д... это ж какой трабл при редактировании и изменении ...
  • yuramagyuramag Москва
    отредактировано 01:12
    Кстати, аналогичная проблема.
    Нужно предоставить пользователю печатать те или иные странице в отчете. Проблема решается выводом формы с соответствующими чекбоксами и установкой по нажатию ОК Page1.Visible := CheckBox1.Visible и т.п.
    Но в этом случае, по всей видимости, невидимые страницы тоже будут построены (что отнимает процессорное время)!
    Если есть метОда, подскажите, плиз...
  • отредактировано 01:12
    написал:
    если в отчете в дизане положить несколько датасетов но использовать только один из них, отразится ли такое подход на скорости загрузки отчета из базы?
    Если вы при этом будете подгружать данные во все эти отчеты, то, конечно, скорость
  • отредактировано 01:12
    глюки...
    Продолжаю.

    ...то, конечно, скорость загрузки отчета уменьшится пропорционально скорости формирования запросов.

    Если вы хотите увеличить скорость загрузки отчета в данном случае, то сформируйте все запросы таким образом, чтобы они выводили пустые НД (лучше всего сделать это через входные параметры). Затем, при загрузке отчета и выборе пользователем необходимых параметров делаете в коде примерно следущее:
    ADOQuery1.Close;
    //Задание параметров
    AdoQuery1.Open;
    
    для интересующего вас запроса.

    Соответственно, время для выполнения других запросов не потратится, а необходимые данные будут.

    написал:
    кхм... не понял ...
    отчеты разные, на разных страницах, и если исползовать один query на все отчеты то как же добавлять поля в мемки?
    Мемки можно добавить и без данных в запросе. Надо только знать как называются поля.

    Чесно говоря, я бы на вашем месте сделал имсенно с одним запросом.

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

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