ODTXML - Пример создания .odt из шаблона с полями и таблицами.

Автор:tema
Дата:26.11.2012
Просмотров:4450
Скачиваний:797
Оценка: - , Оценок - 0
Скачать (zip-файл; Размер - 359928)

Обсудить в форуме

Описание

Создание отчета в формате OpenDocument.
В отчете можно использовать поля и таблицы. В результате на терминале откроется writer с отчетом. Работает гораздо быстрее, чем создание документа на терминале через CreateComObject("com.sun.star.ServiceManager"), LoadComponentFromURL...

Используется MSXML.DOMDocument через ActiveX и Info-Zip через DLM.

Текст примера

 import "odtxml.mac";
import globals;

var aRow=TArray(6);
var fPostDoc=TBFile("postdoc.dbt","R",null,null,"bank.def");
var odtDoc=OpenDocForm("Отложенные");

/* Поля */
    odtDoc.SetField("Дата",         {curdate});
    odtDoc.SetField("Операционист", {oper});
    odtDoc.SetField("Банк",         {Name_Bank});

    /* Инициализация таблицы */
    odtDoc.iTableFooterRows=1;   /* У таблицы есть подвал                     */
    odtDoc.Table("ОтложенныеДокументы");  /* Название таблицы, по умолчанию "Таблица1" */
while  (fPostDoc.next)
    
    
    /* Подготовка к таблице */
    /* Дата
       №
       Шифр
       Дебет
       Кредит
       Сумма    */

    aRow[0]=fPostDoc.rec.Date_Document;
    aRow[1]=fPostDoc.rec.Numb_Document;
    aRow[2]=fPostDoc.rec.Shifr_Oper;
    aRow[3]=fPostDoc.rec.Real_Payer;
    aRow[4]=fPostDoc.rec.Real_Receiver;
    aRow[5]=fPostDoc.rec.Sum;

    /* Вывод строки в таблицу */
    odtDoc.WriteRow(aRow);

end;