Внешние компоненты в 1С 8.3

Внешние компоненты

Внешние компоненты 1С — это файлы с расширением dll (или so для Linux), которые представляют из себя динамически подключаемую библиотеку. С помощью внешних компонент можно расширить функциональность платформы 1С.

Внешние компоненты можно использовать на разных операционных системах:

  • Windows
  • Linux
  • macOS

А также может быть 32-х разрядная версия внешней компоненты и 64-х разрядная.

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

  • Google Chrome
  • Microsoft Internet Explorer
  • Mozilla Firefox
  • Safari;

И в мобильной платформе 1С для мобильных операционных систем:

  • Android
  • iOS
  • Windows

Существует две технологии создания внешних компонент для 1С:

  1. COM
  2. Native API

COM

Внешние компоненты разработанные по технологии COM можно использовать только:

  • В тонком и толстом клиентах
  • В веб клиенте, только для ОС Windows

Для подключения внешней компоненты используется метод НачатьПодключениеВнешнейКомпоненты, вторым параметром нужно указать ProgID COM компоненты.

Также можно использовать синхронный метод ПодключитьВнешнююКомпоненту и асинхронный ПодключитьВнешнююКомпонентуАсинх.

На данный момент данная технология является устаревшей, рекомендуется использовать технологию Native API.

Native API

Внешние компоненты разработанные по технологии Native API можно использовать:

  • В тонком и толстом клиентах
  • В веб-клиенте
  • На сервере
  • В мобильном приложении

Внешняя компонента может быть запакована в ZIP-архив или представлена в виде отдельного файла.

Так как внешние компоненты по технологии Native API могут быть использованы как в Windows, так и в Linux, то желательно помещать в архив с компонентой 5 файлов:

  • dll файл 32-х разрядной версии
  • dll файл 64-х разрядной версии
  • so файл 32-х разрядной версии
  • so файл 64-х разрядной версии
  • Файл-манифест

В этом случае при подключении внешней компоненты платформа сама определит какой файл использовать по файлу-манифесту.

Подключение внешней компоненты на клиенте

Перед подключением внешней компоненты на клиенте, ее сначала нужно установить методом НачатьУстановкуВнешнейКомпоненты. Установка выполняется в каталог компьютера клиента %APPDATA%\1C\1Cv8\ExtCompT. Установка выполняется один раз. В дальнейшем перед использованием компоненты ее нужно только подключать. Подключение выполняется методом НачатьПодключениеВнешнейКомпоненты.

Компонента может храниться:

  • На диске в виде отдельного файла
  • В макете с типом двоичные данные или внешняя компонента
  • В базе данных в реквизите с типом ХранилищеЗначения 

Подключение внешней компоненты на сервере

Использование внешних компонент на сервере отличается только тем, что не нужно использовать метод НачатьУстановкуВнешнейКомпоненты и вместо метода НачатьПодключениеВнешнейКомпоненты нужно использовать ПодключитьВнешнююКомпоненту.

Идентификатор компоненты в операторе Новый

Например, поставщик компоненты в описании указал, что расширение называется MyComponent. Тогда идентификатор формируется следующим образом:

  • AddIn — указывается для всех компонент.
  • Идентификатор — произвольный идентификатор, который был указан в методе НачатьПодключениеВнешнейКомпоненты.
  • MyComponent — имя расширения компоненты.

Обновление компоненты на клиенте

После обновления компоненты ее нужно переустановить на клиента вызвав еще раз метод НачатьУстановкуВнешнейКомпоненты. Иногда это не помогает тогда нужно вручную удалить файл компоненты в каталоге %APPDATA%\1C\1Cv8\ExtCompT и установить компоненту заново. Каталог %APPDATA%\1C\1Cv8\ExtCompT не считается кешем и не удаляется при стандартной очистке кеша.

Асинхронная работа с внешней компонентой

Для асинхронной работы с внешней компонентой нужно:

  • Для установки свойства вызвать метод НачатьУстановкуИмяСвойства, где ИмяСвойства = реальному имени свойства.
  • Для получения свойства вызвать метод НачатьПолучениеИмяСвойства, где ИмяСвойства = реальному имени свойства.
  • Для вызова метода использовать НачатьВызовИмяМетода, где ИмяМетода = реальному имени метода.

Также можно использовать асинхронность через обещания:


Подписывайтесь на группу ВКонтакте , где я публикую ссылки на новые статьи с данного сайта, а также интересные материалы с других ресурсов по программированию в 1С
Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Используя этот сайт, Вы даете согласие на использование cookies. На данном этапе Вы можете отказаться от использования cookies, настроив необходимые параметры в своем браузере.
ok