Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» FastReport

Автор: xy
Дата сообщения: 25.10.2006 10:12
gpi
если в цикле делать так:
ColumnHeader := TfrxColumnHeader(Page);
....
Page.PreparePage(false);
ColumnHeader.Clear (или Free) - получаю AccessViolation :-/

не подскажете - когда и как правильно удалять бэнды :-?
Автор: EvgenDM
Дата сообщения: 25.10.2006 10:26
Очень нужно из отчета переинициализировать Датасет, то есть закрыть его, изменить параметры и открыть. Как это сделать?
Автор: gpi
Дата сообщения: 25.10.2006 11:58
EvgenDM
MasterData1.DataSet.Close;
...
MasterData1.DataSet.Open;
xy
Вечером посмотрю. На работе нет Delphi
Автор: EvgenDM
Дата сообщения: 25.10.2006 14:45
Переинициализировать уже получилось через OnUserFunction, данные изменились, и MasterData их выводит, только последнюю запись повторяет до количества записей в первом запросе.
То есть первая инициализация вернула
1
2
3
4
вывелось нормально
Вторая инициализация вернула
6
7
вывелось
6
7
7
7
Как объяснить бэнду, что количество записей изменилось?
Автор: gpi
Дата сообщения: 25.10.2006 22:04
xy
перед циклом
frxReport1.EngineOptions.DestroyForms:=False; // чтобы не было AV
цикл
ColumnHeader := TfrxColumnHeader.Create(Page);
....
frxReport1.PrepareReport(false);
ColumnHeader.Clear;
конец цикла
EvgenDM

Код: procedure Footer1OnAfterPrint(Sender: TfrxComponent);
begin
MasterData1.DataSet.Close;
...
MasterData1.DataSet.Open;
while not MasterData1.DataSet.Eof do
begin
Engine.ShowBand(MasterData1);
MasterData1.DataSet.Next;
end;
end;
Автор: EvgenDM
Дата сообщения: 26.10.2006 08:04
извините, забыл сказать, что версия FastReport 2.54
Автор: EvgenDM
Дата сообщения: 26.10.2006 14:52
У кого есть DOA для FastReport 2.54 ?
Автор: xy
Дата сообщения: 27.10.2006 12:23
Подскажите пожалуйста можно ли как-то проще, чем через конструкции IIF сделать, чтоб отчет не печатал нули у целых и дробных чисел (просто пусто оставлял)

Ячеек много, не хочется в каждую IIF вписывать.. может можно как-то стили настроить :-?
Автор: EvgenDM
Дата сообщения: 27.10.2006 12:37
Приведи пример, где конкретно нули?

Добавлено:
У меня появился еще один вопрос. Как правильно работать с встроенными в FR 2.5 Query? А точнее как туда во время выполнения отчета передать параметр?
типа в 'select :str from dual' хочу изменить параметр :str
Автор: gpi
Дата сообщения: 27.10.2006 13:06
xy
Memo.HideZeros=True
EvgenDM

Цитата:
Вопрос: Как изменить параметр во встроенном запросе из скрипта?
Ответ
(можно ли написать что-то типа Query1.Params[0].Text := '10'?)
Нет, но вы можете сопоставить параметру запроса переменную, и менять ее значение. При этом надо закрыть и открыть запрос:
Query1.Close;
MyParam1 := '10';
Query1.Open;


Автор: shiko3000
Дата сообщения: 27.10.2006 13:42
EvgenDM

Цитата:

У меня появился еще один вопрос. Как правильно работать с встроенными в FR 2.5 Query? А точнее как туда во время выполнения отчета передать параметр?
типа в 'select :str from dual' хочу изменить параметр :str

Хочешь изменить параметр или текст запроса?
Почему спрашиваю? Как мне кажется, параметр это когда 'select * from dual where str = :str'

А теперь мой вопрос:
Нужно при щелчке по объекту типа TfrxMemoView на сформированном отчете изменять текст этого объекта и сохранять это изменение в БД.
У объекта отчета TfrxMemoView на событие OnPreviewClick повешан следующий обработчик:

Код:
with Engine do begin
mNote.Lines.Text:=TfrxMemoView(Sender).Text; {Заносим текст в объект Memo на форме fm_NoteAssm}
fm_NoteAssm.ShowModal;
if fm_NoteAssm.ModalResult = mrYes then begin
TfrxMemoView(Sender).Text:=mNote.Lines.Text;
Modified:=True;
MyExecSQL('update xxx set xxx where xxx');
end;
end;
Автор: xy
Дата сообщения: 30.10.2006 20:26
gpi
Спасибо вам огромное за помощь :)

