Интеграция и синхронизация - определения
Начнем с определений. Заглянем в Википедию.
Синхронизация (от др.-греч. σa3;γχρονος — одновременный) в информатике обозначает, в частности, синхронизацию данных, т.е. ликвидацию различий между двумя копиями данных. Предполагается, что ранее эти копии были одинаковы, а затем одна из них, либо обе были независимо изменены.
Таким образом, синхронизация — это процесс выравнивания данных и операций между разными системами, чтобы они были в актуальном состоянии и соответствовали друг другу.
Интеграция (от лат. integratio — "восстановление", "восполнение", "соединение") — процесс объединения частей в целое.
Таким образом, интеграция — это связывание различных систем и приложений вместе, чтобы они могли обмениваться данными и работать как единое целое.
Понятно, что для адекватной работы объединенных (интегрированных) систем необходимо, чтобы данные между ними были синхронизированы. Возможно, именно отсюда и идут корни путаницы в понятиях.
Перейдем от общих понятий к 1С:ДО. В системе есть два функционала Синхронизация и Интеграция. Они работают параллельно и независимо.
Синхронизация, как и было сказано выше, отвечает за синхронность данных между 1С:ДО и другой программой.
В свою очередь главной задачей бесшовной интеграции является обеспечение работы с 1С:ДО из другой программы так, как будто отдельной программы 1С:ДО и не существует. Пользователь, находясь внутри своей программы (1С:ERP, 1C:Управление торговлей, 1С:Бухгалтерия) обращается к данным, хранящимся в 1С:ДО, просто переходя на другую закладку в форме справочника. Бесшовная интеграция изначально не предназначена для синхронизации НСИ. Но она может делать это по ходу процесса с теми элементами, которые ей понадобились. Это точечная работа.
Теперь подробнее расскажем о том, как устроен каждый функционал. И разница между ними станет еще очевиднее. Сначала поговорим про Синхронизацию.
Синхронизация в 1С:ДО
В 1С:Документооборот КОРП версии 3.0 синхронизация реализована по принципам универсального обмена. Механизмы, нужные для работы универсального обмена, собраны в БСП – Библиотеке стандартных процедур. Про универсальный обмен "вообще" написано довольно много статей. В основе концепции лежит принцип, что неважно, какой будет вторая сторона обмена. На самом деле обмен идет с некой обобщенной сущностью – универсальным набором данных, стандартизированным и неизменным (условно неизменным. При выпуске новой версии БСП набор данных может меняться).
Пользователь (и даже администратор системы) не управляет составом данных, который предназначен к обмену. Он не может в пользовательском режиме добавить в план обмена справочники, документы или убрать ненужные.
Пользователь (и даже администратор системы) не управляет тем, каким образом преобразуются реквизиты справочников/ документов в ходе обмена. Все это прописано в коде конфигурации и может быть изменено только дополнительной кодировкой.
Посмотрим, синхронизация каких объектов предусмотрена в 1С:ДО. На скрине приведен полный перечень:
Обратите внимание, это только справочники (далеко не все существующие в 1С:ДО) и всего один регистр сведений. В частности, синхронизация справочника «Сотрудники» не предусмотрена.
И тут возникает нюанс. Перечень данных на другой стороне скорее всего будет другой! Например, в 1С:ERP этот перечень гораздо более широкий. Скрин с планом обмена 1С:ERP просто не влезет на экран, поэтому группы свернуты.
1С:ERP тоже обменивается данными не конкретно с 1С:ДО, а с некой "универсальной сущностью". Поэтому готовит к выгрузке все, что может пригодиться для 1С:ДО, 1С:Зарплата и управление персоналом, 1С:Бухгалтерия, 1С:Управление торговлей и т.д. и т.п. При настройке обмена для первоначальной выгрузки со стороны 1С:ERP будет формироваться полный пул данных, включающий и то, что в 1С:ДО не примется. При этом, в процессе подготовки система будет проверять корректность данных перед выгрузкой и может дать просто огромный массив ошибок, без исправления которых синхронизация не взлетит. Напомню, что ошибки могут быть в объектах, которые в 1С:ДО и не придут, но без их исправления не состоится первоначальная выгрузка, не пройдет настройка обмена и синхронизация не заработает.
Вопрос решается снятием с регистрации объектов, которые в 1С:ДО не нужны. Например, определенно можно снять регистрацию со всех документов 1С:ERP и с доброй половины справочников:
Синхронизация может работать через файл, через прямое подключение, через интернет и даже через почтовые сообщения:
Бесшовная интеграция в 1С:ДО
Для работы бесшовной интеграции обязательно используется веб-сервис. Он служит своего рода технологической платформой, на которой работает бесшовная интеграция. Других вариантов не предусмотрено. Обе базы, между которыми предполагается интеграция, должны быть опубликованы на веб-сервере.
Механизмы, обеспечивающие работу бесшовной интеграции со стороны интегрируемого прикладного решения, собраны в БИД – Библиотеку интеграции с 1С:ДО.
Правила бесшовной интеграции доступны для настройки в пользовательском режиме.
Поначалу набор возможностей для настройки интеграции обескураживает – доступны только справочник "Контрагенты", документы и мероприятия:
Кажется, что этого чрезвычайно мало. Однако, на практике оказывается, что этого достаточно, потому что все нужные элементы, которые будут использованы в интегрируемых объектах, будут подтянуты в ходе загрузки данных.
Зато каждое правило пользователь может настроить с точностью до реквизита:
Для заполнения каждого реквизита доступен следующий выбор:
Таким образом, пользователь настраивает правила интеграции сам, с точностью до реквизита.
Тут хочется обратить внимание на особенность настройки реквизита в режиме "Из выражения на встроенном языке". На форме есть переключатель "Место выполнения". Особенность состоит в том, что в результате обмена в 1С:ДО придет объект XDTO. Поэтому если при настройке выражения вы захотите дотянуться до какого-то реквизита 1С:ERP (условно) через точку, то на стороне 1С:ДО у вас это не получится. Надо выставить флаг "на стороне 1С:ERP".
На скрине пример настройки содержания при загрузке приема на работу:
Конечно, до наименования можно и не тянуться через точку. Но на этом примере можно посмотреть, что проверка настройки при указании "Место выполнения" - "На стороне 1С:ДО" выдаст ошибку:
Без «Наименования» проверка ошибку не выдаст. Но и результат выполнения данного выражения вас не порадует (для XDTO нет представления, поэтому выражение не даст нужного результата).
Заключение
На этом мы завершаем краткий сравнительный обзор механизмов синхронизации и интеграции в 1С:Документооборот 3.0. Подробнее о каждом механизме отдельно есть достаточно статей в интернете. На прощание последний пример, иллюстрирующий разницу в работе механизмов.
Допустим, в качестве интегрируемой системы выступает 1С:ERP. В 1С:ERP, например, есть справочник "Статьи движения денежных средств". На стороне 1С:ERP в справочник добавили статью "Платежи за электроэнергию".
В настройку бесшовной интеграции данный справочник не входит. Поэтому в 1С:ДО новая статья появится только в случае ее использования в документах/ справочниках, которые переходят в 1С:ДО. Т.е. в справочнике "Правила загрузки данных" должно существовать правило, в котором указано заполнение статьи из соответствующего реквизита 1С:ERP:
И как только в договоре 1С:ERP будет использована статья "Платежи за электроэнергию" (и как только этот договор пойдет в 1С:ДО), аналогичная статья будет создана в 1С:ДО.
В случае синхронизации элементы справочника будут синхронизироваться по мере добавления в справочник, редактирования, удаления и т.д. И так как справочник "Статьи движения денежных средств" включен в план обмена, то новая статья придет в 1С:ДО с первым же обменом.
Разумеется, синхронизация отработает таким образом, если в настройках указано "Отправлять автоматически":
Сводная таблица по изложенному выше
|
||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|