Администрирование · 12 мин
Как установить внешнюю компоненту в 1С
Как установить внешнюю компоненту в 1С: подключение через макет, регистрация DLL и COM, работа в браузере, типичные ошибки и способы их устранения.
Внешняя компонента в 1С — это подключаемый модуль (обычно файл DLL или ZIP-архив с набором библиотек), который расширяет возможности платформы: работа со сканерами штрихкодов, кассовым оборудованием, криптографией, веб-сервисами и другими функциями, которых нет во встроенном языке. Установка компоненты сводится к её загрузке в информационную базу или регистрации в операционной системе, после чего объекты компоненты становятся доступны из кода 1С.
Способ установки зависит от того, как поставляется компонента и где работает пользователь: в тонком клиенте, толстом клиенте или через веб-браузер. Современные компоненты, написанные по технологии Native API, обычно распространяются в виде ZIP-архива и подключаются программно без прав администратора. Старые COM-компоненты требуют регистрации в реестре Windows и часто становятся источником ошибок при обновлении платформы.
Ниже разобраны все основные сценарии: программное подключение из макета, ручная регистрация DLL, установка в браузере, проверка результата и разбор типичных ошибок. Инструкции подходят для платформы 1С:Предприятие 8.3 и типовых конфигураций, где компоненты подключаются через общие макеты.
Что такое внешняя компонента и когда она нужна
Внешняя компонента — это бинарный модуль, написанный обычно на C++ или другом компилируемом языке, который платформа 1С загружает в свой процесс и предоставляет разработчику новые объекты, методы и свойства. Из встроенного языка обращение к компоненте выглядит как создание объекта через конструктор Новый("AddIn.ИмяКомпоненты.ИмяОбъекта").
Типичные случаи, когда без внешней компоненты не обойтись: подключение торгового оборудования (сканеры, принтеры чеков, терминалы сбора данных), формирование штрихкодов и QR-кодов, работа с электронной подписью, обмен с банковскими системами. Многие типовые конфигурации уже содержат нужные компоненты в макетах и устанавливают их автоматически при первом обращении.
Перед установкой важно понять, какой у вас вариант поставки: ZIP-архив по технологии Native API (современный, кроссплатформенный) или отдельная DLL по COM-технологии (устаревший, только Windows). От этого зависит вся дальнейшая процедура.
Подготовка: что проверить перед установкой
Сначала определите разрядность клиента 1С, под которым работают пользователи. Компонента должна содержать библиотеку соответствующей разрядности: 32-битный клиент не загрузит 64-битную DLL и наоборот. Разрядность видна в информации о программе (меню «Сервис» — «О программе») или в диспетчере задач по имени процесса.
Далее уточните источник компоненты. Если она входит в типовую конфигурацию — ничего скачивать не нужно, установка произойдёт автоматически при первом вызове соответствующей функции. Если компоненту поставляет сторонний разработчик, убедитесь, что архив содержит файл манифеста MANIFEST.XML и библиотеки для вашей операционной системы.
ZIP — Native API, подключается программно; DLL — чаще COM, требует regsvr32
Сверить разрядность библиотеки в архиве с разрядностью клиента 1С
Для regsvr32 нужны права администратора, для Native API — нет
В браузере требуется расширение для работы с внешними компонентами
Отдельно проверьте антивирусную политику: некоторые антивирусы блокируют загрузку DLL из временных каталогов, куда 1С распаковывает компоненты. Если на компьютере действуют ограничительные политики (например, запрет исполнения из AppData), согласуйте установку с системным администратором заранее.
Установка компоненты в типовой конфигурации
В типовых решениях (1С:Бухгалтерия, Управление торговлей, ЗУП и других) большинство внешних компонент уже встроены в конфигурацию в виде макетов. Установка происходит автоматически: при первом обращении к функции, использующей компоненту, программа предложит её установить. Достаточно подтвердить действие в диалоге.
- 1Откройте функцию, использующую компоненту (например, печать штрихкода или подключение оборудования)
- 2Дождитесь диалога «Установка внешней компоненты» и подтвердите установку
- 3Дождитесь сообщения об успешной установке
- 4Повторите действие — компонента должна отработать без диалога
Если автоматическая установка не срабатывает, компоненту можно подключить вручную через режим «Конфигуратор»: откройте общий макет с компонентой, сохраните архив на диск и подключите его обработкой или кодом. В некоторых конфигурациях есть служебная обработка «Подключение внешних компонент», доступная через раздел администрирования.
Обратите внимание: компонента устанавливается на каждое рабочее место отдельно. Если в организации десять компьютеров, на каждом при первом использовании появится диалог установки — это нормальное поведение, а не ошибка.
Программная установка из макета или файла
Для собственных разработок компоненту подключают встроенными методами платформы. Стандартный алгоритм состоит из трёх вызовов: установка, подключение, создание объекта. Компонента при этом должна быть помещена в макет конфигурации (тип «Двоичные данные») или лежать в файле на диске.
УстановитьВнешнююКомпоненту("ОбщийМакет.КомпонентаСканера");
ПодключитьВнешнююКомпоненту("ОбщийМакет.КомпонентаСканера", "Scanner", ТипВнешнейКомпоненты.Native);
Сканер = Новый("AddIn.Scanner.BarcodeReader");Метод УстановитьВнешнююКомпоненту() распаковывает архив в профиль пользователя, поэтому прав администратора не требуется. Второй параметр подключения — произвольное имя, под которым компонента будет видна в сеансе; оно должно совпадать с именем, указанным при создании объекта после префикса AddIn.
При работе в клиент-серверном режиме учитывайте контекст выполнения: если код выполняется на сервере, компонента устанавливается и подключается на сервере, а не на компьютере пользователя. Для оборудования, физически подключённого к рабочему месту, вызовы должны выполняться в клиентском контексте.
Регистрация COM-компоненты через regsvr32
Устаревшие компоненты, реализованные как COM-объекты, устанавливаются средствами Windows. Скопируйте DLL в постоянный каталог (например, в папку установки или Program Files), затем запустите командную строку от имени администратора и выполните регистрацию.
regsvr32 "C:\Components\MyComponent.dll"Критический нюанс — разрядность. На 64-битной Windows 32-битную DLL нужно регистрировать через C:\Windows\SysWOW64\regsvr32.exe, а 64-битную — через C:\Windows\System32\regsvr32.exe. Если зарегистрировать компоненту «не той» разрядности, 1С просто не увидит её и выдаст ошибку создания объекта.
После регистрации компонента подключается методом ПодключитьВнешнююКомпоненту() с указанием ProgID, а объект создаётся через Новый COMОбъект() или через AddIn-обёртку, если она предусмотрено поставкой. Проверить регистрацию можно созданием объекта в любом скрипте или через PowerShell.
Установка компоненты при работе через веб-браузер
При работе через браузер (веб-клиент) внешние компоненты требуют установки специального расширения для работы с внешними компонентами — платформа предложит его при первом обращении. Расширение устанавливается в браузер, а сопутствующий модуль — на компьютер пользователя, для чего могут потребоваться права администратора.
После установки расширения механизм работает так же, как в тонком клиенте: вызов УстановитьВнешнююКомпоненту() загружает архив на компьютер пользователя. Учтите, что в веб-клиенте действуют ограничения браузерной песочницы, и не всякая компонента, работающая в тонком клиенте, будет функционировать в браузере — это нужно проверять в документации разработчика компоненты.
Если установка в браузере не удаётся, разрешите в настройках браузера работу расширения для сайта вашего сервера 1С и проверьте, не блокирует ли антивирус загрузку библиотек. В корпоративной сети расширение и модули часто распространяются централизованно через групповые политики.
Проверка результата и типичные ошибки
Корректность установки проверяется тремя признаками: метод установки вернул успех (или не вызвал исключения), подключение компоненты выполнилось без ошибки, объект компоненты создался и отвечает на вызовы. Если хотя бы один шаг падает, ищите причину по тексту исключения.
Как проверить результат
Метод выполнился без исключения, диалог установки подтверждён
Ошибка доступа к файлу или отказ антивируса в журнале
ПодключитьВнешнююКомпоненту вернул Истина
Ошибка «Не найдена внешняя компонента» или несовпадение разрядности
Объект создан, методы компоненты вызываются
Исключение при вызове конструктора AddIn
Самые частые ошибки и их причины:
Если компонента работала и перестала после обновления платформы, проверьте совместимость: иногда требуется обновлённая версия самой компоненты. После обновления конфигурации, наоборот, может потребоваться повторная установка — типовые механизмы делают это автоматически при первом обращении.
Полезно хранить в конфигурации обработку диагностики: попытка подключения компоненты с выводом текста исключения, версии платформы и разрядности клиента. Такая обработка экономит часы при разборе обращений пользователей «не работает сканер».
FAQ
Нужны ли права администратора для установки внешней компоненты?
Для компонент Native API, устанавливаемых методом УстановитьВнешнююКомпоненту(), права администратора не нужны — файлы распаковываются в профиль пользователя. Права администратора требуются для регистрации COM-компонент через regsvr32 и для установки модулей веб-клиента в защищённые каталоги.
Компонента установилась, но объект не создаётся. Что проверить?
Сверьте имя, указанное при подключении, с именем в конструкторе AddIn — они должны совпадать. Затем проверьте разрядность клиента и библиотеки, а также контекст выполнения: код на сервере не видит компоненту, установленную на клиенте, и наоборот.
Нужно ли устанавливать компоненту на каждый компьютер отдельно?
Да, установка выполняется локально на каждом рабочем месте и на сервере отдельно. В типовых конфигурациях это происходит автоматически при первом использовании функции, поэтому достаточно один раз подтвердить диалог установки на каждом компьютере.
Чем Native API отличается от COM-компоненты?
Native API — современная технология: компонента поставляется ZIP-архивом с библиотеками для разных ОС и разрядностей, подключается программно без регистрации в системе и работает в Linux и macOS. COM — устаревшая технология только для Windows, требующая регистрации через regsvr32 и прав администратора.
После обновления платформы компонента перестала работать. Что делать?
Сначала переустановите компоненту штатным способом. Если не помогло — запросите у разработчика компоненты версию, совместимую с новой платформой. До получения обновления можно временно запускать прикладное решение на прежней версии платформы, если она сохранилась на компьютере.
Можно ли подключить компоненту без помещения в макет конфигурации?
Да, методы установки и подключения принимают путь к файлу на диске, например «C:\Components\component.zip». Это удобно на этапе разработки и тестирования. Для промышленной эксплуатации надёжнее хранить компоненту в макете — тогда она версионируется вместе с конфигурацией и доступна всем пользователям.
Что важно запомнить
Современные компоненты Native API устанавливаются программно из ZIP-архива без прав администратора; COM-компоненты регистрируются через regsvr32 с учётом разрядности. Установка выполняется на каждом рабочем месте и на сервере отдельно. Главные причины сбоев — несовпадение разрядности, неверное имя подключения и блокировка антивирусом.