On-line: гостей 0. Всего: 0 [подробнее..]
АвторСообщение
постоянный участник


Пост N: 129
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 10.03.08 23:53. Заголовок: ANN: Вышел релиз FastReport for [x]Harbour


Здравствуйте.

Рад сообщить, что вышел релиз 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



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 258 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 All [только новые]


постоянный участник




Пост N: 547
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 26.04.08 21:11. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
Поэтому текущий разговор достаточно абстрактен.


А что есть для FastReport на текущий момент. Можно ли получить (сделать) печать под FastReport на текущий момент времени ???
Печать форм для Windows из FastReport просто "обалденная" т.е. очень развита и не нужно более ничего изобретать - бери и пользуйся.......
Возможна ли такая печать для Linux из FastReport ? Я понял что нет, тат как не реализован вызов FastReport из под xHarbour ?
Вопрос пока чисто теоретически, сколько по времени нужно затратить для переноса FastReport для xHarbour ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 157
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 26.04.08 21:52. Заголовок: Andrey пишет: Вопро..


Andrey пишет:

 цитата:
Вопрос пока чисто теоретически, сколько по времени нужно затратить для переноса FastReport для xHarbour ?



Ну, если уж Вам так интересно, то, на вскидку 3-4 месяца... То есть, где-нибудь, учитывая все расходы, тысяч 20 упавших долларов.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 548
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.04.08 11:36. Заголовок: Столкнулся с некотор..


Столкнулся с некоторыми неудобствами.
У меня используется OEM кодировка, а при печати используется WIN-кодировка.

не хочу везже в своих формах писать такую конструкцию
[CallHbFunc('HB_OEMTOANSI',[GetHbVar('myFirma')])]

хочется иметь простые конструкции типа:
[My_Firma], [My_Adres], [My_Telefon], [My_Viborka] и т.д.

Вопрос: как в программе заранее определить эти переменные,
а потом чтоб эти переменные были видны в ДИЗАЙНЕРЕ ?
По доке смотрел, сделал наподобее, а не работает.
Где я ошибся ?

PUBLIC myFirma, MyAdres, MyTelefon, MyViborka

MyFirma := HB_OEMTOANSI('ООО "Рога и Копыта"')
MyAdres := HB_OEMTOANSI('г.Москва, Набережная 13')
MyTelefon := HB_OEMTOANSI('тел.: (495) 123-45-67')
MyViborka := HB_OEMTOANSI('Дата договора: = 12.01.08 .....')
.............
.............

FrPrn:AddVariable( "My Lovely Vars", "My_Firma" , MyFirma )
FrPrn:AddVariable( "My Lovely Vars", "My_Adres" , MyAdres )
FrPrn:AddVariable( "My Lovely Vars", "My_Telefon", MyTelefon )

FrPrn:DesignReport()

При просмотре выдает ошибку:
Memo3: Ошибка в выражении: "myFirma": Неопределенный индентификатор "myFirma"


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 158
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 28.04.08 15:51. Заголовок: Andrey пишет: PUBLI..


Andrey пишет:

 цитата:
PUBLIC myFirma, MyAdres, MyTelefon, MyViborka

MyFirma := HB_OEMTOANSI('ООО "Рога и Копыта"')
MyAdres := HB_OEMTOANSI('г.Москва, Набережная 13')
MyTelefon := HB_OEMTOANSI('тел.: (495) 123-45-67')
MyViborka := HB_OEMTOANSI('Дата договора: = 12.01.08 .....')
.............
.............

FrPrn:AddVariable( "My Lovely Vars", "My_Firma" , MyFirma )
FrPrn:AddVariable( "My Lovely Vars", "My_Adres" , MyAdres )
FrPrn:AddVariable( "My Lovely Vars", "My_Telefon", MyTelefon )

FrPrn:DesignReport()

При просмотре выдает ошибку:
Memo3: Ошибка в выражении: "myFirma": Неопределенный индентификатор "myFirma"



Наверняка результат самой популярной "непонятки" в Фасте .

