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