можно еще вопросик:
есть отчет с сабрепортами, которые образуют собой матрицу
каждый сабрепорт имеет свою высоту и для красивой матрицы они организованы в рядки по childbandам
всё бы хорошо, но хочется каждый отчет обвести в рамочку (рамочки должны быть одинаковые по высоте самого высокого отчета

тут-то и засада, line и memo, организованные вокруг subreport не растягиваются почему-то при свойстве StretchMode = smMaxHeight

что-то я запутался
Автор: gpi
Дата сообщения: 31.10.2006 22:06
xy
На одном дочернем бэнде расположено несколько сабрепортов или один?
Автор: xy
Дата сообщения: 31.10.2006 22:33
gpi


Добавлено:
хотелосьбы каждый блок обвести в рамочку
Автор: gpi
Дата сообщения: 01.11.2006 07:21
xy
У сабрепортов установлено свойство PrintOnParent в True?
Автор: xy
Дата сообщения: 01.11.2006 08:42
gpi
Понял, хэлп изучил.. спасибо!
Автор: HOUPE
Дата сообщения: 07.11.2006 10:26
Добрый день... али утро... али... вечер...али ночь.

Прога отправляет на SQL SErver запрос (время исполнения 1сек). Затем к данным привязывается пара справочников и выводится все в отчет.

А теперь вопрос:
Может ли FR3 из-за этого виснуть? Всмысле данные выводятся нуу оччень уж долго(примерно 10 стр в сек, а всего их более 300) ? Можно ли как-нибудь ускорить этот процесс.
Зарание спасибо.


Автор: gpi
Дата сообщения: 07.11.2006 10:52
HOUPE

Цитата:
Затем к данным привязывается пара справочников и выводится все в отчет.

Справочники привязываются уже на этапе формирования отчёта?

Цитата:
10 стр в сек

10 строк или страниц? Если страниц, то вполне нормальная скорость
Автор: HOUPE
Дата сообщения: 08.11.2006 02:28
gpi
Справочники привязаны к базе еще до формирования отчета.
У меня существует два режима отчета: по критерию 1 общее количество страниц - 12(формируются примерно минуту), по критерию 2 - 250 страниц также примерно минуту.

Если крит1=+, то группировка производится только по этому критерию
Если крит2=+, то группировка по крит1 и крит2

количество записей в том и другом случае одинаково, различие в селектах только по сортировке данных.
Автор: gpi
Дата сообщения: 08.11.2006 09:30
HOUPE
А какое количество записей возвращает запрос?
Может лучше группировать данные по критерию 1 в самом запросе
Автор: HOUPE
Дата сообщения: 09.11.2006 05:55
Количество возвращаемых записей в том и другом случае примерно 5000 +/- 50.

Если количество выводимых записей практически одинаково и время и сполнения тоже, а разница лишь в группировке данных, то возможно сделать ничего нельзя. Т.к. программа выполняет одну и ту же задачу, а различие лишь, так сказать в графическом исполнении?
Автор: gpi
Дата сообщения: 09.11.2006 09:41
HOUPE

Цитата:
Если количество выводимых записей практически одинаково и время и сполнения тоже, а разница лишь в группировке данных, то возможно сделать ничего нельзя. Т.к. программа выполняет одну и ту же задачу, а различие лишь, так сказать в графическом исполнении?

Да. Как я и говорил, нужно выполнять отдельный запрос с группировкой по одному критерию на сервере
Автор: HOUPE
Дата сообщения: 09.11.2006 10:52
Океюшки. Попробую.
Автор: xy
Дата сообщения: 10.11.2006 13:50
Можно еще вопрос по добавлению своих функций.. как всё-таки сделать свою библиотеку и где её прописывать в uses, чтобы функции автоматом работали во всех отчетах, в т.ч. и в динамически создаваемых

Примеры видел для поколения 2, но там не освещен вопрос uses и существует ли в ветках 3 и 4 FRxGlobalUnit, если кто-то делал, пришлите плиз шаблон библиотечки :)
Автор: gpi
Дата сообщения: 10.11.2006 22:23
xy
посмотри fs_isysrtti.pas в папке FastScript
туда можно добавить и свои функции, которые после перекомпиляции пакетов будут доступны на этапе проектирования
Готовые библиотеки можно взять здесь http://www.stalker4.dp.ua/ru
Автор: predsedateli
Дата сообщения: 15.11.2006 08:52
Когда делаю экспорт отчёта с кодировкой CentralEuropean, используя frRtfAdvExport, то текст экспортируется неправельно а когда кодировка – кирилица то всё нормально.
Я установил что это зависит от языка который установлен в Regional Settings для отображения Не- уникодовских шрифтов (стоит русский поэтому и второй отчёт правильно экспортируется).
Как решить эту проблему?


Автор: xlebopezka
Дата сообщения: 16.11.2006 13:39
FR3
Создаю отчет (круговая диаграмма), в приложении пытаюсь посмотреть отчет - пишет "неверный FRF формат"??
Автор: gpi
Дата сообщения: 16.11.2006 13:49
xlebopezka
Взглянуть на шаблон отчёта можно?
Хотя, скорее всего, в приложении используется FR2.xx
Автор: xlebopezka
Дата сообщения: 16.11.2006 14:16
Конечно можно, почему-то проблема только с круговыми диаграммами, график рисует нормально.
http://ifolder.ru/452080

Добавлено:
Да, действительно, это я туплю. Просто в программе используются отчеты и ФР2 и ФР3, а я все уже перелопатил а ошибка в одной букве frreport вместо frXreport.

Спасибо!

Автор: xy
Дата сообщения: 22.11.2006 22:31
Подскажите плиз, где почитать или как сделать:-?
в 3-й версии ФР активно заявляется _улучшенная_ поддержка матричных принтеров

можно ли как-то для готовых отчетов задать некий параметр, чтоб ФР при подготовке в силу возможностей подгонял соответствующее превью (на одобрение) и сбрасывал в файл, как это сделать условно-глобально
без переписки и переконструирования каждого отчета?

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859

Предыдущая тема: CBuilder и копирование файла


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.