Стоит посмотреть
ODTXML - Пример создания .odt из шаблона с полями и таблицами.
Скачать (zip-файл; Размер - 359928)Обсудить в форуме
Описание
Создание отчета в формате OpenDocument.
В отчете можно использовать поля и таблицы. В результате на терминале откроется writer с отчетом. Работает гораздо быстрее, чем создание документа на терминале через CreateComObject("com.sun.star.ServiceManager"), LoadComponentFromURL...
Используется MSXML.DOMDocument через ActiveX и Info-Zip через DLM.
В отчете можно использовать поля и таблицы. В результате на терминале откроется 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;