Страница 1 из 1

XLT шаблоны

Добавлено: 27 мар 2007, 12:27
san
В галактике появилась возможность создавать отчеты по XLT шаблонам. Подскажите, как создать свой шаблон с нуля. Что то у меня это не получается, дизайнер не понимает и выдает ошибку 9.
Как задать имя таблицы и имена полей в шаблоне?

Добавлено: 27 мар 2007, 13:29
Max_Fin
1) Изменение существующих XLT
Берется существующий, модифицируется дизайнером

2) Формирование собственным XLT
Все формирование выполняется кодом
В том числе и создание отчета

Код: Выделить всё

//нужно подключить
#include OfpMacro.vpp
#include xlReport.Vih

interface .........
....
var pXL: XLSRepBuilder;  // объект формирования Excel-отчетов

...

procedure PrintRepData(bMakeXLT: Boolean; sXLTName: String);
{
var sXLSName: String;

   //либо создаем новый шаблон, либо заполяем
   if bMakeXLT sXLSName := pXL.CreateXLT(sXLTName, true);
   else sXLSName := pXL.CreateReport(sXLTName, true);

    // определение таблицы отчета (DBTbl Constructor)
    pXL.CreateTbls(sXLSName);
    pXL.CreateTbl('TBLNAME');

    // объявление полей таблицы
    pXL.CreateTblFld('Field_1');
    pXL.CreateTblFld('Field_2');
    ....
    pXL.CreateTblFld('Field_N');

    if not bMakeXLT
    {
        //тут должен быть цикл
        pXL.ClearTblBuffer;
        pXL.SetTblDateFldValue('Field_1', DDDD);
        pXL.SetTblStringFldValue('Field_2', SSSS);
        ....
        pXL.SetTblNumberFldValue('Field_N', NNNN);
        pXL.InsTblRow;
        //тут должен быть цикл
    }
    pXL.PublishTbl('TBLNAME');
    //создание переменных отчета
    pXL.CreateVar(sXLSName);
    pXL.SetDateVar('Var_1', VD);
    pXL.SetStringVar('Var_2', VS);
    ........
    pXL.SetNumberVar('Var_3', VN);
    pXL.PublishVar;

    pXL.LoadReport(sXLSName);
    pXL.DisConnectExcel;
}
далее использутся дизайнер для создания листа "Отчет"