Способы интеграции 1с с внешними системами

Механизмы интеграции


Синхронизация данных

Конфигурация «1С:Документооборот» редакции КОРП содержит несколько встроенных планов обмена с другими типовыми конфигурациями на платформе «1С:Предприятие».

Редакции ПРОФ и ДГУ не содержат таких планов обмена. Тем не менее, все редакции поддерживают обмен данными с помощью встроенной обработки УниверсальныйОбменДаннымиXML , использующей внешние правила обмена, загружаемые из файла. Собственные планы обмена можно добавить в любую из редакций.

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

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

Встроенные планы обмена используют подсистему Обмен данными «Библиотеки стандартных подсистем» (далее БСП) редакции 2. Это значит, что в составе каждого плана обмена есть макет с правилами регистрации, а также макеты правил обмена и правил обмена конфигурации-корреспондента:

  • Правила регистрации используются в «1С:Документообороте» для определения необходимости регистрации записываемого объекта к выгрузке в конфигурацию-корреспондент.
    • Типовые правила регистрации тривиальны (содержат только перечень регистрируемых объектов без дополнительных условий).
    • Автоматическая регистрация изменений в планах обмена выключена, для регистрации используется стандартная механика БСП, анализирующая изменения в выгружаемых полях перед регистрацией.
  • Правила обмена используются для выгрузки данных из «1С:Документооборота» в конфигурацию-корреспондент.
  • Правила обмена корреспондента используются в «1С:Документообороте» только в части кода обработчиков, выполняемых на стороне «1С:Документооборота» после загрузки.

При необходимости комплект правил может быть загружен из файла. Как правило, это делают:

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

После отладки доработанных правил обмена рекомендуется включить их в состав конфигурации, сняв с поддержки макеты, чтобы:

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

Обратите внимание:
Правила, загруженные из файла и переставшие соответствовать новой структуре метаданных, не дадут довести до конца штатное обновление информационной базы.

Правила обмена разрабатываются с помощью конфигурации «Конвертация данных» редакции 2.1. Конфигурация бесплатна и доступна по линии ИТС. Рекомендуется использовать типовые правила как основу для разработки, сохранив их в файлы и загрузив в информационную базу «Конвертации данных».

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

Расширение плана обмена

При включении новых объектов в существующий план обмена следует:

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

Загрузить измененные правила из файлов и после отладки подменить ими типовые макеты.

Добавление плана обмена

При разработке собственных планов обмена следует:

  1. Создать новый план обмена на стороне обеих конфигураций. Имя плана обмена должно быть одинаковым в обеих конфигурациях. Состав обязательных процедур модуля менеджера плана обмена приведен в документации к подсистеме Обмен данными «Библиотеки стандартных подсистем» соответствующей версии.
  2. Включить в состав планов обмена объекты, участвующие в обмене, а также регистр сведений СоответствиеОбъектовИнформационныхБаз , запретив авторегистрацию изменений. Использование собственного механизма регистрации БСП позволит избежать выгрузки объектов, изменившихся только в части не участвующих в обмене реквизитов.
  3. Создать подписки на события, аналогичные описанным выше, и обработчики для них. Лучше создать для этого отдельный общий модуль, не снимая с поддержки общий модуль ОбменДаннымиСобытияДокументооборот .
  4. Включить новый план обмена в тип параметра общих команд подсистемы Обмен данными . Проще всего найти нужные команды, выполнив в Конфигураторе поиск ссылок на типовой план обмена.
  5. Включить новый план обмена в код процедуры ПолучитьПланыОбмена общего модуля ОбменДаннымиПереопределяемый .
  6. При необходимости создать формы настройки плана обмена (см. документацию к «Библиотеке стандартных подсистем», а также примеры в планах обмена с конфигурациями «1С:Бухгалтерия» предприятия и «1С:Управление производственным предприятием»).
  7. Сохранить описания обновленных конфигураций в файлы с помощью обработки MD8 Exp.epf , входящей в состав дистрибутива конфигурации «Конвертация данных».
  8. Загрузить описания конфигураций в информационную базу «Конвертации данных».
  9. Разработать два набора правил обмена и два набора правил регистрации для каждой из сторон обмена.
  10. Добавить оба набора правил обмена и по одному набору правил регистрации в каждую конфигурацию в качестве макетов плана обмена.
  11. Настроить синхронизацию данных и отладить ее.

Обратите внимание:
Правила обмена, зачитанные из макетов в составе конфигурации, кэшируются в регистре сведений ПравилаДляОбменаДанными . При отладке рекомендуется использовать загрузку правил обмена из файла. Для обновления правил из макета следует изменить номер версии конфигурации или выполнить загрузку вручную по команде Загрузить правила… , выбрав вариант Из конфигурации .

Веб-сервисы

Типовая конфигурация «1С:Документооборот» содержит набор веб-сервисов.

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

Два веб-сервиса, однако, предназначены для интеграции с произвольными внешними программами, как разработанными на платформе «1С:Предприятие», так и любыми другими, способными обращаться к веб-сервисам. Речь идет о веб-сервисах:

  • Files – простой сервис, поддерживающий работу с файлами и папками «1С:Документооборота» извне.
  • DMService – поддерживает работу с основными объектами и функциями «1С:Документооборота». Перекрывает функционал веб-сервиса Files . Используется «Библиотекой интеграции 1С:Документооборота».

Данные веб-сервисы включены во все редакции «1С:Документооборота».

Работа с веб-сервисами из прикладных решений на платформе «1С:Предприятие», как правило, строится следующим образом:

  1. Определяется способ хранения и редактирования настроек подключения к веб-сервису. Настройки состоят из:
    • Адреса веб-сервиса;
    • Имени пользователя и пароля (в текущих версиях платформы поддерживается только аутентификация «1С:Предприятия», поэтому следует либо предоставить пользователям интегрируемого прикладного решения возможность ввести имя пользователя и пароль, либо использовать для доступа служебную учетную запись, для которой запрещен интерактивный вход);
    • Таймаута при обращении к сервису (при низком качестве соединения, а также при первом обращении к сервису задержки могут быть значительными).
  2. Определяется способ получения WSПрокси для обращения к веб-сервису. Операции создания WSОпределений и WSПрокси достаточно затратны, поэтому рекомендуется выносить получение реквизитов, в отдельный общий модуль с повторно возвращаемыми значениями.
  3. Создаются процедуры и функции, являющиеся обертками для функционала веб-сервиса на стороне прикладного решения. Непосредственную работу с объектами XDTO рекомендуется инкапсулировать в них, чтобы облегчить доработки при изменении функционала сервиса.

Примеры использования веб-сервисов можно увидеть в «Библиотеке интеграции 1С:Документооборота», поставляемой в составе дистрибутива «1С:Документооборота».

Веб-сервис Files

Веб-сервис использует всего четыре типа объектов:

  • File – файл в папке.
  • Folder – папка файлов.
  • ShortFileInfo – сведения о файле, возвращаемые сервисом после его создания.
  • FileList – список файлов, отобранных по условиям.

  • GetFileList – получает список файлов в указанной папке.
  • GetFile – получает файл по указанному коду файла.
  • AddFile – добавляет файл в указанную папку.
  • DeleteFile – помечает файл на удаление.
  • FindFolder – находит папку по наименованию в указанной родительской папке.
  • AddFolder – создает новую папку в указанной родительской папке.

Все действия, выполняемые этим веб-сервисом, можно выполнить с помощью веб-сервиса DMService. Работа с файлами документов поддерживается только DMService.

Веб-сервис DMService

Сервис использует XDTO-пакет DM. Пакет содержит несколько десятков прикладных объектов, являющихся представлениями таких объектов «1С:Документооборота», как файлы, документы, процессы, задачи и так далее. Все они — потомки абстрактного DMObject и имеют общие свойства objectId и externalObject .

Свойство objectId представляет собой ссылку на объект «1С:Документооборота» и содержит его представление, идентификатор и тип.

Свойство externalObject представляет собой ссылку на объект интегрируемой программы и так же содержит его представление, идентификатор и тип. Свойство заполняется сервисом автоматически, если объект «1С:Документооборота» был ранее связан с объектом интегрируемой конфигурации, например, при создании или записи с заполненным свойством externalObject .

Сервис поддерживает всего одну операцию, execute . В качестве параметра передается объект-потомок DMRequest . Требуемая операция и ее параметры определяются типом переданного объекта и его свойствами. Например, запрос DMGetObjectListRequest получает список объектов типа, указанного в свойстве type по условиям, указанным в свойстве query .

Результат операции возвращается в объекте-потомке DMResponse . В простейших случаях это объект DMOK . В случае ошибки возвращается DMError , содержащий краткое ( subject ) и полное ( description ) описание ошибки.

Для большинства запросов существуют парные им объекты-ответы, содержащие результат выполненной операции. Например, список объектов, полученный вызовом DMGetObjectListRequest , возвращается в объекте DMGetObjectListResponse .

Приведем простейший пример работы с веб-сервисом на встроенном языке платформы «1С:Предприятие». Начнем с получения определений и прокси веб-сервиса (подразумевается, что адрес публикации, имя пользователя и пароль уже получены):

Cоздадим запрос на получение списка внутренних документов:

Определим условие запроса (поиск по наименованию):

Выполним запрос, проверив результат на предмет ошибки:

Разберем ответ, заполнив таблицу названиями и идентификаторами найденных документов:

Подробное описание объектов и операций сервиса дается в составе дистрибутива «1С:Документооборота» (файл «Описание веб-сервисов.html» в каталоге шаблонов). Это описание доступно также из интерфейса демонстрационной конфигурации «Библиотека интеграции с 1С:Документооборотом», которая содержит также более сложные и полезные примеры использования сервиса.

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

Обработка запросов к сервису сосредоточена в общих модулях:

  • ОбработкаЗапросовXDTO – общий вход для всех вызовов
  • ОбработкаЗапросовXDTOБизнесПроцессыИЗадачи
  • ОбработкаЗапросовXDTOДокументы
  • ОбработкаЗапросовXDTOФайлы

Присутствуют только в редакции КОРП:

  • ОбработкаЗапросовXDTOКорп
  • ОбработкаЗапросовXDTOОбмен
  • ОбработкаЗапросовXDTOПочта
  • ОбработкаЗапросовXDTOУчетВремени

Перед использованием сервиса следует получать его версию и редакцию запросом DMGetVersionRequest и не пользоваться возможностями, которые не поддерживает сервис. Попытка использовать отсутствующие возможности, например, попытка создать исходящее письмо в редакции ПРОФ, приведет к ошибке (возврату DMError ).

Доработки рекомендуется вносить в модуль ОбработкаЗапросовXDTO Переопределяемый . Его процедуры и функции позволяют провести дополнительное изменение объектов XDTO при их создании по объектам «1С:Документооборота» и наоборот.

Библиотека интеграции 1С:Документооборота

«Библиотека интеграции 1С:Документооборота» (далее БИД) не является самостоятельным прикладным решением, хотя и содержит некоторые демонстрационные объекты, и предназначена для встраивания в прикладные решения на платформе «1С:Предприятие».

БИД может использоваться с любыми версиями «1С:Документооборота», начиная с редакции 1.2.

БИД публикуется в составе дистрибутива «1С:Документооборота» и предназначена для работы с «Библиотекой стандартных подсистем» версии, последней на момент публикации. Однако адаптация БИД к конфигурациям, содержащим более ранние версии БСП, не составляет большого труда, поскольку БИД использует функционал БСП в небольшом объеме.

Более подробное описание «Библиотеки интеграции 1С:Документооборота» и порядка ее встраивания содержится в документации, поставляемой в составе дистрибутива (папка DocDMIL ).

Источник

Читайте также:  Определите способ словообразования белизна
Оцените статью
Разные способы