О внешних компонентах
Некоторые инструменты из набора ОПИ в своей работе используют внешние компоненты (AddIn) - динамические библиотеки на Rust, содержащие функции, реал изация которых средствами 1С/OS затруднительна или невозможна. Несмотря на то, что при работе с функционалом ОПИ прямое взаимодействие с внешними компонентами не встречается, само их наличие сопряжено с некоторыми проблемами и неочевидными особенностями. Они описаны в этом разделе
Совместимость
Все внешние компоненты, добавляемые в ОПИ, собираются под x64 и x32 версии Windows и Linux. Они хранятся в специальных zip-архивах, состоящих из четырех файлов библиотек - по одному для каждой из платформ соответственно. Однако, в то время как на Windows с их использованием не возникает проблем, на Linux эти компоненты зависимы от наличия в системе трех вещей: glibc, gcc* и OpenSSL**
* Касается CLI и OneScript версий
** Касается библиотек, использующих функционал TLS
glibc
glibc — библиотека C, которая обеспечивает си стемные вызовы и основные функции, такие как open, malloc, printf и т.д. Она всегда есть в дистрибутивах Linux на платформе x86, но может отличаться номером версии. Минимальная версия для работы компонент ОПИ - 2.18. Это соответствует таким дистрибутивам как CENTOS 7, RHEL 7, Fedora 19, Debian 8 и Ubuntu 12.04 (около 2013-2014 г.). На более старых дистрибутивах библиотеки, использующие внешние компоненты, работать не будут
gcc
От версии набора компиляторов gcc зависит наличие в системе нужной версии библиотеки libstdc++.so.6, которая необходима для работы движка внешних компонент в CLI и OSPX версиях ОПИ. Минимальная версия - 7.5.0. Это соответствует CentOS 8, RHEL 8, Fedora 28, Debian 10 и Ubuntu 20.04, а также может быть настроено и на более низких версиях при доступности devtoolset-7
OpenSSL
Библиотеки, имеющие функционал связанный с TLS, для его реализации линкуются к системным библиотекам OpenSSL версии 3.x - libssl.so.3 и libcrypto.so.3. Это относительно новая версия, которая используется по умолчанию в дистрибутивах, начиная с CENTOS 9, RHEL 9, Fedora 36, Debian 12 и Ubuntu 22.04 (около 2022-2023 г.). Для работы в более старых дистрибутивах, использующих OpenSSL 1.1 или старше, OpenSSL 3.x должен быть установлен или собран из исходников отдельно
Информация об использовании
Информацию о том, что библиотека использует внешние компоненты, можно найти на первой странице ее документации по подобным сноскам:
Пожалуйста, ознакомьтесь с разделом "О внешних компонентах" перед началом работы
Узнать больше: "Об использовании OpenSSL во внешних компонентах"
Их отсутствие, в свою очередь, означает, что внешние компоненты при реализации библиотеки не использовались
Внешние компоненты НаКлиенте в версии для 1С:Предприятие
Работа с методами, использующими внешние компоненты, в версии для 1С:Предприятие доступна как на стороне сервера, так и на стороне клиента. Но, в отличии от серверного варианта, где использование компонент скрыто и происходит бесшовно, в клиентском варианте внешние компоненты требуют обязательной интерактивной установки на конкретной клиентской машине. Этот процесс начинается при первом вызове функции для каждой используемой компоненты и сопровождается выводом диалогового окна, а также исключением с информацией о необходимости вызвать ранее запущенную функцию повторно
Кроме автоматической установки компонент по необходимости, выбранные компоненты могут также быть установлены на конкретном клиенте заранее через обработку Панель управления (ОПИ)
При обновлении Открытого пакета интеграций до новой версии, компоненты на клиенте необходимо установить заново через панель управления (пошаговая инструкция присутствует на форме обработки). В противном случае новые функции, реализованные в коде 1С, могут оказаться несовместимы с функциями компонент, которые остались на клиентской машине после предыдущей установки