Создание отчётов FastReport

Материал из K3-Macro
Макро | Мебельные команды и функции | Работа с заказом | Длинномеры | Комната | Мебельная панель | Профиль | Каркас | Виды и фильтры | Расчёт стоимости | Мебельные объекты | Работа с изделиями в сцене | Работа с мебельными состояниями | Запрос данных из Номенклатуры | Получение информации о положении вспомогательных файлов | Создание отчётов FastReport | Работа с чертежами | Пользовательские подстановки | Параметризация кривых | Приписывание мебельных позиций | Состояние мебельных пунктов меню и панелей инструментов | Определение мебельных габаритных координат | Заполнение массива параметрами отверстий | Поиск прототипа | Информация о линии свободного крепежа | Хэш-код объекта | Выгрузка информации в мебельную базу

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;

Макро | Мебельные команды и функции | Работа с заказом | Длинномеры | Комната | Мебельная панель | Профиль | Каркас | Виды и фильтры | Расчёт стоимости | Мебельные объекты | Работа с изделиями в сцене | Работа с мебельными состояниями | Запрос данных из Номенклатуры | Получение информации о положении вспомогательных файлов | Создание отчётов FastReport | Работа с чертежами | Пользовательские подстановки | Параметризация кривых | Приписывание мебельных позиций | Состояние мебельных пунктов меню и панелей инструментов | Определение мебельных габаритных координат | Заполнение массива параметрами отверстий | Поиск прототипа | Информация о линии свободного крепежа | Хэш-код объекта | Выгрузка информации в мебельную базу