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

» FastReport

Автор: xy
Дата сообщения: 17.10.2006 16:05
Замени Set('ChildBirthday', VarToStr(S)); на
Set('ChildBirthday', '''' +VarToStr(S) + '''');
или если это скриптовая фнкция у тебя - замени на фастрепортовую конкатекацию строк

в общем не забудь проставить кавычки
Автор: golkanavt
Дата сообщения: 17.10.2006 16:38
gpi
Может быть, <frquFlightTicketName."birthday"> всё-таки имеет тип TDateTime?
Какое форматирование у мемо, в котором отображается [childbirthday]?

Нет. Форматирования тоже нет.


Цитата:
Замени Set('ChildBirthday', VarToStr(S)); на
Set('ChildBirthday', '''' +VarToStr(S) + '''');


Ок, завтра попробую, сейчас забил, перенес логику в ХП на сервер.
Автор: jonikDk
Дата сообщения: 17.10.2006 17:48
Нужна помощь.
FR2.55

Необходимо подготовленный отчет (Prepared ) изменить - добавить один объект с текстом Повторная печать.

Есть функция EditPreparedReport(i) но она вызывает дизайнер, а мне нужно без дизайнера в коде добавить этот объект и сохранить полученный frp.

Автор: xy
Дата сообщения: 17.10.2006 23:48
Друзья, спасите - банальная проблема:
как сделать итоги по листу такие, чтоб везде был итог по листу, а на последнем листе он печатался перед ReportSummary - т.е. PageFooter не канает.. или я недопонял

и вообще хочется, чтоб подвал страницы приклеивался к последнему датабэнду, а не отмерялся от нижнего края..

помогите выбрать бэнд %)
Автор: xy
Дата сообщения: 18.10.2006 09:14
И еще один банальній вопрос:
наверняка многим из вас приходилось печатать в отчетах сумму словами :)
подскажите плиз как сделать, чтобы фастрепорт считал эту сумму сам (стандартно) и передавал её в мою функцию вывода строкой (в делфи)?
Автор: gpi
Дата сообщения: 18.10.2006 10:05
xy
http://fast-report.com/ru/forum/index.php?showtopic=3304
http://fast-report.com/ru/forum/index.php?showtopic=3775
сумма прописью
http://fast-report.com/ru/forum/index.php?act=Search&CODE=show&searchid=28e95ccd4d6a27f42435677b46b703a9&search_in=posts&result_type=topics&highlite=%EF%F0%EE%EF%E8%F1%FC%FE
http://www.delphiplus.org/articles/components/fastreport_sum.html - для FR2, но в FR3 аналогично
Автор: xy
Дата сообщения: 18.10.2006 11:35
gpi
спасибо большое :)

Добавлено:
приятно задавать банальные вопросы и видеть людей, которым не лень ответить :)
спасибо, еще раз :)
Автор: xy
Дата сообщения: 18.10.2006 16:10
gpi
Конечно наводка на UserFunction меня порадовала и я по своей наивности даже подумал, что всё будет так же прекрасно как и с OnGetValue.. меня постигло не то что разочарование.. чтение же всевозможной официальной докумантеции вообще вводит в ступор :(

помогло вот это http://www.google.com/search?hs=kj&hl=ru&client=opera&rls=ru&q=http%3A%2F%2Fwww.fast-report.com%3A+OnUserFunction&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=

всё-таки для заморских братьев фастрепортовцы сподобились на более-менее сносный хелп по своему ТРЕТЬЕМУ репорту

(благо я еще порылся по исходникам репорта и то, что там ничего не осталось от классов и методов второго репорта на тему userfunction помогло продвинутся.. если бы методы остались теми же, я б наверное двинулся)

спасибо за помощь

Добавлено:
Можно еще один вопросик: какие есть методы, чтобы групфутер печатался только в случае, когда записей в группу попало >1, иначе либо ничего либо какой-то пробельчик сделать

"иначе" не так важно, а вот как сделать печать только при записях >1
Автор: jonikDk
Дата сообщения: 20.10.2006 12:52
[q]Необходимо подготовленный отчет (Prepared ) изменить - добавить один объект с текстом Повторная печать.[\q]

Никто не сталкивался с такой проблемой ? Я понимаю задача очень специфическая, но все же...
Автор: gpi
Дата сообщения: 20.10.2006 13:40
xy
на GroupFooter1 нужно разместить Memo с содержимым [COUNT(MasterData1)]
Цвет букв можно сделать белым, если не нужно отображать в отчёте число записей в группе. В обработчике GroupFooter1OnBeforePrint написать
if COUNT(MasterData1)<2 then GroupFooter1.Height:=0;
Автор: xy
Дата сообщения: 20.10.2006 20:16
gpi
по-моему сработает и
if <СOUNT(MasterData1)><2 then GroupFooter1.Height:=0;
без фиктивного мемо :)
спасибо

