1с 8.3 как настроить собственный обмен данными. Обмен через универсальный формат

Универсальный механизм обмена данными предназначен как для создания территориально распределенных систем на основе 1С:Предприятия 8, так и для организации обмена данными с другими информационными системами, не основанными на 1С:Предприятии 8.

Этот механизм позволяет переносить только данные 1С:Предприятия; перенос конфигурации и административной информации 1С:Предприятия 8 при помощи этого механизма невозможен.

Возможности

  • обмен данными может быть реализован как с информационными базами 1С:Предприятия, так и с другими информационными системами;
  • организация различных стратегий обмена сообщениями;
  • реализация различных способов разрешения коллизий при одновременном изменении данных в разных узлах распределенной системы;
  • реализация восстановления обмена данными в таких случаях, как восстановление информационных баз из резервных копии и т.д.

Особенности

  • в качестве формата обмена используются XML документы;
  • при обмене данными между информационными базами 1С:Предприятия 8 не накладывается ограничений на идентичность конфигурации и структуры конкретных объектов;
  • в одной конфигурации может быть создано несколько независимых схем обмена с различными информационными системами;
  • при организации схемы обмена не накладывается ограничений на структуру распределенной системы. Может быть организована как классическая структура типа «звезда», так и более сложные многоуровневые структуры типа «снежинка» и другие;
  • разработчику прикладного решения предоставляется возможность гибкого управления составом обмена, как с точки зрения структуры передаваемых данных, так и с точки зрения состава передаваемой информации в конкретные узлы обмена;
  • объект базы данных первоначально создается в одном из узлов обмена. Состав передаваемой информации может регулироваться в зависимости от содержимого данных, и не зависит от места первоначального ввода информации.

Составные части

Универсальный механизм обмена данными не является жестким решением. Его работа реализуется набором средств технологической платформы 1С:Предприятия 8, которые могут использоваться в прикладных решениях в различных комбинациях.

  • План обмена
    Объекты конфигурации План обмена являются центром, вокруг которого группируются прочие средства обмена данными. При помощи этих объектов описывается набор узлов распределенной системы и состав данных, которыми предполагается обмениваться в рамках данного плана обмена.
    Кроме этого, планы обмена реализуют работу двух важных механизмов, задействованных при обмене данными:
    • Служба регистрации изменений
      Позволяет получать информацию о том, какие элементы данных были изменены, и в какой узел обмена их необходимо передать.
Есть дописанная БД 1С Управление Торговлей (далее УТ) редакции 10.2 на платформе 8.1.
И есть стандартная БД 1С Бухгалтерия на платформе 8.3.

Задача:

Наладить обмен данными между базами.

Решение:

Установил 1С Конвертация данных, редакция 2.1.
Загрузил.
Запускаю "Стартовый помощник" (рис.1).

1. Далее.
2. Выбираю "Создать новые правила обмена данными (с нуля)". Далее.
3. На третьем шаге программа просит указать конфигурации источника и приемника.
Создаю конфигурацию источника (1С УТ):
- так как у меня 1С УТ на платформе 8.1, то с диска ИТС беру внешнюю обработку MD81Exp.epf (ее можно скачать) .
- открываю 1С УТ. Файл --> Открыть --> MD81Exp.epf .

Указываю файл, в который будет выгружаться информация о структуре метаданных. Он должен быть в формате XML.

Нажимаю кнопку "Выгрузить".

Аналогично проделываю все тоже самое с базой приемником. С 1С Бухгалтерией 8.3. Только для нее беру внешнюю обработку MD83Exp.epf (ее можно скачать) .

Перехожу обратно в 1С Конвертация данных.

Мы остановились на 3-ем шаге. Нажимаю кнопку "Новая", указываю сформированный файл структур метаданных. В справочник конфигураций, загрузится данная структура.

4. На четвертом шаге выбираю пункт "Автоматически создать все возможные правила обмена данными".

Теперь перед нами открылось новое окно. Созданы правила конвертации объектов. Нужно создать правила выгрузки данных. Для этого перехожу на вторую вкладку "Правила выгрузки данных" и нажимаю кнопку "Создать правила выгрузки".

В каждом плане есть определенный список элементов, информацию об изменении которых он может хранить. Этот список называется «Состав плана обмена». Состав можно расширять, но при этом поддержка конфигурации снимается.

В «Макете плана» хранятся те самые правила, на основе которых работает синхронизация. Вот именно этот пакет конвертации (ПравилаРегистрации, ПравилаОбмена, ПравилаОбменаКорреспондента) нам и необходим для дальнейшего изучения.

Рассмотрим пример синхронизации данных между конфигурациями «1С:Зарплата и управление персоналом 3» (ЗУП) и «1С:Бухгалтерия предприятия 3» (БП). Отметим сразу, в данной задаче нам придется снять конфигурацию с поддержки. Данное потребуется по условию.

Живой пример потребности в доработке типовых правил обмена

Например, заказчик обратился к нам с такой проблемой: при синхронизации между ЗУП и БП нет возможности передать данные справочника «Регистрации в налоговом органе», которые необходимы для заполнения документа «Отражение зарплаты в бухучете». Сейчас табличная часть этого документа на стороне приемника БП содержит пустую «Регистрацию…» и пользователям приходится вручную создавать такие записи в справочнике. Согласитесь, это неудобно. Можем доработать этот момент.

Решение проблемы: доработаем пакет конвертации из плана обмена ОбменЗарплата3Бухгалтерия3. Добавим в типовые «Правила обмена 1С» новое «Правило конвертации объектов» (ПКО) для справочника «Регистрации в налоговом органе» и соответственно «Конвертацию свойств» этого справочника (ПКС). Обязательно доработаем типовые «Правила регистрации объектов», т.к. возникла необходимость зарегистрировать изменения справочника на узле обмена. И пересмотрим «Правила обмена 1С» базы корреспондента.

Где все это будем редактировать? для написания и изменения правил нам потребуется конфигурация «1С:Конвертация данных 2».

Доработка типовых правил конвертации из Плана обмена ЗУП - БП

Итак, доработку правил обмена 1С начнем с того, что в конфигураторе для плана обмена ОбменЗарплата3Бухгалтерия3 в состав добавим новый элемент - справочник РегистрацииВНалоговомОргане. Данное изменение сделаем в обоих конфигурациях «1С:Зарплата и управление предприятием 3» и «1С:Бухгалтерия предприятия 3».

Сохраним и обновим конфигурации.

В режиме предприятия для каждой базы выгрузим описание структуры метаданных с помощью обработки MD83Exp.epf для платформы «1С:Предприятие 8.3». Обработку можно найти в комплекте «1С:Конвертация данных».

На следующем этапе выгрузим пакет конвертации из ЗУП и БП. Пакет должен состоять из 3 файлов: ПравилаРегистрации, ПравилаОбмена, ПравилаОбменаКорреспондента.

В рамках данной статьи не будет описания как настраивается синхронизация данных, это можно прочитать на сайте компании «Кодерлайн» в разделе «Статьи экспертов» либо посмотреть записи вебинаров . Сейчас в базах уже настроена данная опция. Поэтому переходим в настройку синхронизации (Администрирование -> Синхронизация данных -> Настройка синхронизации данных), нажимаем кнопку «Загрузить правила». Перед нами откроется форма «Правил для синхронизации». По кнопке «Еще» выберем пункт «Сохранить правила в файл».


Вот такой пакет после выгрузки должен у нас получиться.

Аналогичные действия выполним и для другой информационной базы «1С:Бухгалтерия предприятия».
В итоге все подготовительные работы для редактирования правил готовы. У нас есть:

Описание структуры метаданных для загрузки в «1С:Конвертация данных 2» (для ЗУП и БП);

Пакет конвертации, который содержит правила обмена 1С и правила регистрации, необходимые для загрузки в «1С:Конвертация данных 2» (для ЗУП и БП).

Переходим в «1С:Конвертация данных 2» . Выполним следующие действия по порядку для обоих информационных баз:

Загружаем структуры метаданных наших конфигураций;

Создаем конвертации и загружаем правила обмена данными 1С из пакетов конвертации (файл правил называется ExchangeRules);

Создаем регистрации и загружаем правила регистрации из пакетов конвертации (файл правил называется RegistrationRules).


Переходим непосредственно к нашей доработке. В правила обмена 1С добавляем новое правило конвертации объектов (ПКО) - справочник «Регистрации в налоговом органе». Добавляем правило конвертации свойств (ПКС) для этого справочника и правило выгрузки данных (ПВД). Такого рода доработку необходимо выполнить как для правил из пакета ЗУП, так и для правил обмена из пакета БП. Выгружаем наши правила обмена в соответствующие файлы ExchangeRules.

Переходим к правилам регистрации нового элемента. Добавляем справочник «Регистрации в налоговом органе». Выгружаем правила регистрации в соответствующий файл из пакета RegistrationRules. Это действие также выполняем для обоих баз.

Доработанные правила обмена и правила регистрации готовы. Теперь в правила корреспондента (CorrespondentExchangeRules) из пакета ЗУП копируем содержимое правил обмена (ExchangeRules) из пакета БП. В правила корреспондента (CorrespondentExchangeRules) из пакета БП копируем содержимое правил обмена (ExchangeRules) из пакета ЗУП.

В итоге должно получиться следующее:

На этом работа в «1С:Конвертация данных 2» завершена. Доработанные пакеты правил конвертации готовы, осталось загрузить их обратно в информационные базы и проверить синхронизацию.

Архивируем файлы из пакетов в Архив ZIP и загружаем в ЗУП и БП свои пакеты конвертации.

Все готово. Осталось протестировать.

Вспомним условия задачи. Необходимо было зарегистрировать к выгрузке справочник «Регистрации в налоговом органе» и проверить, как заполняется ТЧ документа «Отражение зарплаты в бухучете» на стороне «1С:Бухгалтерия предприятия 3».

В источнике «1С:Зарплата и управление предприятием 3» регистрируем к выгрузке наш справочник. Выполняем синхронизацию. Переходим в базу приемник и тоже выполняем синхронизацию для получения данных. Обратим внимание, что теперь в плане обмена появился нужный справочник для регистрации изменений.

Проверяем на стороне «1С:Бухгалтерия предприятия 3»:


Подведем итог. Результат поставленной задачи выполнен успешно. Мы доработали план обмена ЗУП - БП, добавив новый элемент для регистрации изменений и дописали правила конвертации для синхронизации данных.

При разработке правил обмена 1С 8 широко используется возможность программного переопределения поведения правил обмена — механизм обработчиков. Обработчики событий существенно расширяют функционал и являются незаменимым инструментом настройки правил обмена в тех случаях, когда интерактивных возможностей конфигурации недостаточно.

Обработчики и алгоритмы пишутся на языке той платформы, в которой они будут выполняться при обмене.

Если это платформа «1С: Предприятие 7.7», то код обработчиков интегрируется в код обработки выгрузки или загрузки. Соответственно, каждый обработчик или алгоритм выделяется в отдельную функцию и доступен для отладки при обмене.

Если выгрузка или загрузка происходят на платформе «1С: Предприятие 8», то код обработчиков не интегрируется в код обработки обмена данными, а выгружается в файл правил обмена. В процессе обмена данными код обработчиков или алгоритмов берется из файла правил и выполняется непосредственно в контексте оператора «Выполнить». Для отладки кода обработчиков и алгоритмов можно воспользоваться обработкой «Универсальный обмен данными XML».

2018-11-15T19:32:35+00:00

Универсальная обработка "Выгрузка и загрузка данных XML" производит полную или частичную выгрузку данных информационной базы в файл в формате XML. Впоследствии этот файл может быть загружен в информационную базу с помощью этой же обработки. Формат файла выгрузки отличается от формата файла, создаваемого при выгрузке по плану обмена, заголовочной частью.

Обработка может использоваться только в тех случаях, когда информационная база, в которой осуществлялась выгрузка данных, и та, в которой данные загружаются, являются однородными (конфигурации идентичны, данные могут различаться), либо все выгружаемые объекты практически полностью идентичны по составу и типам реквизитов и табличных частей, свойствам "ведущего" объекта метаданных и так далее.

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

Обработка поддерживает выгрузку данных с возможностью задания отбора по периоду. Также реализована проверка объектов на наличие недопустимых символов при обмене через XML.

С уважением, (преподаватель и разработчик ).

Статьи по теме: