258 документов
← К списку

Глава 4. Внешние компоненты

страница

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

Процесс написания файла внешней компоненты описан в документации по созданию внешних компонент (https://its.1c.ru/db/metod8dev/content/3221/hdoc). В данном разделе мы не будем касаться их внутреннего устройства, рассмотрим только способы использования готовых внешних компонент в системе «1С:Предприятие».

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

  • Native API ? рекомендуемая технология;
  • COM ? старая технология, существовавшая в версиях «1С:Предприятие 8.1» и младше. Сейчас она поддерживается для совместимости со старыми компонентами.

Это позволяет создавать внешние компоненты:

  • для ОС семейства Windows, ОС семейства Linux и macOS;
  • веб-клиента, работающего в веб-браузерах Microsoft Internet Explorer, Mozilla Firefox, Google Chrome и Safari;
  • мобильного приложения, работающего под управлением мобильных ОС iOS, Android и Windows.

В зависимости от контекста исполнения могут использоваться внешние компоненты, созданные только по «новой» технологии или по любой из этих технологий:

  • толстый и тонкий клиенты могут использовать компоненты, созданные по обеим технологиям;
  • веб-клиент может использовать любые компоненты Native API, а компоненты COM только в том случае, если веб-клиент работает в браузере под управлением ОС семейства Windows;
  • на сервере и в мобильном приложении можно использовать только компоненты Native API.

Внешняя компонента представляет собой файл с расширением dll. Так как «1С:Предприятие» может работать на разных операционных системах с различной разрядностью, разработчикам внешних компонент рекомендуется создавать комплект из четырех файлов: для ОС Windows 32 разряда, ОС Windows 64 разряда, ОС Linux 32 разряда, ОС Linux 64 разряда. Эти файлы могут поставляться:

  • в виде ZIP-архива (рекомендуемый способ для толстого клиента и сервера, а для тонкого клиента, веб-клиента и мобильного приложения это обязательный способ). Архив включает в себя четыре файла внешних компонент и файл-манифест, описывающий назначение каждой из компонент;
  • в виде отдельных файлов.

Внешняя компонента (либо набор внешних компонент) может храниться:

  • на диске (только в виде отдельных файлов);
  • в макете «1С:Предприятия», содержащем двоичные данные (в виде отдельных файлов или ZIP-архива);
  • в информационной базе в реквизите с типом ХранилищеЗначения (в виде отдельных файлов или ZIP-архива).

При работе с компонентами, написанными с использованием Native API, следует придерживаться следующей схемы работы:

  • В интерфейсе реализуется команда, которая вызывает установку внешней компоненты на компьютер пользователя с помощью метода глобального контекста УстановитьВнешнююКомпоненту(). Данная операция обязательна для работы в тонком и веб-клиенте.
  • Компонента подключается с помощью метода ПодключитьВнешнююКомпоненту(). При этом следует помнить, что попытка подключить неустановленную компоненту приведет к ошибке.
  • Подключенная компонента используется согласно предоставленному программному интерфейсу.

СОВЕТ

Не следует объединять в один программный код установку и подключение внешней компоненты. Установка считается однократным событием, и повторная установка вызовет интерактивное исключение.

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

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

Подробнее

Более подробно про работу с внешними компонентами рассказано в документации «1С:Предприятия 8» в разделе «Глава 38. Внешние компоненты».

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