Создание отчётов FastReport
Материал из K3-Macro
Logical FReport(STRING <ReportName>, STRING <FileName>, STRING <BaseStr>, STRING <ParamStr>[,...])
Функция FReport создаёт отчёт с именем <ReportName>
, сохраняет его в файл <FileName>
, передает этому отчёту параметры базы <BaseStr>
и параметры отчёта <ParamStr>
.
В самом отчете должно быть соответствие между именами параметров базы и отчёта, которые передаются отчету и которые отчет ждет на вход. Файл отчета может содержать несколько страниц. В этом случае каждая следующая страница отчета должна принимать 4 параметра.
Функция возвращает 1 в случае удачного создания отчета и 0 — в случае ошибки.
Пример 1:
BinPath="C:\\Program Files\\Geos\\K3 Мебель ПКМ\\BIN"; mdbb="C:\\Program Files\\Geos\\K3 Мебель ПКМ\\Data\\PKM\\Proto\\mebelbase.mdb" ReportPath=GetFReport(); BaseParam="ADODataBase1="+BinPath+",ADODataBase2="+mdbb; NULLOUT=freport(ReportPath+"tz_dr.fr3",ProjPath+ProjName,BaseParam,"",ReportPath+"tz_fr.fr3",ProjPath+ProjName,BaseParam,"",ReportPath+"tz_nr.fr3",ProjPath+ProjName,BaseParam,""); exit;
Пример 2:
//-- Программа создания отчета кромки изделия (Fast Report) global ProtoPath; global g_BoutTbl,g_LbOutTbl; Protopath=GetProtoMac("Shkaf.ptl"); BinPath=sysvar(1)-1; macro ProtoPath+"Sp_Karkas.mac"; //-- Запросим номер каркаса ProjPath=GetFilePath(SysVar(2)); ProjName=GetFileTitle(SysVar(2))-3+"K"; if (CopyFile(ProtoPath+"shkaf.ptm",ProtoPath,"shkaf.dbf")==0) { exit; } ReportPath=GetFReport(); BaseParam="ADODataBase1="+BinPath+",ADODataBase2="+ProtoPath; //-- Формат сторон X1, Y1, X2, Y2 ReportParam="szakaz='zakaz',sbouttbl='"+g_BoutTbl+"',slbouttbl='"+g_LbOutTbl+"',prmHeader=1,sshkaf='shkaf'"; //-- Формат сторон B, C, D, E //ReportParam="szakaz,'zakaz',sbouttbl,'"+g_BoutTbl+"',slbouttbl,'"+g_LbOutTbl+"',prmHeader,0"; NULLOUT=freport(ReportPath+"Report2.fr3",ProjPath+ProjName,BaseParam,ReportParam); exit;