Если значение перменной (отчетной, не скриптовой) строковое, то оно считается интепретируемым выражением и вычисляется. Просто строка должна быть в одинарныйх кавычках. Поэтому, либо :

FrPrn:AddVariable( "My Lovely Vars", "My_Firma" , "'" + MyFirma + "'" )

Либо:

FrPrn:AddVariable( "My Lovely Vars", "My_Firma" , "CallHbFunc('HB_OEMTOANSI', [GetHbVar('myFirma')])" )











Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Пост N: 553
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 28.04.08 22:57. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
FrPrn:AddVariable( "My Lovely Vars", "My_Firma" , "'" + MyFirma + "'" )
Либо:
FrPrn:AddVariable( "My Lovely Vars", "My_Firma" , "CallHbFunc('HB_OEMTOANSI', [GetHbVar('myFirma')])" )



НЕ РАБОТАЕТ !!!
И в списке переменных (в Дизайнере) не появляется группа "My Lovely Vars" !!!
Что делать ???



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 554
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.04.08 09:31. Заголовок: НЕ РАБОТАЕТ !!! И в ..


НЕ РАБОТАЕТ !!!
И в списке переменных (в Дизайнере) не появляется группа "My Lovely Vars" !!!
Что делать ???


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 159
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 29.04.08 10:12. Заголовок: Andrey пишет: НЕ РА..


Andrey пишет:

 цитата:
НЕ РАБОТАЕТ !!!
И в списке переменных (в Дизайнере) не появляется группа "My Lovely Vars" !!!
Что делать ???




Если Вы пишите :

FrPrn:AddVariable( "My Lovely Vars", "My_Firma" , "'" + MyFirma + "'" )
FrPrn:LoadFromFile(...)

То и не появятся Вернее сотрутся загруженным отчетом у которого свои переменные.

Поэтому:

FrPrn:LoadFromFile(...)
FrPrn:AddVariable( "My Lovely Vars", "My_Firma" , "'" + MyFirma + "'" )





Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 555
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 29.04.08 12:03. Заголовок: Блин, а я смотрел на..


Блин, а я смотрел на загрузку ваших функций и ставил раньше них. И эту функцию было видно в Дизайнере.

FrPrn:AddFunction( "function XBaseStr(nValue: Double, nLength: Variant = EmptyVar, nDecimals: Variant = EmptyVar): Variant", "My Lovely Functions!", "It's a XBase Str() function!" )

Спасибо, заработало.

Только еще один вопрос:
У меня в базе поле времени числовое (N 4,0) - т.е. типа: 1208, 1310 и т.д.

Если в дизайнере указываешь формат вывода Дата/время hh:mm, то показывает 00:00
Как правильно сделать ?


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 160
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 29.04.08 13:57. Заголовок: Andrey пишет: Блин,..


Andrey пишет:

 цитата:
Блин, а я смотрел на загрузку ваших функций и ставил раньше них. И эту функцию было видно в Дизайнере.

FrPrn:AddFunction( "function XBaseStr(nValue: Double, nLength: Variant = EmptyVar, nDecimals: Variant = EmptyVar): Variant", "My Lovely Functions!", "It's a XBase Str() function!" )

Спасибо, заработало.

Только еще один вопрос:
У меня в базе поле времени числовое (N 4,0) - т.е. типа: 1208, 1310 и т.д.

Если в дизайнере указываешь формат вывода Дата/время hh:mm, то показывает 00:00
Как правильно сделать ?



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

Правильно показывает 00:00 У "нас-дельфистов" тип TDateTime - это float. В целой части хранится дата, в дробной - время. Целое число всегда имеет время 00:00.

Поставьте формат - числовой, строка формата - ##:##



Спасибо: 1 
ПрофильЦитата Ответить
постоянный участник




Пост N: 559
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.04.08 11:05. Заголовок: Спасибо заработало !..


Спасибо заработало !!!


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 161
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 06.05.08 10:23. Заголовок: Здравствуйте, Я рас..


Здравствуйте,

Я рассылал приглашение в английскую конфу всем русскоязычным пользователям, однако никто "не присоединился" к этой конфе.

Тем не менее, в этой конфе начинает накапливаться полезная информация, поэтому все-таки рекомендую это сделать всем интересующимся FastReport. Напомню адрес:

[url=http://groups.google.com/group/fastreport_for_x_harbour/topics ]http://groups.google.com/group/fastreport_for_x_harbour/topics [/url]





Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 563
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 07.05.08 00:55. Заголовок: Хочу сделать вызов п..


Хочу сделать вызов печати универсальной для своих задач.
Т.е. Вызываю функцию печати и туда передаю имя_формы.
А как сделать передачу назначения доп.переменных, функций и SetFieldAliases ?

Вот мой пример:

//////////////////////////////////////////////////////////////////////
#include "FastRepH.ch"

FUNCTION MyFR4()
LOCAL cFileForm, cPath, nShowDesignReport
PUBLIC myFirma, MyAdres, MyTelefon, MyViborka, MyNumba, myPathRes

M->myPathRes := CurDrive() + ":\" + CurDir() + '\'
M->MyFirma := HB_OEMTOANSI('ООО "Рога и Копыта"')
M->MyAdres := HB_OEMTOANSI('г.Москва, Набережная 13')
M->MyTelefon := HB_OEMTOANSI('тел.: (495) 123-45-67')
M->MyViborka := HB_OEMTOANSI('Дата договора: = 12.01.08 .....')
M->MyNumba := 123

cFileForm := "bookabon.fr3"
cPath := CurDrive() + ":\" + CurDir() + '\'

USE bookabon ALIAS BookAbon NEW

nShowDesignReport := 1 // 1-ShowReport, 2-DesignReport

MyFastReport4( cPath + cFileForm , nShowDesignReport, ;
(передать переменные), (передать функции), (передать SetFieldAliases) )

CLOSE BookAbon

RETURN NIL
////////////////////////////////////////////////////////////////
FUNCTION MyFastReport4(cFileForm, nShowDesignReport)
LOCAL cTitle := HB_OEMTOANSI( "Печать формы - " )
PRIVATE FrPrn

//----------- Now load and init FastReport --------------------------------------
FrPrn := frReportManager():new()

//---------- Set the same icon for FastReport windows----------
FrPrn:SetIcon( "FASTREP_ICO" )

//---------- Set the same title for FastReport taskBar-window
FrPrn:SetTitle( cTitle + cFileForm )

//----------- Set to disable main window when FastReport executes----------------------
// FrPrn:SetVisualActions(FR_ACT_DISABLE);

//----------- Определяет набор кнопок, которые будут доступны в Окне-Просмотра --------
FrPrn:PreviewOptions:SetButtons(FR_PB_PRINT + FR_PB_LOAD + FR_PB_SAVE + ;
FR_PB_EXPORT + FR_PB_ZOOM + FR_PB_FIND + FR_PB_OUTLINE + FR_PB_PAGESETUP + ;
FR_PB_TOOLS + FR_PB_EDIT + FR_PB_NAVIGATOR )
//----------- Load Lang resource for FastReport ----------------------
//FrPrn:LoadLangRes( M->myPathRes + "Russian.xml" )

//----------- Alias base and SELECT work area for FastReport ----------------------
FrPrn:SetWorkArea( ALIAS(), SELECT(), .T. ) // .T. для OEM-кодировки БД
//FrPrn:SetFieldAliases( "BookAbon", "CUSTNO=Cust No;Company;ADDR1=Address;Phone;Fax;Contact" )

//----------- Load file form FastReport ----------------------
FrPrn:LoadFromFile( cFileForm )

//-------- add XBase++ vars to FastReport ---------------------
FrPrn:AddVariable( "My Lovely Vars", "MyPathRes", "'"+myPathRes+"'" )
FrPrn:AddVariable( "My Lovely Vars", "MyFirma" , "'"+MyFirma+"'" )
FrPrn:AddVariable( "My Lovely Vars", "MyAdres" , "'"+MyAdres+"'" )
FrPrn:AddVariable( "My Lovely Vars", "MyTelefon", "'"+MyTelefon+"'" )
FrPrn:AddVariable( "My Lovely Vars", "MyNumba" , MyNumba )
//FrPrn:SetEventHandler( "Report", "OnUserFunction", { | FName, FParams | CallUserFunction( FName, FParams ) } )
FrPrn:AddFunction( "function XBaseStr(nValue: Double, nLength: Variant = EmptyVar, nDecimals: Variant = EmptyVar): Variant", ;
"My Lovely Functions!", "It's a XBase Str() function!" )

IF nShowDesignReport == 1
FrPrn:ShowReport()
ELSE
FrPrn:DesignReport()
ENDIF

FrPrn:ClearDataSets()

//-------- Unload FastReport -------------------------------------------------------------
FrPrn:DestroyFR()

RETURN NIL
////////////////////////////////////////////////////////////////



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 162
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 07.05.08 14:37. Заголовок: Andrey пишет: Хочу ..


Andrey пишет:

 цитата:
Хочу сделать вызов печати универсальной для своих задач.
Т.е. Вызываю функцию печати и туда передаю имя_формы.
А как сделать передачу назначения доп.переменных, функций и SetFieldAliases ?



Собственно, в демо DoFrAction() - это и есть такая универсальная функция. Можно делать как там.

Но если Вы хотите почти полной универсальности и минимум Harbour-кода, то посоветую следующее:

Не пользуйтесь SetWorkArea(), а пользуйтесь объектами HarbourWorkArea. Возможностей даже больше, при этом нет вызовов SetWorkArea(), SetFieldAliases() которые должны быть до LoadFromXXX.

Задавайте переменные в дизайнере, давая им значения типа - GetHbVar('SomeVar')

Функции, естественно, добавляйте при инициализации Фаста.

Таким образом, Вам останется только вызывать Load.., Show.., Design..


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 565
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 12.05.08 20:23. Заголовок: Можно ли прикрутить ..


Можно ли прикрутить кнопку для вызова "Дизайнера" на панели "Просмотра" печати ?
А то не хочется делать доп. вызов "Дизайнера" из своей программы.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 163
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 13.05.08 09:35. Заголовок: Andrey пишет: Можно..


Andrey пишет:

 цитата:
Можно ли прикрутить кнопку для вызова "Дизайнера" на панели "Просмотра" печати ?
А то не хочется делать доп. вызов "Дизайнера" из своей программы.



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



Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 576
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.05.08 20:54. Заголовок: В Дизайнере есть мен..


В Дизайнере есть меню "Отчет", в нем меню "Настройки" и там во вкладке "Описание" есть элемент "Имя" - оно отображается в заголовке окна при "Просмотре" отчета. (классно !)
А элемент "Картинка", когда туда вставляешь, нигде не отображается.
Для чего она нужна ?
Как заставить показываться при "Просмотре" ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 166
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 22.05.08 16:14. Заголовок: Andrey пишет: Для ч..


Andrey пишет:

 цитата:
Для чего она нужна ?



Сие тайна, покрытая мраком

Andrey пишет:

 цитата:
Как заставить показываться при "Просмотре" ?



А где показывать ее? В самом отчете показать конечно можно, типа:

procedure Picture1OnBeforePrint(Sender: TfrxComponent);
begin
Picture1.Picture.Assign(Report.ReportOptions.Picture);
end;

Но не очень понятно, зачем.

А.. в FastReport Server может использоваться при "изготовлении" HTML-странички со списком отчетов, получиться красиво, каждый отчет представлен картинкой.





Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 579
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.05.08 23:03. Заголовок: Sergey Spirin пишет:..


Sergey Spirin пишет:

 цитата:
А где показывать ее?



Нужно показывать где иконка окна "просмотра", т.е. заместо нее.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 580
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 23.05.08 23:04. Заголовок: Решил сделать печать..


Решил сделать печать еще универсальней....
Обойтись вызовом спец.функцией типа MyPrintFR4("zaivka.ini") !
А в этом ини-файле делаю все остальное.

Пример файла: zaivka.ini

[Настройка]
Имя_формы = "СПИСОК ЗАЯВОК НА РЕМОНТ"
Файл_формы = "zaivka.fr3"
Дизайнер = .F.

[Заполнить_переменные]
* имя_переменной , значение_переменной , комментарий
Поле1 = { "MySample" ,'M->cFiltPrn' , "выборка" }
Поле2 = { "MyDatePRN" ,'DTOC(DATE())' , "дата печати" }
Поле3 = { "MyFirma" ,'M->SDog_Firma' , "фирма" }
Поле4 = { "MyOtdel" ,'M->SDog_Otv+"/"+M->SDog_Tel+"/"' , "Нач.отдела" }

[Заполнить_таблицу]
* имя_поля , значение_поля (функции+поля_БД) , комментарий
Поле1 = { "NN" ,'TRANSFORM(FIELD->NNZa,"@R 999999/99")+CHR(10)+DTOC(FIELD->DATEZa)+", "+CHR(10)+TRANSFORM(FIELD->TIMEZA,"@R 99:99")+CHR(10)+ALLTRIM(FIELD->mNigtZa)+CHR(10)+ALLTRIM(SUBSTR(FIELD->mKodZa,1,10))' , "номер заявки" }
Поле2 = { "POLE1" ,'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)' , "заказчик,адрес,тел." }
Поле3 = { "POLE2" ,'MAR_NEIS3()+CHR(10)+ALLTRIM(FIELD->mRem)' , "неисправность" }
Поле4 = { "POLE3" ,'ALLTRIM(srokza->srokza)+", "+CHR(10)+ALLTRIM(FIELD->SrokZa)+"/, "+CHR(10)+DTOC(FIELD->DatePere)+CHR(10)+ALLTRIM(MASTER->MASTER)' , "сроки,мастер" }
Поле5 = { "POLE4" ,'ALLTRIM(Domof9->Domof)+", "+ALLTRIM(Truba9->Truba)+", "+ALLTRIM(Zamok9->Zamok)+", "+ALLTRIM(Dovod9->Dovod)+", "+ALLTRIM(Dver9->Dver)+", "+ALLTRIM(Process9->Process)' , "уст.оборудование" }
Поле6 = { "OPLAT" ,'IIF(FIELD->SumPlata>0,STR(FIELD->SumPlata,8,2)+" руб.","-")' , "оплата" }

[]

А на самой форме FastReport проставляю переменные и поля БД.
Как заполнить переменные и передать в FastReport - понятно.
А как быть с полями БД ?
Они же составные ?


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 167
Зарегистрирован: 25.12.07
ссылка на сообщение  Отправлено: 24.05.08 14:04. Заголовок: Andrey пишет: Решил..


Andrey пишет:

 цитата:
Решил сделать печать еще универсальней....
Обойтись вызовом спец.функцией типа MyPrintFR4("zaivka.ini") !
А в этом ини-файле делаю все остальное.



Похоже Вы явно ищите себе лишнюю (и бесполезную) работу Никакого смысла в этих ini-файлах нет. Все это можно и нужно делать в самих отчетах.

Переменные добавляйте в дизайнере, например: "фирма" значение GetHbVar('SDog_Firma') и т.д.

Общие переменные добавляйте во все отчеты в той же MyPrintFR4().

Используйте TfrxAlaskaWorkArea объекты и в отчете поля и "составляйте".

Чтобы часто не писать 'CallHbFunc()' добавьте в FR часто используемые функции типа ALLTRIM, TRANSFORM и т. д.

Кстати можно обсудить набор наиболее используемых функций и я добавлю их в FRH, чтобы не добавлять кодом.



Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 258 , стр: 1 2 3 4 5 6 7 8 9 10 11 12 13 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 12
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет