Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FastReport

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

Открыть новую тему     Написать ответ в эту тему

golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть отчет из базы, в котором на child-band лежит мемо с конструкцией следующего вида:

Код:
 
[<frquFlightTicketName."GENDER">] [<frquFlightTicketName."LASTNAME">] [<frquFlightTicketName."FIRSTNAME">], [<frquFlightTicketName."PAXCATEGORYNAME">] [childbirthday]  
 

 
Переменная childbirthday прописана в отчете, и обрабаывается скриптом BeforePrint следующим образом:

Код:
 
var S: variant;
begin
  Set('ChildBirthday', '');
  if (<frquFlightTicketName."age"> > 0) then
  begin
    S := Get(<frquFlightTicketName."birthday">);
    Set('ChildBirthday', VarToStr(S));
  end
end;
 

Суть обработчика - показывать дату рождения только для детей (возраст <> 0).  
А теперь суть проблемы - при вызове отчета ругается на ошибку в выражении, что то вроде "error in expression '29.11.06':';' expected" - что где сделано не так?

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 14:05 16-10-2006 | Исправлено: golkanavt, 14:07 16-10-2006
gpi

Alone Wanderer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
golkanavt
А так?

Код:
 
var S: variant;  
begin  
  Set('ChildBirthday', '');  
  if (<frquFlightTicketName."age"> > 0) then  
  begin  
    S :=<frquFlightTicketName."birthday">;  
    Set('ChildBirthday', VarToStr(S));  
  end  
end;

Какой тип у поля frquFlightTicketName."birthday" ?

Всего записей: 432 | Зарегистр. 30-05-2004 | Отправлено: 14:47 16-10-2006
golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gpi
Ошибка исчезла, но дата так и не появилась

Цитата:
Какой тип у поля frquFlightTicketName."birthday" ?  

string

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 16:12 16-10-2006
gpi

Alone Wanderer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
golkanavt

Код:
 
begin  
  Set('ChildBirthday', '');  
  if (<frquFlightTicketName."age"> > 0) then  
    Set('ChildBirthday', <frquFlightTicketName."birthday">);  
end;

Всего записей: 432 | Зарегистр. 30-05-2004 | Отправлено: 16:48 16-10-2006
golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gpi
монопенисуально - дата не выводится
 
Добавлено:
забыл добавить:

Цитата:
Set('ChildBirthday', <frquFlightTicketName."birthday">);  

вываливает вышеуказанную ошибку

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 18:19 16-10-2006
gpi

Alone Wanderer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
golkanavt
Какая версия FR?

Всего записей: 432 | Зарегистр. 30-05-2004 | Отправлено: 11:00 17-10-2006
golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gpi

Цитата:
Какая версия FR?

3.23
 
Добавлено:
Вроде бы как все сделано по инструкции, да и не первый год уже с FR работаю, а тут такие детские грабли.. "Ниче не понимаю"(С)Колобки

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 14:31 17-10-2006
gpi

Alone Wanderer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
golkanavt
А может попробовать вместо переменной отчёта ChildBirthday использовать скриптовую переменную?  
И ещё. Если в мемо оставить только [childbirthday] и закомментировать обработчик, то как будет вести себя отчёт?  

Всего записей: 432 | Зарегистр. 30-05-2004 | Отправлено: 15:35 17-10-2006
golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gpi

Цитата:
А может попробовать вместо переменной отчёта ChildBirthday использовать скриптовую переменную?  


Код:
 
Error in expression '29.11.96': ';' expected
Unknown variable or datafield: 29.11.96
 

 
Добавлено:

Цитата:
И ещё. Если в мемо оставить только [childbirthday] и закомментировать обработчик, то как будет вести себя отчёт?  

отчет выводится, ошибок нет, дней рождения - тоже

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 16:43 17-10-2006
gpi

Alone Wanderer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
golkanavt
Может быть, <frquFlightTicketName."birthday"> всё-таки имеет тип TDateTime?
Какое форматирование у мемо, в котором отображается [childbirthday]?

Цитата:
дней рождения - тоже

т.е. их нет в датасете?

Всего записей: 432 | Зарегистр. 30-05-2004 | Отправлено: 17:00 17-10-2006 | Исправлено: gpi, 17:05 17-10-2006
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Замени Set('ChildBirthday', VarToStr(S)); на
Set('ChildBirthday', '''' +VarToStr(S) + '''');
или если это скриптовая фнкция у тебя - замени на фастрепортовую конкатекацию строк
 
в общем не забудь проставить кавычки

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 17:05 17-10-2006
golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gpi
Может быть, <frquFlightTicketName."birthday"> всё-таки имеет тип TDateTime?  
Какое форматирование у мемо, в котором отображается [childbirthday]?  
 
Нет. Форматирования тоже нет.
 

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

 
Ок, завтра попробую, сейчас забил, перенес логику в ХП на сервер.

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 17:38 17-10-2006
jonikDk



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужна помощь.
FR2.55
 
Необходимо подготовленный отчет (Prepared ) изменить - добавить один объект с текстом Повторная печать.
 
Есть функция EditPreparedReport(i) но она вызывает дизайнер, а мне нужно без дизайнера в коде добавить этот объект и сохранить полученный frp.
 

Всего записей: 1599 | Зарегистр. 01-03-2004 | Отправлено: 18:48 17-10-2006
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Друзья, спасите - банальная проблема:
как сделать итоги по листу такие, чтоб везде был итог по листу, а на последнем листе он печатался перед ReportSummary - т.е. PageFooter не канает.. или я недопонял
 
и вообще хочется, чтоб подвал страницы приклеивался к последнему датабэнду, а не отмерялся от нижнего края..
 
помогите выбрать бэнд %)

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 00:48 18-10-2006
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И еще один банальній вопрос:
наверняка многим из вас приходилось печатать в отчетах сумму словами :)
подскажите плиз как сделать, чтобы фастрепорт считал эту сумму сам (стандартно) и передавал её в мою функцию вывода строкой (в делфи)?

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 10:14 18-10-2006
gpi

Alone Wanderer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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 аналогично

Всего записей: 432 | Зарегистр. 30-05-2004 | Отправлено: 11:05 18-10-2006 | Исправлено: gpi, 11:51 18-10-2006
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gpi
спасибо большое :)
 
Добавлено:
приятно задавать банальные вопросы и видеть людей, которым не лень ответить :)
спасибо, еще раз :)

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 12:35 18-10-2006
xy



ХУдератор
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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

----------
Счастливые мысли приводят к счастливой клеточной биохимии

Всего записей: 10530 | Зарегистр. 28-05-2003 | Отправлено: 17:10 18-10-2006
jonikDk



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
[q]Необходимо подготовленный отчет (Prepared ) изменить - добавить один объект с текстом Повторная печать.[\q]
 
Никто не сталкивался с такой проблемой ? Я понимаю задача очень специфическая, но все же...

Всего записей: 1599 | Зарегистр. 01-03-2004 | Отправлено: 13:52 20-10-2006
gpi

Alone Wanderer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xy
на GroupFooter1 нужно разместить Memo с содержимым [COUNT(MasterData1)]
Цвет букв можно сделать белым, если не нужно отображать в отчёте число записей в группе. В обработчике GroupFooter1OnBeforePrint написать
if COUNT(MasterData1)<2 then GroupFooter1.Height:=0;

Всего записей: 432 | Зарегистр. 30-05-2004 | Отправлено: 14:40 20-10-2006
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » FastReport


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru