Общие сведения об обмене данными
Средства обмена данными, которые содержит система 1С:Предприятие 8.0 позволяют организовывать обмен информацией, хранимой в базе данных, с другими программными системами. В качестве таких систем могут выступать как другие информационные базы 1С:Предприятия 8.0 (имеющие аналогичную или отличающуюся конфигурацию), так и программные системы, не основанные на 1С:Предприятии 8.0.
Такая гибкость обмена данными достигается тем, что средства обмена данными 1С:Предприятия 8.0 могут использоваться в различных комбинациях, и кроме этого, формат обмена данными основан на языке XML, являющимся на сегодняшний день общепринятым средством представления данных.
К механизмам обмена данными могут быть отнесены:
· | Планы обмена, |
· | XML-сериализация, |
· | Средства чтения и записи документов XML. |
В общем случае схема взаимодействия этих трех составляющих может быть представлена следующим образом:
При помощи планов обмена мы получаем информацию о том, какие элементы данных были изменены, и в какой узел обмена их необходимо передать. Это возможно благодаря тому, что планы обмена содержат механизм регистрации изменений. Информация об [394] измененных данных переносится с помощью сообщений, инфраструктура которых также поддерживается планами обмена.
XML-сериализация позволяет преобразовать объект 1С:Предприятия в последовательность данных, представленных в формате XML. Кроме этого, XML-сериализация выполняет и обратное преобразование – преобразует последовательность данных формата XML в объект 1С:Предприятия, при условии, что имеется соответствующий тип 1С:Предприятия.
Запись и чтение документов XML обеспечивают запись/чтение документов формата XML из встроенного языка.
При реализации алгоритма обмена данными перечисленные механизмы могут быть использованы как все вместе, так и в различной комбинации. В каждом конкретном случае разработчик решает эту задачу самостоятельно.
В примере, приведенном в этой книге, мы используем все три механизма обмена данными, поэтому прежде чем перейти непосредственно к написанию кода, познакомимся с каждым из них более подробно.