Перейти к основному содержимому

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

Разработчику

Назначение внешней компоненты

Внешняя компонента — библиотека (.dll, .so), которая расширяет платформу там, где BSL не хватает — ККТ, сканер штрихкода, ТСД, спец. протокол, криптопровайдер.

Внешняя компонента в экосистеме 1С — это программный модуль, расширяющий возможности платформы за счёт интеграции со сторонними библиотеками, оборудованием или специализированными сервисами; она позволяет реализовывать низкоуровневые операции, недоступные средствами встроенного языка, и служит связующим звеном между прикладным решением и внешними ресурсами.

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

ККТ (контрольно‑кассовая техника) — это специализированное оборудование, предназначенное для регистрации расчётов с покупателями и передачи фискальных данных в налоговые органы; в решениях на базе 1С ККТ интегрируется через драйверы и внешние компоненты, обеспечивая формирование чеков, передачу сведений оператору фискальных данных и соблюдение требований законодательства о применении кассовой техники.

Сканер штрихкода — это устройство ввода, преобразующее графическое представление штрихкода в текстовую последовательность символов; в прикладных решениях 1С он используется для ускорения идентификации товаров, номенклатуры и документов, а его взаимодействие реализуется через стандартные интерфейсы ввода, COM‑объекты либо внешние компоненты, учитывающие особенности передачи данных (например, суффикс возврата каретки).

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

Спец. протокол — это согласованный набор правил обмена данными, разработанный для конкретного оборудования, интеграционного шлюза или отраслевого стандарта; в экосистеме 1С такие протоколы применяются для взаимодействия с ККТ, банковскими терминалами, промышленными контроллерами и иными устройствами, где стандартные механизмы обмена оказываются недостаточными; они определяют формат пакетов, последовательность команд, обработку ошибок и таймауты, обеспечивая надёжную передачу данных.

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

ТехнологияСтатус
Native APIРекомендуемая, Windows/Linux/macOS, веб и мобильный клиент
COMLegacy (8.1 и совместимость); на сервере Linux не используют

Native API — это низкоуровневый программный интерфейс, предоставляющий прямой доступ к функциям операционной системы, аппаратным ресурсам или сторонним библиотекам; в контексте интеграции с 1С Native API служит основой для разработки внешних компонент, позволяя выполнять операции, требующие максимальной производительности или прямого управления ресурсами, и обходить ограничения высокоуровневых абстракций платформы.

COM (Component Object Model) — это технология Microsoft для создания и использования программных компонентов в среде Windows, обеспечивающая унифицированный способ вызова методов и доступа к свойствам объектов; в 1С COM применяется для интеграции со сторонними приложениями, автоматизации задач из внешних скриптов и подключения драйверов оборудования, выступая в роли промежуточного слоя между платформой и нативными библиотеками.

Комплект для Native API — четыре файла (Win32/Win64, Linux32/Linux64) + манифест в ZIP; для тонкого и веб-клиента ZIP обязателен.

Манифест — это структурированный файл описания, содержащий метаданные о компоненте: версию, зависимости, требуемые разрешения, точки входа и конфигурацию загрузки; в сценариях интеграции с 1С манифест используется для корректной регистрации внешней компоненты в системе, определения её совместимости с платформой и управления жизненным циклом, включая установку, обновление и удаление.


Схема подключения

Установка внешней компоненты — это процесс развёртывания бинарных файлов, регистрации компонентов в системе и настройки зависимостей, обеспечивающий готовность модуля к использованию в среде 1С; он может включать копирование библиотек в целевые каталоги, регистрацию COM‑объектов, настройку переменных окружения и проверку прав доступа, а также согласование версий платформы и целевой операционной системы.

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

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

  1. УстановитьВнешнююКомпоненту() — однократно на рабочей станции (тонкий/веб-клиент; из макета или базы, не с диска).
  2. ПодключитьВнешнююКомпоненту() — перед каждым использованием в сеансе.
  3. Новый("AddIn.<Имя>.<Расширение>") — вызов API компоненты.
Установка и подключение

Не объединяйте установку и подключение в один блок без условия: повторная установка вызывает интерактивное исключение.


Откуда брать компоненту

Хранение компоненты — это организация размещения файлов внешней компоненты в инфраструктуре предприятия с учётом требований к доступности, безопасности и обновлению; оно может предусматривать централизованное хранение в репозитории, размещение в каталогах информационной базы или на файловых серверах, а также контроль версий, резервное копирование и разграничение доступа, чтобы обеспечить стабильность работы прикладных решений и упростить сопровождение интеграций.

ИсточникТонкий/вебТолстый/сервер
Файл на дискеТолько отдельные .dll/.soДа
Макет конфигурации (ZIP или файлы)ZIP + Установить...Подключить...
ХранилищеЗначения в базеZIP + установкаПодключение

Пример с макета:

УстановитьВнешнююКомпоненту("Обработка.Драйвер.Макет.AddIn");
ПодключитьВнешнююКомпоненту("Обработка.Драйвер.Макет.AddIn", "МойДрайвер");
Объект = Новый("AddIn.МойДрайвер.Компонента");

На сервере и в мобильном приложении — только Native API. Веб-клиент — Native API; COM только в IE на Windows (устаревший сценарий).


Связанные материалы