У меня вот вылезла принеприятнейшая проблема с пакетными отчетами - цикле:
1. подготовка
2. PrepareReport(False);

после цикла - ShowPreparedReport;

вроде всё нормально, но возникает естественная задача запустить пакетный отчет дважды - для этого вроде как надо сделать Clear перед циклом.. не помогает,
Clear перед циклом чистит чего-то лишнего и отчет не выполняется вообще, т.е. даже не заходит в построение

хотя одинарные отчеты повторным ShowReport работают стабильно :-/
аналогично конструкция
PrepareReport(tmpClear);
if tmpClear then tmpClear := False;
в попытке обойти Clear как и должно біть не работает аналогично clear;

PS. Кроме того, если после построения пакетного тем же frxReport сделать одинарный отчет - он работает, а наоборот (пакетный после одинарного) тоже не работает :(

вроде серьезный баг, если это конечно не моя ошибка
Автор: gpi
Дата сообщения: 20.10.2006 21:40
xy
Всё работает нормально

Код: var i,j: integer;
begin
frxReport1.LoadFromFile(AloneReportName);
frxReport1.ShowReport();
for j:=0 to 1 do
begin
for i:=0 to 9 do
begin
frxReport1.LoadFromFile(ArrayOfReportName[i]);
frxReport1.PrepareReport(i=0);
end;
{frxReport1.PreviewPages.Clear;} //очистка отчёта
frxReport1.ShowPreparedReport;
end;
end;
Автор: xy
Дата сообщения: 20.10.2006 21:51
gpi
может быть дело в том, что отчет у меня зашит в дфм и я его (один и тот же) запускаю много раз (просто переоткрываю датасет с новой пачкой данных)?
Автор: gpi
Дата сообщения: 20.10.2006 22:05
xy
И так работает

Код: var i,j: integer;
begin
frxReport1.ShowReport();
for j:=0 to 1 do
begin
for i:=0 to 9 do
frxReport1.PrepareReport(i=0);
frxReport1.ShowPreparedReport;
end;
end;
Автор: xy
Дата сообщения: 20.10.2006 22:17
gpi
а у меня нет :(
ёмаё, постараюсь оттрэйсить проблему, но на вторичном построении, оно даже не заходит в OnGetValue и т.п., т.е. отчет как бы вообще не строится (версия 3.20)
Автор: xy
Дата сообщения: 22.10.2006 00:32
Подскажите пожалуйста, можно ли где-нибудь скачать украинизатор фастрепортовского превью :-? (может быть даже официальный:)
Автор: ShamaN
Дата сообщения: 22.10.2006 09:38
Обновил фаст до 3.24. В дизайнере отчетов обновились все иконки. При компиляции программы все иконки остались прежними. В чем может быть проблема?
Автор: gpi
Дата сообщения: 22.10.2006 13:31
xy
А чем не устраивает тот, который стандартно идёт с FR и находится в папке RES\Ukrainian?
ShamaN
Нужно добавить в секцию uses модуль frxHiButtons
Автор: ShamaN
Дата сообщения: 22.10.2006 14:06
gpi
спасиб, помогло.

Добавлено:
еще вопрос.
В отчете используется фоновое изображение - jpg файл. Предварительный просмотр жутко тормозит. Как увеличить скорость окрытия?
Уменьшение разрешения не предлагать - понизил как мог.
Автор: gpi
Дата сообщения: 22.10.2006 23:09
ShamaN
Если возможно, то фоновое изображение хранить в файле и загружать его в скрипте при формировании отчёта
Автор: xy
Дата сообщения: 23.10.2006 16:55
gpi
сорри, протупил %)
Автор: xy
Дата сообщения: 24.10.2006 13:28
gpi
по проблемме с перепечаткой выяснилось что, нельзя делать Report.Clear, т.к. это вычищает сраницы (дизайновые) из отчета, когда заменил по вашему совету на

PrepareReport(N = vedStartN);
вроде всё закрутилось.. странно, почему Clear делает не то же самое, что и подготовка при параметре True
Автор: gpi
Дата сообщения: 24.10.2006 13:40
xy
Я же в примере советовал выполнять очистку отчёта так (только код был закомментирован)

Код: frxReport1.PreviewPages.Clear; //очистка отчёта
Автор: xy
Дата сообщения: 24.10.2006 13:46
gpi
тут уже доктор - моя невнимательность, извиняюсь :)

