Общие сведения
Механизм интеграции объектов предназначен для обмена объектными данными между приложениями 1С и внешними сервисами. Механизм обеспечивает транспортировку с гарантированной доставкой и не зависит от формата передаваемых данных, не знает об объектах прикладной логики и оперирует только идентификаторами объектов. Интеграция объектов реализована на универсальном транспортном механизме DataTransfer.
Поддерживается режим работы при котором обмен данными инициируется на стороне внешнего сервиса (приложение 1С выступает в роли сервера).
Типовые интеграционные задачи, решаемые с помощью механизма интеграции объектов:
- Настройка интеграции между приложением 1С и внешним сервисом
- Синхронизация счетов на оплату и их статусов между CRM-системой и «1С:Бухгалтерией»
- Синхронизация платежных документов между личным кабинетом Интернет-Банка и «1С:Бухгалтерией»
В качестве формата могут использоваться существующие форматы обмена при их использовании в прикладном решении и во внешней учетной системе, либо собственные, разработанные в процессе решения интеграционных задач, например:
- EnterpriseData - используется для синхронизации данных между приложениями 1С.
- DirectBank - используется для обмена платежными документами с банками напрямую по защищенному каналу связи.
- 1CClientBankExchange - используется для обмена платежными документами с банками при помощи банковских приложений.
Доступные методы
Механизм интеграции объектов поддерживает следующие методы
- setup - настройка интеграции с учетной системой
- get - получение данных из приложения 1С
- post - добавление данных в приложение 1С
- confirm - подтверждение получения данных
- execute - отправка команд
Метод setup
Используется для передачи настроек интеграции из внешнего сервиса в приложение 1С. Настройки передаются в файле с разметкой JSON. Состав передаваемых данных зависит от приложения 1С с которым выполняется интеграция.
Метод get
Служит для получения данных из приложения 1С. Использование данного метода предполагает выполнение следующей последовательности действий:
- Получающая сторона запрашивает изменения
- В приложении 1С создается задание на формирование данных
- Возвращается идентификатор задания
- Получающая сторона проверяет готовность запрошенных данных
- Используя идентификатор задания, полученный на предыдущем шаге, получающая сторона отслеживает подготовку данных. При готовности данных возвращается идентификатор файла собранных данных – zip-архив, содержащий:
- Описание файлов, находящихся в архиве – файл manifest.json. Для каждого файла в архиве указывается обработчик
- Файлы для каждого объекта с именем равным идентификатору объекта
- Используя идентификатор задания, полученный на предыдущем шаге, получающая сторона отслеживает подготовку данных. При готовности данных возвращается идентификатор файла собранных данных – zip-архив, содержащий:
- Получающая сторона выгружает данные для их последующей обработки
- Получающая сторона подтверждает получение данных
- Для этого используется метод confirm – см. ниже
Метод post
Использование данного метода состоит из двух шагов:
- Отправитель формирует пакет данных и отправляет файл данных в приложение для обработки. Данные отправляются в виде zip-архива. В составе архива обязательно должен содержаться файл manifest.json, описывающий файлы данных в этом архиве. После получения данных в приложении 1С планируется задание по их обработке. Отправителю возвращается идентификатор задания.
- Далее, отправитель ожидает завершения обработки данных, периодически отслеживая статус задания. В случае успешной обработки отправителю будет направлено подтверждение с соответствующим кодом.
Метод confirm
Служит для отсылки подтверждения получения данных. В запросе перечисляются полученные файлы, их версии и обработчики. Приложение 1С (или внешний сервис) подтверждает получение подтверждения. После этого синхронизируемые документы будут исключены из списка к отправке.
Метод execute
Данный метод может использоваться для отправки в приложение 1С команд. Примерами команд могут быть – создание объектов (документов, справочников) или выполнение расчетов. После получения команды приложение 1С создает задание на ее обработку. Идентификатор задания возвращается запрашивающей стороне и используется для отслеживания статуса выполнения задания.
В результате выполнения команды могут быть созданы новые объекты. В этом случае они будут сохранены хранилище файлов.
После получения данных внешний сервис может отослать подтверждение получения с помощью метода confirm.