Администрирование · 10 мин
Как установить компоненту 1С: полное руководство
Как установить внешнюю компоненту 1С: регистрация DLL, подключение в конфигураторе, работа с драйверами оборудования, разрешение типичных ошибок.
Компоненты в 1С — это внешние модули, которые расширяют возможности платформы: драйверы торгового оборудования, библиотеки для работы со сканерами штрихкодов, компоненты сличения строк, печати штрихкодов и другие. Установка компоненты отличается от установки обычной программы: недостаточно скопировать файл, её нужно зарегистрировать в системе или подключить в конфигурации.
Термин «компонента» в контексте 1С используется в нескольких значениях: внешняя компонента (файл DLL по технологии Native API или COM), COM-объект, драйвер оборудования и компонента, поставляемая внутри конфигурации в виде макета. Порядок установки зависит от того, с каким типом вы работаете, и от того, где будет выполняться код — на клиенте или на сервере.
Большинство проблем при установке связано с разрядностью (32 или 64 бита), недостатком прав и регистрацией не в том окружении. Ниже разобраны все основные сценарии: от ручной регистрации DLL до подключения компоненты из макета конфигурации, а также проверка результата и разбор типичных ошибок.
Определите тип компоненты и место её работы
Перед установкой выясните, что именно вы подключаете. Если поставщик дал файл DLL и инструкцию с командой regsvr32 — это COM-компонента. Если компонента входит в состав конфигурации (например, «Печать штрихкодов», «Сканирование»), она подключается из макета и устанавливается автоматически при первом обращении. Драйверы ККТ, сканеров и весов обычно поставляются отдельным установщиком от вендора оборудования.
Второй вопрос — где компонента будет использоваться. Если код выполняется на клиенте (тонкий, толстый, веб-клиент), компонента должна быть установлена на компьютере пользователя. Если код выполняется на сервере 1С:Предприятия, регистрировать компоненту нужно на сервере, а не на рабочих местах.
Третий момент — разрядность. 32-разрядная компонента не загрузится в 64-разрядный процесс и наоборот. Проверьте разрядность установленного клиента 1С в свойствах ярлыка или в списке установленных программ: путь вроде «C:\Program Files (x86)\1cv8» указывает на 32-разрядную версию.
Уточните у поставщика технологию и разрядность
Она установится автоматически, ручная регистрация не нужна
Нужен установщик от вендора и настройка в разделе подключения оборудования
Регистрация на клиентских машинах не поможет
Установка COM-компоненты через regsvr32
Классический способ регистрации COM-библиотеки — утилита regsvr32, встроенная в Windows. Скопируйте файл DLL в постоянный каталог, например в папку с базой или в отдельный каталог в Program Files. Не регистрируйте компоненту с рабочего стола или из временной папки: после перемещения файла регистрация станет недействительной.
Откройте командную строку от имени администратора и выполните команду регистрации. Для 32-разрядной компоненты на 64-разрядной Windows используйте regsvr32 из каталога SysWOW64, иначе библиотека зарегистрируется не в том разделе реестра.
regsvr32 "C:\Components\MyComponent.dll"
rem Для 32-разрядной DLL на 64-разрядной Windows:
C:\Windows\SysWOW64\regsvr32 "C:\Components\MyComponent.dll"После успешной регистрации появится сообщение об успешном выполнении DllRegisterServer. Если появилась ошибка — чаще всего это недостаток прав, несовпадение разрядности или отсутствие зависимых библиотек. После регистрации объект компоненты можно создавать во встроенном языке через конструкцию Новый COMОбъект с указанием ProgID, который поставщик указывает в документации.
Подключение внешней компоненты из макета конфигурации
Типовые конфигурации хранят компоненты в макетах в виде ZIP-архива, содержащего версии для разных платформ и разрядностей. Подключение выполняется программно: метод ПодключитьВнешнююКомпоненту с параметром «ОбщийМакет.ИмяМакета» извлекает архив, устанавливает компоненту в профиль пользователя и подключает её к сеансу.
Для пользователя это выглядит как автоматический процесс: при первом вызове функции (например, печати штрихкода) платформа предложит установить компоненту. В браузере при работе через веб-клиент потребуется подтвердить установку расширения и самой компоненты — это нормальное поведение, а не ошибка.
Если вы разработчик и добавляете компоненту в свою конфигурацию, создайте общий макет типа «Двоичные данные», загрузите в него ZIP-архив с манифестом и файлами компоненты, затем вызывайте подключение в коде перед созданием объекта компоненты.
- 1Убедитесь, что компонента есть в общих макетах конфигурации
- 2Вызовите функцию, которая использует компоненту (например, печать штрихкода)
- 3При запросе платформы подтвердите установку компоненты
- 4Дождитесь сообщения об успешном подключении
- 5Повторите операцию — объект компоненты должен создаться без ошибок
Установка драйверов торгового оборудования
Драйверы ККТ, сканеров штрихкодов, весов и терминалов сбора данных устанавливаются в два этапа. Сначала запускается установщик от производителя, который регистрирует драйвер в системе. Затем драйвер подключается внутри 1С: в разделе настройки подключаемого оборудования добавляется новое устройство, выбирается драйвер из списка и задаются параметры связи — COM-порт, скорость, адрес устройства.
После настройки обязательно выполните «Тест устройства» — кнопка есть в форме настройки практически всех драйверов. Успешный тест подтверждает, что драйвер установлен корректно и оборудование отвечает. Если тест не проходит, проверьте, не занят ли COM-порт другой программой, и совпадает ли версия драйвера с требованиями конфигурации.
Установка компоненты на сервере 1С
Когда код с компонентой выполняется в серверном контексте — регламентные задания, фоновые процессы, вызовы с тонкого клиента — компонента должна быть зарегистрирована на сервере 1С:Предприятия. Войдите на сервер, скопируйте DLL и зарегистрируйте её через regsvr32 с учётом разрядности серверного процесса rphost.
Учтите, что сервер 1С обычно работает под отдельной учётной записью (USR1CV8 или аналогичной). У этой учётной записи должны быть права на чтение файла DLL и на каталог, в котором он лежит. Отсутствие прав у сервисной учётной записи — частая причина ситуации, когда компонента работает в файловой базе, но не работает в клиент-серверной.
После регистрации на сервере перезапускать службу агента сервера обычно не требуется, но если компонента уже загружалась ранее с ошибкой, перезапуск рабочего процесса помогает сбросить закешированное состояние.
Как выбрать действие
Проверка результата и типичные ошибки
Признак успешной установки — объект компоненты создаётся без исключений, а её методы возвращают ожидаемые данные. Для COM-компонент достаточно выполнить создание объекта в консоли кода или через «Выполнить» во встроенном языке. Для драйверов оборудования — пройти тест устройства. Для компонент из макета — убедиться, что метод ПодключитьВнешнююКомпоненту вернул «Истина».
Типичные ошибки имеют узнаваемые признаки. Сообщение «Класс не зарегистрирован» означает, что COM-компонента не зарегистрирована или зарегистрирована в другой разрядности. Ошибка «Не удалось загрузить внешнюю компоненту» часто указывает на недостающие зависимые библиотеки или блокировку файла антивирусом. Если компонента подключается, но методы недоступны, вероятно, версия DLL не совпадает с той, под которую написан код.
Как проверить результат
Объект создан, методы вызываются
Ошибка «Класс не зарегистрирован» или «Компонента не найдена»
Тест пройден, устройство отвечает
Ошибка связи или занятость порта
Функция работает без прав администратора
Работает только под администратором
Частые вопросы
Можно ли установить компоненту 1С без прав администратора?
COM-компоненту через regsvr32 — нет, регистрация требует прав администратора. Компоненты Native API, подключаемые из макета конфигурации, устанавливаются в профиль пользователя и обычно не требуют повышенных прав.
Как удалить компоненту из системы?
Для COM-компоненты выполните regsvr32 с ключом /u и тем же путём к DLL, затем удалите файл. Компоненты из макетов достаточно удалить из каталога внешних компонент в профиле пользователя.
Почему компонента работает на одном компьютере, но не на другом?
Чаще всего причина в разрядности клиента 1С, отсутствии зависимых библиотек (например, Visual C++ Redistributable), блокировке антивирусом или установке компоненты только в профиль одного пользователя.
Нужно ли устанавливать компоненту на каждое рабочее место?
Если код выполняется на клиенте — да, на каждом компьютере. Если код серверный, достаточно регистрации на сервере. Компоненты из макетов конфигурации устанавливаются автоматически при первом обращении на каждом клиенте.
Что делать, если после обновления конфигурации компонента перестала работать?
Проверьте, не изменилась ли версия компонента в составе конфигурации: при первом обращении после обновления платформа должна переустановить её автоматически. Если этого не произошло, удалите старую версию из профиля и вызовите подключение повторно.
Что важно запомнить
Установка компоненты 1С сводится к трём вопросам: какой это тип компоненты, где выполняется код (клиент или сервер) и какая разрядность у процесса. COM-компоненты регистрируются через regsvr32, компоненты из макетов подключаются автоматически, драйверы оборудования ставятся установщиком вендора и настраиваются в 1С. После установки всегда проверяйте результат тестом или созданием объекта.