Добавлено:
Не подскажете почему FR иногда (при Двойном проходе наверняка) при использовании frxDBDataSet со остановкой по reCount и оперированием через GetValue превішает допустимый RangeEndCount
т.е. он должен идти от 0 до RangeEndCount - 1, но залазит аж до RangeEndCount
хотя строк в отчете видно реально RangeEndCount, а зачем он пытается запросить еще лишнюю строку непонятно (возвращенные в этой ситуации значения нигде не отображаются)
Автор: xy
Дата сообщения: 24.10.2006 20:03
И еще одну проблемку не могу победить никак:
Есть шаблон отчета, шапку ему надо формировать динамически
Отчет хранится в ДФМ
Требуется пакетное формирование отчетов (с разными шапками динамическими шапками)

проблема в том, что отчету второй раз шапку создать не удасться - видна старая

если сохранить отчет в файл и делать каждый раз LoadFormFile - всё получается как надо, можно ли обойтись без использования файла?

другой путь - не хранить шаблон отчета, а всё создавать динамично, но тоже не хотелось бы
Автор: gpi
Дата сообщения: 24.10.2006 21:02
xy
А видов шапок много? Если меньше десяти, то можно создать их на различных дочерних бэндах, а затем поочерёдно подключать дочерние бенды к ReportTitle.
Кстати, а как динамически строятся шапки?
Автор: xy
Дата сообщения: 24.10.2006 21:40
gpi
вид шапки не определен (грубо говоря выбираются все имевшие место виды платежей по категории и ставятся в соотв строке - каждый в свою колонку)

построение:
есть отчет с одной страницей, где расположены reporttitle, reportsummary
в цикле по кол-ву отчетов примерно так:
page := tfrxpage(report.pages[0]);
lColumn := tfrxcolumnheader.create(page);
аналогично мастердата и подвал колонки

потом в цикле по видам платежей (собраны в массивчик) добавляются колонки во всех трёх бэндах
preparereport();
после цикла
showpreparedreport;
previewspages.clear;

естественно в каждом подотчете шапка потенциально своя, со своим количеством колонок.. насколько я понял - проблема кроется в том, что я всё время пытаюсь поключится к существующей странице - она уже сформирована с бэндами и новые бэнды размещаются вникуда..

кроме того меняется датасэт для каждого подотчета, т.е. я не могу создавать страницы сразу - мне нужен preparereport после подотчета, чтоб потом перезаполнить датасэт
Автор: gpi
Дата сообщения: 24.10.2006 22:28
xy
Так, может быть, в конце цикла делать page.Clear?
Автор: xy
Дата сообщения: 24.10.2006 22:34
gpi
в таком случае почистятся и бэнды reporttitle и reportsummary, которые мне нужны (как шаблон)
Автор: gpi
Дата сообщения: 25.10.2006 09:26
xy
Попробуйте тогда удалять программно добавляемые бэнды

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859

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


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