Появилась
возможность загрузки и выгрузки данных "Фабиуса" во внешние программы
с помощью файлов формата XML.
Для работы с XML файлами
необходимо поместить рядом с выполняемым файлом программы библиотеку Midas.dll.
Кроме того, если Вы
используете Internet Explorer ниже 6.0, следует инсталлировать MsXml 4.0 SP2
Parcer.
Первым шагом для работы
с XML файлами необходимо получить файлы описания структуры - это файлы
Shema с расширением xsd
и два файла - DataPacket_To_XML и XML_To_DataPacket с расширением xtr.
После их создания они
должны быть помещены в Эталон (подкаталог Template) и оттуда попадут в рабочий
каталог.
Их можно создать из
готового файла XML с помощью утилиты XmlMapper (к нему необходима библиотека
dbrtl70.dll)
Все необходимые
программы и библиотеки можно взять на FTP сервере в каталоге XML.
Далее описаны шаги по
созданию файлов описания, необходимых для создания XML файла:
1. Открыть исходный XML
файл. Переключиться на закладку SchemaView и по правой клавише мыши сохранить
схему под
каким либо именем.
2. а)По правой клавише
мыши стоя на DocumentView выбрать SelectAll.
б)Затем из этого же меню Create DataPacket
from XML.
в)Перемещаясь по полям документа надо в
закладке Node Properties задать тип и размер полей документа
г)Нажать кнопку Create and Test
Transformation (на закладке Mapping).
д)В окне Transformation закладка Mapping по
правой клавише мыши выбрать Save Transformation и сохранить с каким
либо именем XML_To_DataPacket.
е)Затем выбрать кнопку Transform Direct -
DataPacket_To_XML и проделать пункты г) и д) сохранив при этом третий
файл.
Открыть полученный xtr-файл и заменить
строку <?xml version="1.0" ?> на <?xml
version="1.0" encoding="UTF-8" ?>,
иначе при формировании xml файла возможно
искажение кодировки!
Примеры выгрузок данных
в XML файлы для передачи в 1С приведены в шаблонах импорта-экспорта
- "Экспорт в XML
накладных от другого юр.лица Настюша".
Главная идея состоит в
том, что функция внутреннего языка XmlMapper возвращает указатель на базу данных
(или некую структуру в памяти),
которая содержит таблицы
описанные в XML файле, переданном ей в качестве параметра (схема таблицы).
Одной из особенностей
этой таблицы является, то что в ней могут быть поля - ссылки на другие таблицы,
являющиеся дочерними к исходной.
Далее работа с этими
таблицами происходит с помощью функций:
Добавление -
AppendRec(),
Запись в поле обычное
присвоение - Field->&('ДатаДокумента'):=DTOC((tbl)->DATDOC,.T.)
В заключении после того
как виртуальная таблица создана ее можно записать в XML файл, вызвав функцию:
XmlMapper(Ссылка на
таблицу, Транзитный файл ToXml.xtr(созданный утилитой XmlMapper)
,Результирующий файл XML)
Работа со считыванием
XML файла выполняется на основе той же функции
XmlMapper(Исходный файл
XML, Транзитный файл ToDt.xtr(созданный утилитой XmlMapper)) - возвращает
ссылку на виртуальную таблицу,
сосчитанную из XML
файла.