1с сервисы интеграции что это
Механизмы интеграции
Синхронизация данных
Конфигурация «1С:Документооборот» редакции КОРП содержит несколько встроенных планов обмена с другими типовыми конфигурациями на платформе «1С:Предприятие».
Встроенные планы обмена предназначены для автоматической синхронизации данных в ходе совместного использования разных прикладных решений, но могут использоваться и для первоначального наполнения информационной базы.
Внешние правила обмена, поставляемые в составе дистрибутива, предназначены скорее для первоначального наполнения информационной базы, но могут использоваться и для последующей синхронизации данных. В последнем случае обмен нужно будет запускать регулярно вручную.
Встроенные планы обмена используют подсистему Обмен данными «Библиотеки стандартных подсистем» (далее БСП) редакции 2. Это значит, что в составе каждого плана обмена есть макет с правилами регистрации, а также макеты правил обмена и правил обмена конфигурации-корреспондента:
При необходимости комплект правил может быть загружен из файла. Как правило, это делают:
После отладки доработанных правил обмена рекомендуется включить их в состав конфигурации, сняв с поддержки макеты, чтобы:
Обратите внимание:
Правила, загруженные из файла и переставшие соответствовать новой структуре метаданных, не дадут довести до конца штатное обновление информационной базы.
Правила обмена разрабатываются с помощью конфигурации «Конвертация данных» редакции 2.1. Конфигурация бесплатна и доступна по линии ИТС. Рекомендуется использовать типовые правила как основу для разработки, сохранив их в файлы и загрузив в информационную базу «Конвертации данных».
«1С:Документооборот» не поддерживает обмен данными в формате EnterpriseData. Соответственно, для разработки правил обмена не следует использовать конфигурацию «Конвертация данных» редакции 3.
Расширение плана обмена
При включении новых объектов в существующий план обмена следует:
Добавление плана обмена
При разработке собственных планов обмена следует:
Веб-сервисы
Типовая конфигурация «1С:Документооборот» содержит набор веб-сервисов.
Некоторые из них специализированы и служат, например, для обмена с мобильными устройствами или для синхронизации данных с другими информационными базами, разработанными с применением «Библиотеки стандартных подсистем».
Два веб-сервиса, однако, предназначены для интеграции с произвольными внешними программами, как разработанными на платформе «1С:Предприятие», так и любыми другими, способными обращаться к веб-сервисам. Речь идет о веб-сервисах:
Данные веб-сервисы включены во все редакции «1С:Документооборота».
Работа с веб-сервисами из прикладных решений на платформе «1С:Предприятие», как правило, строится следующим образом:
Примеры использования веб-сервисов можно увидеть в «Библиотеке интеграции 1С:Документооборота», поставляемой в составе дистрибутива «1С:Документооборота».
Веб-сервис Files
Веб-сервис использует всего четыре типа объектов:
Все действия, выполняемые этим веб-сервисом, можно выполнить с помощью веб-сервиса DMService. Работа с файлами документов поддерживается только DMService.
Веб-сервис DMService
Свойство objectId представляет собой ссылку на объект «1С:Документооборота» и содержит его представление, идентификатор и тип.
Приведем простейший пример работы с веб-сервисом на встроенном языке платформы «1С:Предприятие». Начнем с получения определений и прокси веб-сервиса (подразумевается, что адрес публикации, имя пользователя и пароль уже получены):
Cоздадим запрос на получение списка внутренних документов:
Определим условие запроса (поиск по наименованию):
Выполним запрос, проверив результат на предмет ошибки:
Разберем ответ, заполнив таблицу названиями и идентификаторами найденных документов:
Подробное описание объектов и операций сервиса дается в составе дистрибутива «1С:Документооборота» (файл «Описание веб-сервисов.html» в каталоге шаблонов). Это описание доступно также из интерфейса демонстрационной конфигурации «Библиотека интеграции с 1С:Документооборотом», которая содержит также более сложные и полезные примеры использования сервиса.
При выпуске новых версий «1С:Документооборота» сервис расширяется и дополняется новыми объектами и свойствами так, чтобы не затронуть работу клиентских приложений, не знающих об этих изменениях. Этого же принципа следует придерживаться при самостоятельном изменении функционала сервиса: например, добавляя новые свойства, устанавливать минимальное количество в 0.
Обработка запросов к сервису сосредоточена в общих модулях:
Присутствуют только в редакции КОРП:
Перед использованием сервиса следует получать его версию и редакцию запросом DMGetVersionRequest и не пользоваться возможностями, которые не поддерживает сервис. Попытка использовать отсутствующие возможности, например, попытка создать исходящее письмо в редакции ПРОФ, приведет к ошибке (возврату DMError ).
Библиотека интеграции 1С:Документооборота
«Библиотека интеграции 1С:Документооборота» (далее БИД) не является самостоятельным прикладным решением, хотя и содержит некоторые демонстрационные объекты, и предназначена для встраивания в прикладные решения на платформе «1С:Предприятие».
БИД может использоваться с любыми версиями «1С:Документооборота», начиная с редакции 1.2.
БИД публикуется в составе дистрибутива «1С:Документооборота» и предназначена для работы с «Библиотекой стандартных подсистем» версии, последней на момент публикации. Однако адаптация БИД к конфигурациям, содержащим более ранние версии БСП, не составляет большого труда, поскольку БИД использует функционал БСП в небольшом объеме.
Более подробное описание «Библиотеки интеграции 1С:Документооборота» и порядка ее встраивания содержится в документации, поставляемой в составе дистрибутива (папка DocDMIL ).
Заметки из Зазеркалья
Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.
Многие наши клиенты используют в своём бизнесе, помимо продуктов 1С, и другие информационные системы от других производителей. Вполне естественным желанием таких клиентов является обеспечить эффективное взаимодействие этих систем.
Продукт «Интеграционная шина»
Для организации взаимодействия систем предлагается следующая последовательность:
При создании Процесса интеграции разработчик не должен знать точное число систем-участников интеграции. Вместо этого он оперирует понятием группа участников, которое объединяет произвольное количество участников, взаимодействующих с «Интеграционной шиной» единообразно. Во время исполнения администратор определяет, к каким группам относится конкретная система-участник, и для этого участника динамически выделяются необходимые ресурсы.
Подключение 1С:Предприятия к «Интеграционной шине»
Для поддержки асинхронного обмена сообщениями в платформе 1С:Предприятие версии 8.3.17 добавлен механизм сервисов интеграции. Обмен сообщениями происходит по каналам, организованным на сервере. Канал – это однонаправленный поток сообщений от отправителя к получателю. Сообщения в канал помещаются последовательно отправителем и последовательно доставляются получателю. Сообщения разных каналов обрабатываются и доставляются параллельно. Сообщение доставляется в шину только в том случае, если зафиксирована транзакция, в которой это сообщение отправлено.
Механизм сервисов интеграции в 1С:Предприятие не является альтернативной механизмам планов обмена, так как отвечает только за транспортировку сообщений, а не за формирование исходящих и интерпретацию входящих сообщений.
Взаимодействие с «Интеграционной шиной» выполняется с гарантированной доставкой сообщения, что означает:
Пример сценария интеграции
Офис отправляет в магазины и на сайт изменения в прайс-листе.
Схема содержит три группы участников: «Офисы», «МагазиныСоСтарымПО» и «МагазиныНа1С». В группе «МагазиныНа1С» объединены участники, которые используют для автоматизации системы на платформе 1С:Предприятие. В группе «МагазиныСоСтарымПО» собраны участники, которые используют ПО других производителей.
В момент изменения прайс-листа в офисе формируется сообщение, содержащее актуальный прайс-лист в формате EnterpriseData. Это сообщение отправляется в канал «ИзОфисов».
В узле «ДляВсех» все сообщения из канала «ИзОфисов» маршрутизируются по трем направлениям:
При настройке такого процесса интеграции разработчику совершенно не важно, сколько магазинов каждого вида будет участвовать в интеграции.
Преимущества нашей «Интеграционной шины»
После знакомства с «Интеграционной шиной» может возникнуть естественный вопрос: рынок ПО класса ESB достаточно обширен, на нем представлено немало достойных продуктов, в том числе и бесплатных; зачем же фирме «1С» делать ещё один продукт, не изобретаем ли мы велосипед?
Мы планируем развивать продукт, в частности, увеличивать количество способов взаимодействия с внешними системами, улучшать средства мониторинга, ввести возможность добавлять сервисы интеграции через расширения, устанавливать связь сервисов интеграции и планов обмена.
Мы планируем этап бета-тестирования «Интеграционной шины» и будем рады помощи партнеров и клиентов. Чтобы участвовать в бета-тестировании продукта нажмите зелёную кнопку «Пробовать» в начале статьи.
1С:Интеграция КОРП
Программный продукт «1С:Интеграция КОРП» применяется для обмена данными между различными системами в виде канонической модели данных.
Реализация межсистемного взаимодействия осуществляется с помощью механизмов, поддерживаемых платформой «1С:Предприятие 8.3».
Продукт «1С:Интеграция КОРП» не является самостоятельным, для работы необходимо наличие установленной платформы «1С:Предприятие 8.3» версии не ниже 8.3.12. Для развертывания программного комплекса необходима установка «1С:Предприятия» в режиме клиент-сервер.
Продукт не является защищенным. Реализован принцип максимальной открытости кода для обеспечения возможности адаптации продукта под нужды конечных пользователей.
Возможности
Программный комплекс «1С:Интеграция КОРП» включает компоненты:
В подсистеме «Центральная база интеграции» реализованы:
В подсистеме «Универсальный коннектор 1С» реализованы:
Во второй версии продукта реализован ряд доработок и улучшений на основании опыта внедрений системы у наших заказчиков. Рассказываем подробнее о нововведениях
Мониторинг состояния транспортного слоя
В центральной базе интеграции теперь выводится информация о состоянии серверов транспортного слоя и количестве сообщений в очередях. Для серверов выводится информация о загрузке ЦП и аптайм работы сервера. Стало удобнее отслеживать основные метрики работы транспортного слоя и узнавать, не переполнена ли какая-то из очередей.
Переотправка и повторная загрузка пакетов
Реализовали удобный функционал по переотправке пакетов, в котором можно отправить как определенные пакеты (по идентификаторам сообщений), так и все пакеты за определенный период для выбранного получателя.
Существует возможность повторной загрузки ранее полученных пакетов, в том числе, сразу в форме элемента справочника «События» (нет необходимости ручного поиска нужного для повтора пакета в журнале).
Замеры времени и оценка производительности
В универсальный коннектор добавлены замеры времени суммарной длительности обращений к транспортному слою. Замеры считаются в рамках работы одного потока и записываются один раз в конце работы потока при его успешном завершении. В качестве веса замера используется количество обработанных пакетов или иных итераций обработки.
Также был проведен рефакторинг замеров по всем регламентам, например, были добавлены замеры длительности прикладной обработки пакетов и проверки конфигурации на изменение.
Активный режим работы
Повышение юзабилити при работе с форматами и правилами
Реализован импорт объектов формата из объектов метаданных с заполнением описания объектов формата по синонимам реквизитов, а также импорт различий из обработки сравнения форматов, а также автогенерация кода правил для регистров сведений.
Подсветка кода, форматов и правил
Стала доступна подсветка xml и xsd документов (например, в журналах отправки и получения). В универсальном коннекторе 1С подсветка поддерживается и для версий платформы ниже, чем 8.3.14
Также для удобной работы и написания кода правил конвертации реализовали подсветку кода встроенного языка 1С, это помогает программистам быстрее ориентироваться в коде и писать его путем автоматического дополнения.
Доработана обработка по управлению версиями формата и конвертаций, которая упрощает настройку за счет подсветки только несопоставленных форматов и правил.
Редактор маршрутов
Реализовали настройку маршрутов для транспортного слоя в визуальном виде без программирования (по принципам low code). Можно реализовать любой произвольный маршрут (для которого есть нужные библиотеки в транспортном слое).
Отложенное выполнение заданий и их контроль
Теперь в универсальном коннекторе задания интеграционной шины (например, по выгрузке данных) можно либо приостановить, либо запланировать к отправке не ранее указанной даты, не меняя приоритет.
В том числе, в случае ошибки при выполнении задания (например, при переполненности очереди получателя), теперь задания откладываются для выполнения на будущее. Информация о приостановленных по причине ошибки заданиях выводится на специальной странице Панели Администратора (нет необходимости ручного контроля и перехода в отдельную форму), из которой их можно выборочно или все сразу повторить.
Стоп-лист на загрузку отдельных объектов метаданных
В системе с внедренным универсальным коннектором администратор теперь может задать в разрезе метаданных признак блокировки загрузки этих объектов при любых обменах от любых отправителей (это может потребоваться, например, если база является эталонной системой для каких-то определенных объектов).
Уведомления по ответственному и переход в журналы
Также теперь доступен быстрый переход из События к соответствующим записям в журнал отправки или получения (определяется автоматически).
Настройка доступности систем
Полностью переработаны инструменты определения прав на то, какая система каким системам может отправлять сообщения. Реализован специальный АРМ, который в табличном виде отображает и позволяет изменить (с подсветкой внесенных изменений) настроенные права для всех систем, которые доступны текущему пользователю. Теперь только администратор каждой отдельной системы может явно указать, какие системы могут ему передавать пакеты.
Способы интеграции с 1С
Какие важнейшие требования предъявляются к бизнес-приложениям? Одними из самых главных являются следующие задачи:
Интеграционные задачи
Интеграционные задачи могут быть разными. Для решения одних достаточно простого интерактивного обмена данными – например, для передачи в банк списка сотрудников для оформления зарплатных пластиковых карт. Для более сложных задач может быть необходим полностью автоматизированный обмен данными, возможно, с обращением к бизнес-логике внешней системы. Есть задачи, носящие специализированный характер, вроде интеграции с внешним оборудованием (например, торговым оборудованием, мобильными сканерами и т.д.) или с унаследованными или узкоспециализированными системами (например, с системами распознавания RFID-меток). Крайне важно для каждой задачи выбрать наиболее подходящий механизм интеграции.
Возможности интеграции с 1С
Существуют различные подходы к реализации интеграции с приложениями 1С, какой из них выбрать – зависит от требований задачи.
Механизмы интеграции в платформе 1С:Предприятие
Импорт/экспорт файлов
Предположим, перед нами стоит задача двунаправленного обмена данными между приложением 1С и произвольным приложением. Например, нам нужно синхронизировать список товаров (справочник Номенклатура) между приложением 1С и произвольным приложением.
Для решения такой задачи можно написать расширение, которое выгружает справочник Номенклатура в файл определенного формата (текстовый, XML, JSON, …) и умеет считывать этот формат.
В платформе реализован механизм сериализации прикладных объектов в XML как напрямую, через методы глобального контекста ЗаписатьXML/ЧтениеXML, так и с помощью вспомогательного объекта XDTO (XML Data Transfer Objects).
Любой объект в системе 1С:Предприятие может быть сериализован в XML представление и наоборот.
Эта функция вернет представление объекта в виде XML:
так будет выглядеть экспорт справочника Номенклатура в XML при помощи XDTO:
Путем несложной переделки кода экспортируем справочник в JSON. Товары будут записаны в массив; для разнообразия приведем англоязычный вариант синтаксиса:
Далее останется только передать данные конечному потребителю. Платформа 1С:Предприятие поддерживает основные интернет-протоколы HTTP, FTP, POP3, SMTP, IMAP, включая их безопасные версии. Также для передачи данных можно использовать HTTP и/или Web-сервисы.
HTTP- и веб-сервисы
Приложения 1С могут реализовывать свои HTTP- и веб-сервисы, а также вызывать HTTP- и веб-сервисы, реализованные сторонними приложениями.
REST интерфейс и протокол OData
Так, URL вида http:// / /odata/standard.odata/Catalog_Номенклатура вернет нам содержимое каталога Номенклатура в формате XML — коллекцию элементов entry (заголовок сообщения пропущен для краткости):
Прибавляя к URL-у строку «?$format=application/json», получим содержимое каталога Номенклатура в формате JSON (URL вида http:// / /odata/standard.odata/Catalog_Номенклатура?$format=application/json ):
Внешние источники данных
В некоторых случаях обмен данными через внешние источники данных может оказаться оптимальным решением. Внешние источники данных – это прикладной объект конфигурации 1С, позволяющий взаимодействовать с любой ODBC-совместимой базой данных как на чтение, так и на запись. Внешние источники данных доступны как в Windows, так и на Linux.
Механизм обмена данными
Механизм обмена данными предназначен как для создания территориально распределенных систем на основе 1С:Предприятия, так и для организации обмена данными с другими информационными системами, не основанными на 1С:Предприятии.
Этот механизм активно используется во внедрениях 1С, и спектр задач, решаемых с его помощью, весьма широк. Это и обмен данными между приложениями 1С, установленными в филиалах организации, и обмен между приложением 1С и сайтом интернет-магазина, и обмен данными между серверным приложением 1С и мобильным клиентом (созданным с помощью мобильной платформы 1С:Предприятия), и многое другое.
Одно из ключевых понятий в механизме обмена данными – это план обмена. План обмена – это особый тип объекта прикладного платформы 1С, определяющий, в частности, состав данных, которые будут участвовать в обмене (какие именно справочники, документы, регистры и т.п.). План обмена содержит также информацию об участниках обмена (так называемых узлах обмена).
Вторая составляющая механизма обмена данными – механизм регистрации изменений. Данный механизм автоматически отслеживает в системе изменения данных, которые должны быть переданы конечным потребителям в рамках плана обмена. С помощью этого механизма платформа отслеживает изменения, произошедшие со времени последней синхронизации, и позволяет минимизировать объем данных, передаваемый в рамках очередного сеанса синхронизации.
Обмен данными происходит при помощи XML сообщений определенной структуры. Сообщение содержит данные, изменившиеся со времени последней синхронизации с узлом, и некоторую служебную информацию. Структура сообщений поддерживает нумерацию сообщений и позволяет получать подтверждения от узла-получателя о приеме сообщений. Такое подтверждение содержится в каждом сообщении, приходящем от узла-получателя, в виде номера последнего принятого сообщения. Нумерация сообщений позволяет понять платформе, какие данные уже были успешно переданы на узел-получатель, и избежать повторной передачи, передавая лишь данные, измененные со времени приема узлом-отправителем последнего сообщения с квитанцией о полученных узлом-получателем данных. При такой схеме работы обеспечивается гарантированная доставка даже при ненадежных каналах передачи и потере сообщений.
Внешние компоненты
В ряде случаев, при решении задач интеграции приходится сталкиваться со специфическими требованиями, например, протоколами взаимодействия, форматами данных, работа с которыми не предусмотрена в платформе 1С:Предприятие. Для такого круга задач в платформе предусмотрена технология внешних компонент, которая позволяет создавать динамически подключаемые модули, расширяющие функционал 1С:Предприятия.
Типичным примером задачи с подобными требованиями, может служить интеграция прикладного решения 1С с торговым оборудованием, начиная от весов и заканчивая кассовыми аппаратами и сканерами штрих-кодов. Внешние компоненты могут быть подключены как на стороне сервера 1С:Предприятия, так и на клиентской части (включая, в том числе, и веб-клиент, а также следующую версию мобильной платформы 1С:Предприятия). Технология внешних компонент предусматривает достаточно простой и понятный программный (C++) интерфейс взаимодействия компоненты с платформой 1С:Предприятие, который должен реализовать разработчик.
Возможности, открывающиеся при использовании внешних компонент, весьма широки. Можно реализовать взаимодействие по специфическому протоколу обмена данными с внешними устройствами и системами, встроить специфические алгоритмы обработки данных и форматов данных и т.п.
Устаревшие механизмы интеграции
В платформе доступны механизмы интеграции, которые не рекомендуется использовать в новых решениях; они оставлены из соображений обратной совместимости, а также на случай, если другая сторона не может работать с более современными протоколами. Один из них – работа с файлами формата DBF (поддерживается во встроенном языке с помощью объекта XBase).
Другой устаревший механизм интеграции – использование технологии COM (доступно только на платформе Windows). Платформа 1С:Предприятие предоставляет два способа интеграции для Windows, использующие технологию COM: Automation-сервер и Внешнее соединение. Они очень похожи, но одним из принципиальных отличий является то, что в случае Automation-сервера запускается полноценное клиентское приложение 1С:Предприятие 8, а в случае внешнего соединения запускается относительно небольшой внутрипроцессный COM-сервер. То есть в случае работы через Automation сервер можно задействовать функционал клиентского приложения, выполнять действия, аналогичные интерактивным действиям пользователя. При использовании внешнего соединения можно использовать только функции бизнес-логики, причем их можно выполнять как на клиентской стороне соединения, где создается внуприпроцессный COM-сервер, так и осуществлять вызов бизнес-логики на стороне сервера 1С:Предприятия.
Также технологию COM можно использовать для обращения к внешним системам из кода приложения на платформе 1С:Предприятие. В данном случае приложение 1С выступает в качестве COM-клиента. Но следует напомнить, что данные механизмы будут работать только в том случае, если сервер 1С функционирует в среде Windows.
Механизмы интеграции, реализованные в типовых конфигурациях
Формат EnterpriseData
В ряде конфигураций 1С (список ниже) на основе описанного выше платформенного механизма обмена данными реализован готовый механизм обмена данными с внешними приложениями, не требующий изменения исходного кода конфигураций (подготовка к обмену данными делается в настройках прикладных решений):
Обмен данными между приложением 1С и сторонним приложением может происходить:
Квитирование сообщений
Приложения 1С ведут учет отправленных и полученных сообщений синхронизации и ожидают того же от сторонних приложений. Это позволяет задействовать механизм нумерации сообщений, описанный выше в разделе «Механизм обмена данными».
Приложения 1С в ходе синхронизации передают только информацию об изменениях, произошедших с бизнес-сущностями со времени последней синхронизации (чтобы минимизировать объем передаваемой информации). При первой синхронизации приложение 1С выгрузит все бизнес-сущности (например, элементы справочника номенклатуры) в формате EnterpriseData в XML-файл (поскольку все они являются «новыми» для внешнего приложения). Стороннее приложение должно обработать информацию из пришедшего от 1С XML-файла и при следующем сеансе синхронизации поместить в файл, отправляемый в 1С, в специальную секцию XML, информацию, что сообщение от 1С за определенным номером успешно принято. Сообщение-квитанция является для приложения 1С сигналом, что все бизнес-сущности успешно обработаны внешним приложением и информацию о них передавать больше не нужно. Помимо квитанции XML-файл от стороннего приложения также может содержать данные для синхронизации со стороны приложения (например, документы реализации товаров и услуг).
После получения сообщения-квитанции приложение 1С помечает все изменения, переданные в предыдущем сообщении, как успешно синхронизированные. Лишь несинхронизированные изменения в бизнес-сущностях (создание новых сущностей, изменение и удаление существующих) будут отправлены во внешнее приложение при следующем сеансе синхронизации.
При передаче данных от внешнего приложения в приложение 1С картина меняется на обратную. Внешнее приложение должно заполнить секцию-квитанцию в XML файле соответствующим образом и поместить бизнес-данные для синхронизации со своей стороны в формате EnterpriseData.
Упрощенный обмен данными без квитирования
Для случаев простой интеграции, когда достаточно только передавать информацию от стороннего приложения в приложение 1С и обратной передачи данных из приложения 1С в стороннее приложение не требуется (например, интеграция онлайн-магазина, передающего информацию о продажах в «1С:Бухгалтерию»), есть упрощенный вариант работы через веб-сервис (без квитирования), не требующий настроек на стороне приложения 1С.
Специализированные интеграционные решения
Существует типовое решение «1С:Конвертация данных», которое использует механизмы платформы для конвертации и обмена данными между типовыми конфигурациями 1С, но может быть также использовано для интеграции со сторонними приложениями.
Интеграция с банковскими решениями
Стандарт «Клиент банк», разработанный специалистами 1С более 10 лет назад, фактически стал стандартом индустрии в России. Следующий шаг в этом направлении – технология DirectBank, позволяющая отправлять платежные документы в банк и получать выписки из банка непосредственно из программ системы «1С:Предприятия» нажатием одной кнопки в программе «1С»; при этом не требуется установка и запуск дополнительных программ на клиентский компьютер.