Инструменты пользователя

Инструменты сайта


playground:playground

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
playground:playground [2016/10/25 11:28]
alex
playground:playground [2016/11/18 18:03] (текущий)
admin
Строка 1: Строка 1:
-XDTO - это аббревиатураобозначающая обмен данными посредством XML (XML Data Transfer Objects). Аббревиатура придумана разработчиками 1с и вряд ли встретится где-то ещёНо реализует она вполне стандартизированный механизм обмена информацией с помощью файлов XML, известный как [[https://ru.wikipedia.org/wiki/XML_Schema|XML Schema]].+<pre class="brush:1c"> 
 +Массив  = Новый Массив; 
 +НоваяСтрокаМассива = Новый Массив; 
 +НоваяСтрокаМассива.Добавить(1); 
 +НоваяСтрокаМассива.Добавить(2)
 +Массив.Добавить(НоваяСтрокаМассива); 
 +НоваяСтрокаМассива = Новый Массив; 
 +НоваяСтрокаМассива.Добавить(6); 
 +НоваяСтрокаМассива.Добавить(7); 
 +Массив.Добавить(НоваяСтрокаМассива); 
 +</pre>
  
-Суть этого механизма заключается в том, что создаётся специальный файл, называемый схемой. Этот файл описывает структуру XML-файла. Если XML-файл соответствует этой структуре, то он считается корректным. Отдающей стороне достаточно сформировать корректный XML-файл для успешного обмена. Принимающая сторона должна гарантировать, что любой корректный XML-файл будет загружен без ошибок. В результате достаточно легко можно обеспечить обмен между двумя и более закрытыми информационными системами. 
  
-Самым ярким примером использования такого механизма обмена являются различного рода декларации алоговые и прочее). На сайтах соответствующих ведомств всегда можно найти файл со схемой. Другой распространённый пример обмен данными с сайтом.+====== XDTO-пакеты ====== 
 + 
 +===== Описание ===== 
 + 
 +XDTO-пакеты предназначены для сохранения в конфигурации 1с схемы обмена данными между различными информационными системами по стандарту [[https://ru.wikipedia.org/wiki/XML_Schema|XML Schema]]. Данный механизм используется самой платформой, в частности, на ней построен обмен РИБ. Разработчик имеет возможность создавать неограниченное количество собственных схем обмена данными. 
 + 
 +У каждого XDTO-пакета, подобно любому другому объекту конфигурации, есть своё имя, синоним и комментарий. Собственный реквизит пакета - это ''URI пространства имён''. Других свойств у XDTO-пакетов не существует. 
 + 
 + 
 +===== URI пространства имён ===== 
 + 
 +Имя пакета относится исключительно к самому объекту конфигурации и нигде не фигурирует в самой схеме обмена. Процедуры работы с объектами XDTO умеют определять описываемые в пакете типы по URI пространству имён. 
 + 
 +В конфигурации может существовать несколько пакетов с одинаковым URI. Это позволяет хранить несколько версий одной и той же схемы обмена. Но это усложняет использование пакетов - к их объектам уже невозможно обратиться простым указанием URI. 
 + 
 +Имена типов, описываемые в XDTO-пакетах, должны быть уникальными в пределах одного пространства имён. Контролируется это платформой только в пределах одного XDTO-пакета. В различных пакетах имена объектов могут повторяться, даже если у пакетов одинаковое URI пространства имён. 
 + 
 +URI пространства имён обычно похожи на адрес веб-страницы. Это не обязательно, но рекомендовано стандартом. Более того, стандарт рекомендует по этому адресу размещать страницу с описанием данной схемы обмена. В реальной жизни этой рекомендации редко следуют. В частности, сама фирма 1с не создаёт таких страниц.. 
 + 
 +===== Конструктор XDTO-пакетов ===== 
 + 
 +Для создания схем обмена существует удобный графический конструктор
 + 
 +{{http://i.imgur.com/rrPUwtV.png}} 
 + 
 +С его помощью можно создавать любые схемы обмена, а также экспортировать их в файлы. Конструктор состоит из панели инструментов и рабочего поля. В панели инструментов кроме команд заполнения схемы обмена, есть также кнопки проверки корректности пакета и экспорта пакета во внешний файл. Последние версии платформы также позволяют использовать XDTO-пакеты в расширениях конфигурации.
  
-С точки зрения программиста 1с, объект XDTO очень похож на [[1c:коллекции:Фиксированная структура|Фиксированную структуру]], созданную на основе файла со схемой. Эта псевдоструктура может быть загружена из XML-файла и использована для загрузки сторонних данных. А может быть заполнена данными и записана в корректный XML-файл. Который впоследствии будет использован для загрузки в другую информационную систему. В любом случае работа с объектом состоит из 3 основных этапов: получение типа объекта, создание объекта XDTO требуемого типа, использование объекта XDTO для выгрузки или загрузки данных. 
  
-===== Получение типа объекта ===== 
-Это наиболее трудный для понимания этап т.к. он не соответствует обычной работе с переменными 1с. Но для работы с объектами XDTO он обязателен. Прежде чем создать объект XDTO, необходимо получить его тип. Типы объектов XDTO не являются стандартными типами 1с, здесь не получится использовать команду ''Новый''. 
playground/playground.1477384111.txt.gz · Последнее изменение: 2016/10/25 11:28 — alex