Форум » [x]Harbour » ANN: Вышел релиз FastReport for [x]Harbour » Ответить

ANN: Вышел релиз FastReport for [x]Harbour

Sergey Spirin: Здравствуйте. Рад сообщить, что вышел релиз FastReport for [x]Harbour. Как всегда, информацию можно посмотреть: http://www.paritetsoft.ru/frh.htm Возможным русскоязычных покупателей лучше контактировать со мной напрямую по email. Цена для оплаты в рублях банковским переводом по выставленному счету- 9999 рублей. -- Спирин Сергей. Компания "Паритет Софт". FRH sales: http://www.paritetsoft.ru/frh.htm FRAX sales: http://www.hotsoft.ru/ALASKA/frax_eng.htm

Ответов - 258, стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 All

Andrey: Sergey Spirin пишет: Никакого смысла в этих ini-файлах нет. Не согласен с вами. Как видно из примера там целая куча полей и своих функций.... И когда нужно быстро подправить, текстовый ини-файл просто удобней, 5 сек. и отчет печатает по другому. Sergey Spirin пишет: Кстати можно обсудить набор наиболее используемых функций и я добавлю их в FRH, чтобы не добавлять кодом. Нужны все текстовые функции преобразования: ALLTRIM(), CHR(), LTRIM(), RTRIM(), PADC(), REPLACE(), TRANSFORM(), MEMOLINE(), MEMOTRAN() ..... Лучше я пришлю NG по группам функций... Sergey Spirin пишет: Используйте TfrxAlaskaWorkArea объекты и в отчете поля и "составляйте". Не совсем понял ? Как это делать ?

Sergey Spirin: Andrey пишет: И когда нужно быстро подправить, текстовый ини-файл просто удобней, 5 сек. и отчет печатает по другому. Напомню, что формат fr3 - это xml, то есть тоже текстовый. Вы же хотите все задублировать, чтобы побольше попутаться Andrey пишет: Нужны все текстовые функции преобразования: Все необходимые функции Вы можете добавлять самостоятельно. По умолчанию же, думаю, можно добавить не более десятка наиболее часто используемых. С этим десятком нужно определиться. Andrey пишет: Используйте TfrxAlaskaWorkArea объекты и в отчете поля и "составляйте". Не совсем понял ? Как это делать ? На страниеце Data бросаете объект TfrxAlaskaWorkArea и в нем все прописываете, от MasterDetail до FieldAliases. Поля же составляете в мемах отчета.

Andrey: Sergey Spirin пишет: По умолчанию же, думаю, можно добавить не более десятка наиболее часто используемых. С этим десятком нужно определиться. Определяемся: ALLTRIM() PADC() PADL() PADR() TRANSFORM() MEMOTRAN() MEMOLINE() DTOC() STR() VAL() IIF() CHR(10) - возврат каретки, т.е. след. строка


Andrey: А можно каким нибудь образом добавить составной БЛОК функций и его передать в Фаст ? блок типа: bBlok := 'MAR_ADRES(6)+","+CHR(10)+ALLTRIM(FIELD->FIO)+", "+New_TelFIO()+", "+Za_Teleph(0,0,1,1)+CHR(10)+"ОТВ.: "+ALLTRIM(FIELD->cDogov)+CHR(10)+ALLTRIM(FiliDSP->FiliDSP)'

Sergey Spirin: Andrey пишет: bBlok := 'MAR_ADRES(6)+","+CHR(10)+ALLTRIM(FIELD->FIO)+", "+New_TelFIO()+", "+Za_Teleph(0,0,1,1)+CHR(10)+"ОТВ.: "+ALLTRIM(FIELD->cDogov)+CHR(10)+ALLTRIM(FiliDSP->FiliDSP)' То что я вижу это строка, можно ли добавить строку в отчет? Можно, например в переменную отчета. Мне непонятно, зачем она в таком виде там нужна. Кстати, в FRH есть EvalMacro(). Поэтому, в мемо отчета пишите, например: [EvalMacro('MAR_ADRES(6) + ALLTRIM(FIELD->FIO) + New_TelFIO()')]

Sergey Spirin: Sergey Spirin пишет: Кстати, в FRH есть EvalMacro(). Поэтому, в мемо отчета пишите, например: [EvalMacro('MAR_ADRES(6) + ALLTRIM(FIELD->FIO) + New_TelFIO()')] [EvalMacro(GetHbVar('bBlok'))] Но, скажите, хачем хранить содержимое bBlok не в отчете, а где-то еще?

Andrey: Sergey Spirin пишет: Но, скажите, хачем хранить содержимое bBlok не в отчете, а где-то еще? Дело в том что у меня есть уже куча отчетов под Word и Excel'ем, а там уже есть готовые ини-файлы. Я просто физически не смогу их переделать. Из-за этого хочу таким образом поступить. А новые отчеты конечно буду делать как положенно. Sergey Spirin пишет: Кстати, в FRH есть EvalMacro(). Поэтому, в мемо отчета пишите, например: [EvalMacro('MAR_ADRES(6) + ALLTRIM(FIELD->FIO) + New_TelFIO()')] А можно передать в отчет переменную bBlok, а вызвать потом [EvalMacro(bBlok)] ?

Sergey Spirin: Andrey пишет: Дело в том что у меня есть уже куча отчетов под Word и Excel'ем, а там уже есть готовые ини-файлы Ну, с этого и начинали бы, что это до_фастовское наследие Andrey пишет: А можно передать в отчет переменную bBlok, а вызвать потом [EvalMacro(bBlok)] ? Это же просто строка, конечно, можно и как отчетную перемнную (AddVariable) или прочитать из Harbour-переменной GetHbVar().

PSP: Sergey Spirin пишет: Возможным русскоязычных покупателей лучше контактировать со мной напрямую по email. Цена для оплаты в рублях банковским переводом по выставленному счету- 9999 рублей. Сергей! Есть желание купить FRH. Действительна ли цена в 9999р.? Какое мыло у Вас, spirin...paritet...?

Sergey Spirin: PSP пишет: Сергей! Есть желание купить FRH. Действительна ли цена в 9999р.? Да, действительна. PSP пишет: Какое мыло у Вас, spirin...paritet...? Да. Точнее всегда можно глянуть: http://www.paritetsoft.ru/frh.htm Так что пишите.

PSP: Sergey Spirin пишет: Так что пишите. Check e-mail, please...

Sergey Spirin: PSP пишет: Check e-mail, please... Checked and answered

Sergey Spirin: Здравствуйте, Как показыват практика, первое, что хочет напечатать FRH-user (особенно буржуйский) это Invoice. И в последнее время, много просьб сделать примеры разнообразных инвойсов. Нет ли у кого-нибудь данных (желательно на английском), которые можно использовать для такого мини-демо? Или, может быть, есть наработки красивых счетов и т.п.? Спирин Сергей.

gfilatov: Sergey Spirin пишет: Нет ли у кого-нибудь данных (желательно на английском), которые можно использовать для такого мини-демо? Посмотрите в качестве образца пример Bill of landing из поставки PAGESCRIPT 32 demo по адресу: http://www.abeelabs.com/downloads/ps32demo/ps32demo.zip

Pasha: Сергей, можно ли как-то достучаться из Харбор-программы к свойству TfmReport.Modified ? И поддерживается ли оно в frh вообще ? Или как можно определить другим способом, изменился ли отчет после работы oFrh:DesignReport() ?

Sergey Spirin: Pasha пишет: Сергей, можно ли как-то достучаться из Харбор-программы к свойству TfmReport.Modified ? И поддерживается ли оно в frh вообще ? Или как можно определить другим способом, изменился ли отчет после работы oFrh:DesignReport() ? Report.Modified - это publiс свойство, а не published, поэтому через GetProperty его не прочитать. Вообще, по коду это свойство используется дизайнером для определения, нужно ли вызывать диалог сохранения или нет. А вот это событие перехватить можно. Смотрите событие OnSaveReport. То есть, если отчет был изменен, или пользователь нажал сохранить как, то это это событие произойдет. Нюанс в том, что в обработчике Вы должны сохранить отчет уже самостоятельно, вызвав один из методов SaveToXXX. На FRH-странице есть пример работы с блобами где все это используется.

Pasha: Спасибо, буду перехватывать OnSaveReport Я решил хранить отчеты в Blob-полях, вот мне и надо, чтобы отработать SaveToBlob

TimTim: Сергей, помогите разобраться с Demo примером. Интересует отчёт "More complex" in FR only (функция DoMoreComplex). Интересует каким образом задается сбор содержания по полю Customers."Company"? Понятно, что это связано с вкладкой "Contents", но в своём отчёте такую вкладку создать не смог.

Sergey Spirin: TimTim пишет: Сергей, помогите разобраться с Demo примером. Интересует отчёт "More complex" in FR only (функция DoMoreComplex). Интересует каким образом задается сбор содержания по полю Customers."Company"? Понятно, что это связано с вкладкой "Contents", но в своём отчёте такую вкладку создать не смог. Вкладка называется страницей (Page). Чтобы добавить, просто в меню "Файл"-"Новая страница". Отчет может содержать сколько угодно много таких логических страниц. Далее, обратите внимание, что отчет двухпроходный. Сначала производится "расстановка" Anchor-ов в: procedure Band4OnBeforePrint(Sender: TfrxComponent); begin Engine.AddAnchor(<Customers."Company">); end; Anchor-ы именованные, то есть каждый получает имя по названию компании. И потом с помощью: [Engine.GetAnchorPage(<Customers."Company">)] "вытаскиваются" номера страниц на которых эти Anchor-ы расположились.

TimTim: Вроде сделал как в примере, но видно что-то не так. Ошибка "Нет дата-бэнда для группы GroupHeader1" И вопрос. Наверное не играет роли где стоит вкладка "Content" - (я тоже так её обозвал) до или после Page1 - страниц отчёта? У меня после. Пояснение. В отличие от примера у меня названия, которые должны собираться в содержании, находятся в другой БД, которая связана с основной по RELATION. В отчёте без содержания все OK.



полная версия страницы