Работа с простыми типами XML в 1С

Категория: Учебники по 1С » Технологии интеграции 1С Предприятия 8.2

Для преобразования типа данных «1С:Предприятия» в тип данных XML и наоборот предназначены методы ХМLТип() и ИзХМLТипа () . Метод

ХМLТип() имеет один параметр - тип, для которого нужно получить соответствующий тип данных XML. Если соответствующий тип данных ХМ1. определен, то метод возвращает значение типа ТипДанныхХМL. Если же соответствующего типа данных XML нет, то метод возвращает значение Неопределено.

 

Метод ИзХМLТипа () имеет два варианта вызова. В первом варианте метод имеет единственный параметр типа ТипДанныхХМL. Во втором варианте параметра два: имя типа XML и пространство имен. В обоих случаях метод возвращает соответствующий типу данных XML тип данных «1С:Предприятия», если таковой имеется, или Неопределено в противном случае.

Поскольку большинство методов для работы с данными XML (за исключением примитивных типов данных) не работают на клиенте, а получать файл с данными пользователю нужно в основном именно на клиенте, здесь и далее будем использовать следующий подход.

 

При записи данных XML будем производить необходимую обработку данных на сервере, записывать эти данные во временный файл, в виде двоичных данных сохранять файл во временном хранилище, и адрес этих данных в хранилище передавать на клиента. И затем уже получать файл на клиенте по адресу во временном хранилище.

 

При чтении данных XML будем сохранять XML-документ во временном хранилище и адрес данных в хранилище передавать в северную процедуру, в которой документ будет получаться из временного хранилища, записываться во временный файл, и будет производиться чтение документа.

 

Рассмотрим пример использования вышеперечисленных методов (листинг 1.45, 1.46).

Пример можно посмотреть в обработке «РаботаСХМL».

В процедуре записи XML-документа вызывается серверная функция ЗаписьПростыхДанныхХМL() (листинг 1.46), в которой производится необходимая обработка данных, затем эти данные записываются во временный файл, который в виде двоичных данных сохраняется во временном храни­лище, и адрес этих данных в хранилище возвращается на клиента.

Особенность вышеприведенного механизма заключается в том, что при записи элемента в его имя записывается имя типа XML (получаемого с при обращению к значению, полученному при обращении к методу ХМLТипЗнч() . Также записывается пространство имени типа. Следует отметить, что тип XML можно было получить и при обращении к методу ХМLТип().

В результате выполнения фрагмента кода сформируется следующий документ:

Обратите внимание на следующий факт. Пространство имен типов должно быть записано для каждого элемента с данными. Однако в пятом и шестом элементах (для ссылки справочника номенклатуры) оно не определено. Так и должно быть, ведь для типов данных, производных от объектов конфигурации, пространство имен не определяется.
Кроме этого, обратите внимание на различие результата записи ссылки. В первом случае используется метод ХМLСтрока(), записывается значение уникального идентификатора ссылки. Во втором записывается представление ссылки (чаще всего это наименование).
Для чтения выгруженного XML-документа (см. листинг 1.47) может использоваться следующий программный код:
 
В процедуре чтения XML-документа сначала документ помещается во временное хранилище. Адрес данных в хранилище передается в серверную процедуру ЧтениеПростыхДанныхХМL(), в которой документ получается из временного хранилища, записывается во временный файл, и производится чтение документа.

 

 
P.S. Закажите прямо сейчас видеокурс Мастер 1С PRO в котором я в деталях обьяснил как настроить обмен данных между 1С конфигурацией и сайтом, работать с XML файлами и создавать 1С конфигурации с абсолютного нуля.

ЗАКАЗАТЬ ВИДЕОКУРС ПРЯМО СЕЙЧАС СО СКИДКОЙ


dle

Помоги проекту! Расскажи друзьям о сайте: