|
Отдел технической поддержки дата обновления 08.06.2023 |
|
"Создание XML файлов"НазначениеXML является расширением html для создания открытых структур и баз данных в текстовом формате. Если для просмотра и редакции содержимого файла c расширением (*.gdb) требуется программа IB Expert, то для файла XML достаточно использовать простой текстовый редактор.В настоящее время XML бурно развивается в качестве открытого стандарта для обмена данными между различными платформами и приложениями. Например, коммерческие стандарты CML. К сведению В набор поставляемых отчетов входит макрос по складской накладной-заявке на материал "Заявка для электронной торговли Т.Б.М. " - создание файла *.cml в формате юникода UTF-8 для загрузки в web-интерфейсе официального сайта поставщика. РеализацияОсновное отличие и преимущество XML - создание своих смысловых тегов, содержащих данные, например описание данных по проекту:<ПРОЕКТ> <НОМЕР>717</НОМЕР> <ДАТА>27.02.2005</ДАТА> <ЗАКАЗЧИК>Иванов</ЗАКАЗЧИК> <СТОИМОСТЬ>478,52</СТОИМОСТЬ> </ПРОЕКТ > XML файл начинается строкой с указанием кодовой страницы: <?xml version="1.0" encoding="windows-1251"?> Просмотр XMLMicroSoft Internet Explorer позволяет просматривать XML файлы с условием: в XML файле должен быть только один первый уровень тегов.Полный текст данного примера XML файла с одним первым уровнем: <?xml version="1.0" encoding="windows-1251"?> <ПРОЕКТЫ> <ПРОЕКТ> <НОМЕР>717</НОМЕР> <ДАТА>27.04.2005</ДАТА> <ЗАКАЗЧИК>Иванов</ЗАКАЗЧИК> <СТОИМОСТЬ>478,52</СТОИМОСТЬ> </ПРОЕКТ> <ПРОЕКТ> <НОМЕР>718</НОМЕР> <ДАТА>29.04.2005</ДАТА> <ЗАКАЗЧИК>Сидоров</ЗАКАЗЧИК> <СТОИМОСТЬ>478,52</СТОИМОСТЬ> </ПРОЕКТ> </ПРОЕКТЫ > Для отображения XML файла в виде структуры необходимо установить для отчета программу вызова = XML. ПримерыПример создания XML файла с предварительным просмотром по проектам, отправленным в производство:<?xml version="1.0" encoding="windows-1251"?> <ПРОЕКТЫ> ~SQL1:Установить:SELECT * FROM ListPrj WHERE pWork>0~ ~SQL1:Добавить:ORDER BY zNumb,zDate ~ ~SQL1:Начало~ <ПРОЕКТ> <ЗАКАЗ>~SQL1:zNumb:AsString~</ЗАКАЗ> <ДАТА>~SQL1:pDate:AsDate~</ДАТА> <ЗАКАЗЧИК>~SQL1:kName:AsString~</ЗАКАЗЧИК> <СТОИМОСТЬ>~SQL1:pPrcD:AsFloat~</СТОИМОСТЬ> </ПРОЕКТ> ~SQL1:Конец~ </ПРОЕКТЫ> Выходной отчет при просмотре в MS IExplorer будет иметь примерный вид: Обработка XML файловДля обработки XML файлов в генераторе отчетов имеются следующие команды:~XML:Загрузить:Имя_файла~ <!-- загрузить файл в память --> ~XML:Загрузить:C?\File.xml~ ~XML:Цикл:Структура~ <!-- указание структуры для определения структуры последовательности записей --> ~XML:Начало~ <!-- начало цикла --> ~XML:Поле~ <!-- вывод в отчет значения поля --> ~XML:Поле:Тип:Параметр~ <!-- вывод в параметр значения поля --> ~XML:Конец~ <!-- конец цикла --> ПримерыВозьмем для примера файл с данными по проектам:<ПРОЕКТЫ> - тег первого уровня, описывающий в документ <ПРОЕКТ> - структура записей, каждая из которых является описанием проекта <НОМЕР>, <КОНТРАГЕНТ>, <СТОИМОСТЬ> - поля структуры проекта ~XML:Загрузить:C:\Пример.xml~ <!-- загружаем файл примера в память --> <TABLE> <TR> <TD bgColor=#CCCCCC align=center>Проект №</TD> <TD bgColor=#CCCCCC align=center>Заказчик</TD> <TD bgColor=#CCCCCC align=center>Стоимость</TD> </TR> <!-- указываем структуру записей-проектов, по которой будет проходить цикл обработки --> ~XML:Цикл:ПРОЕКТ~ <!-- вводим параметр для подсчета общей стоимости проектов --> ~AsFloat:Всего=0~ ~XML:Начало~ <TR> <TD align=center>~XML:НОМЕР~</TD> <TD align=left>~XML:КОНТРАГЕНТ~</TD> <TD align=right>~XML:СТОИМОСТЬ~</TD> </TR> <!-- вывод в параметр 'Стоимость1' значения поля ПРОЕКТ.СТОИМОСТЬ --> ~XML:СТОИМОСТЬ:AsFloat:Стоимость1~ ~AsFloat:Всего=Всего+Стоимость1~ ~XML:Конец~ <TR> <TD align=right colspan=3>~AsFloat:Всего~</TD> </TR> </TABLE> Выходной отчет при просмотре будет иметь примерный вид:
|