Автоматический обмен данными 1С

Автообін

Хочу поделиться с вами своей реализации обменов данными между различными конфигурациями 1С.

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

Для реализации нам необходимо:

  1. Конвертация данных;
  2. Обработка «Универсальный обмен данными XML» — найти можно на ИТС или в типовых конфигурациях.
  3. Ну и реализовать сам механизм обмена. Вот о нем и пойдет дальше.
Почему я не стал использовать механизм типовых конфигураций или не взял из библиотеки стандартных подсистем? Потому что после последней попытки затянуть подсистему «Электронной почты» вместе с ней еще зашла куча других ненужных данных и объектов.
Что я предлагаю — конфигурации 1С 8.1 и 1С 8.2, которые нужно интегрировать в нужные конфигурации и уже затем настроить Автообмен.
Состав конфигурации, кроме вышеупомянутых объектов:
  1. Обработка обмена — «Универсальный обмен данными XML»;
  2. Регламентное задачи и общий модуль, которое необходимо для настройки обмена по определенному графику
  3. План обмена — для регистрации объектов на обмен с нужными конфигурациями
  4. Регистр сведений — для сохранения настроек Автообмен
  5. Также конфигурации содержат обработки для удобного редактирования настроек и для теста запуска

Для настройки Автообмен нужно сначала создать узлы обмена для нужного плана обмена. В данном случае узел плана обмена будет представлять собой конкретную БД. Если вы планируете обмениваться со многими БД и структура данных обмена будет разное (ризниий состав документов, справочников …), то нужно создать нужное количество планов обмена, а в них соответственно нужное количество узлов.

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

                                                       Основное окно управления настройками Автообмен
Основной алгоритм работы:
  1. Регламентное задачи по указанному периодичностью ищет в регистре настроек активны. Мы можем создать множество настроек обмена, но с помощью опции активности настройки включать или выключать необходимую настройку по обмену данными.
  2. Ищет правило обмена по указанному пути и если его не находит — то считывает из сохранившихся данных.
  3. Далее настраивает обработку «Универсальный обмен данными XML» для обмена — передает туда правило обомните, узел обмена, параметры подключения к БД, дополнительные параметры и запускает обмен в фоне.
  4. После выполнения обработки — зарегистрированные данные на обмен по указанным узлом стираются
  5. Можно протестировать обмен посредством обработки тестирования — во время этого выводятся сообщения при обмене, с помощью которых можно выявить ошибки — в основном в правилах обмена.
Некоторые полезные советы перед запуском:
  • Так как обмен происходит на севере 1С (если клиент-серверная реализация), то нужно проверить возможность создания на севере 1С СОМ-объектов, для подключения к 1С. Ибо случается, что на клиенте коннект проходит успешно, а регламетне задачи завершается с ошибкой.
  • Также нужно проверить, есть ли у пользователя, под которым будет происходить коннект и обмен, права на изменение нужных документов. Например, запись документов, помачення на выделенных объектов.
Есть планы по написанию монитора обмена, но не в ближайшее время.
Скачать

 Конфигурация обмена для 1С 8.1 -- , Скачан 182 раз - Скачать
 Конфигурация обмена для 1С 8.2  -- , Скачан 463 раз - Скачать

  • Максим

    У меня почему-то не проходит обмен данными =(
    Соединение с базой приемником происходит по регламентному заданию, но обмен данными не происходит.
    Необходимо ли в базе приемнике прописывать логику или вся логика должна находится в базе источнике?

    • Максим, спасибо за отзыв.

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

      Для проверки работы обмена нужно сделать следующее:
      1. Проверить, регистрируется ли нужный объект в планах обмена (запросом из таблиц изменения).
      2. Запустить обработку УниверсальныйОбменДаннымиXML, и выгрузить данные в файл. Если без ошибок, значит структура конфигурации источника совпадает со структурой в правилах обмена.
      3. Открыть ИБ приемник, запустить обработку и попробовать загрузить данный из файла. Если и тут ошибки не будет, то тогда нужно детально разбирать.

      • Максим

        При попытке прочитать правила обмена выдает сообщение «Недопустимое значение параметра (параметр номер ‘1’)». Не знаю, почему так.. Конфигурация «Конвертация данных» нормально создает файл правил обмена, никаких ошибок не выдает. Может Вы знаете в чем может быть проблема?

        • Если шибка звучит так — «Ошибка при вызове метода контекста (ВыбратьИзменения): Недопустимое значение параметра (параметр номер «1»)», то могу предположить, что в настройках автообмена вы сделали настройку для узла этой же ИБ. Такого делать нельзя.. Если это так, то нужно создать новый Узел и переделать на него все настройки.
          Если же в настройках все верно, то без близкого анализа подсказать не смогу.

  • Глеб Терещенко

    А как скачать- то подскажите!

    • Amirkhon Amirkhon

      Я тоже не смог скачать как вы скачали!

  • Глеб Терещенко

    о! сорри, нашел!

  • Amirkhon Amirkhon

    Немогу скачать пришлите на почту amirkhon0@mail.ru пожалуйста!!!
    Или скинте в какой облако!

  • Gabit Omarov

    Здравствуйте,

    Ссылка не доступна для скачивания.
    Обновите пожалуйста ссылку.