Общие сведения

Механизм интеграции объектов предназначен для обмена объектными данными между приложениями 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. Получающая сторона запрашивает изменения
    • В приложении 1С создается задание на формирование данных
    • Возвращается идентификатор задания
  2. Получающая сторона проверяет готовность запрошенных данных
    • Используя идентификатор задания, полученный на предыдущем шаге, получающая сторона отслеживает подготовку данных. При готовности данных возвращается идентификатор файла собранных данных – zip-архив, содержащий:
      • Описание файлов, находящихся в архиве – файл manifest.json. Для каждого файла в архиве указывается обработчик
      • Файлы для каждого объекта с именем равным идентификатору объекта
  3. Получающая сторона выгружает данные для их последующей обработки
  4. Получающая сторона подтверждает получение данных
    • Для этого используется метод confirm – см. ниже

Метод post

Использование данного метода состоит из двух шагов:

  1. Отправитель формирует пакет данных и отправляет файл данных в приложение для обработки. Данные отправляются в виде zip-архива. В составе архива обязательно должен содержаться файл manifest.json, описывающий файлы данных в этом архиве. После получения данных в приложении 1С планируется задание по их обработке. Отправителю возвращается идентификатор задания. 
  2. Далее, отправитель ожидает завершения обработки данных, периодически отслеживая статус задания. В случае успешной обработки отправителю будет направлено подтверждение с соответствующим кодом.

Метод confirm

Служит для отсылки подтверждения получения данных. В запросе перечисляются полученные файлы, их версии и обработчики. Приложение 1С (или внешний сервис) подтверждает получение подтверждения. После этого синхронизируемые документы будут исключены из списка к отправке.

Метод execute

Данный метод может использоваться для отправки в приложение 1С команд. Примерами команд могут быть – создание объектов (документов, справочников) или выполнение расчетов. После получения команды приложение 1С создает задание на ее обработку. Идентификатор задания возвращается запрашивающей стороне и используется для отслеживания статуса выполнения задания.

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

После получения данных внешний сервис может отослать подтверждение получения с помощью метода confirm

Примеры использования методов