Появилась возможность загрузки и выгрузки данных "Фабиуса" во внешние программы с помощью файлов формата 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 файла.