Telegram и WhatsApp в России работают с перебоями. Пишите нам в чат на сайте: ответ придёт и в окно, и на почту. Открыть чат

  1. Главная
  2. База знаний
  3. Внешняя компонента 1С
Статья

Внешняя компонента 1С

Что такое внешняя компонента в 1С:Предприятии 8.3, для чего используется, как подключить и установить компоненту, примеры применения и типичные ошибки.

Опубликовано  ~ 7 минут чтения

Внешние компоненты позволяют расширять возможности платформы «1С:Предприятие 8» без изменения ее исходного кода. С их помощью программы 1С могут взаимодействовать с торговым оборудованием, операционной системой, сторонними приложениями и специализированными программными библиотеками.

В этой статье разберем, что представляет собой внешняя компонента 1С, для каких задач она используется, чем отличается от внешней обработки и расширения, как правильно ее установить и что делать, если компонента не работает.

Что такое внешняя компонента 1С

Внешняя компонента 1С — это отдельный программный модуль, который подключается к платформе «1С:Предприятие» и предоставляет ей дополнительные функции.

В отличие от обычного кода на встроенном языке 1С, внешняя компонента разрабатывается с использованием других языков программирования и специальных интерфейсов взаимодействия с платформой.

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

Внешняя компонента может предоставлять:

  • Методы для выполнения определенных операций.
  • Свойства для получения и изменения параметров.
  • События для передачи информации в 1С.
  • Возможности взаимодействия с внешними устройствами и программными библиотеками.

После подключения компоненты разработчик может обращаться к предоставляемым ею методам из программного кода 1С.

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

Для чего используются внешние компоненты

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

Подключение торгового оборудования

Одна из наиболее распространенных задач — взаимодействие с оборудованием:

  • Сканерами штрихкодов.
  • Принтерами этикеток.
  • Электронными весами.
  • Терминалами сбора данных.
  • Кассовым и другим специализированным оборудованием.

Компонента обеспечивает обмен командами и данными между 1С и устройством.

Например, при считывании штрихкода внешняя компонента может передать в 1С событие, после чего программа найдет соответствующий товар в справочнике номенклатуры.

Взаимодействие со сторонними программами

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

Например:

  • Специализированными программами обработки документов.
  • Библиотеками шифрования и электронной подписи.
  • Системами управления оборудованием.
  • Программами, предоставляющими собственные API.

При этом для обмена данными с обычными HTTP-сервисами внешняя компонента часто не требуется: платформа 1С имеет встроенные механизмы HTTP-запросов.

Выполнение специализированных операций

Внешняя компонента может предоставлять функции, реализация которых на встроенном языке 1С затруднительна или нецелесообразна.

Например, это могут быть операции с нестандартными форматами данных, использование специализированных алгоритмов или взаимодействие с системными библиотеками.

Чем внешняя компонента отличается от внешней обработки и расширения 1С

Несмотря на похожие названия, это разные механизмы расширения функциональности 1С.

ХарактеристикаВнешняя компонентаВнешняя обработкаРасширение
НазначениеДополнительные программные возможностиВыполнение прикладных задачИзменение и дополнение конфигурации
Типичный форматDLL, SO или ZIP-пакетEPFCFE
Основная технологияNative API, COM и другие поддерживаемые механизмыВстроенный язык 1СМеханизм расширений платформы
ПодключениеЧерез механизмы внешних компонентОткрытие файла или регистрация обработкиПодключение расширения к информационной базе
ПримерДрайвер оборудованияЗагрузка прайс-листа поставщикаДобавление реквизитов и изменение форм

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

Эти механизмы могут использоваться совместно. Например, внешняя обработка может подключать внешнюю компоненту для выполнения определенной операции.

Какие бывают внешние компоненты 1С

Компоненты Native API

Native API — специальный интерфейс платформы «1С:Предприятие», предназначенный для разработки внешних компонент.

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

Такие компоненты обычно поставляются в виде библиотек и установочных ZIP-архивов.

Компоненты COM

COM — технология взаимодействия программных объектов, применяемая преимущественно в Windows.

COM-компоненты могут предоставлять функции, доступные из кода 1С через соответствующие механизмы платформы.

Следует учитывать, что COM зависит от Windows и не является универсальным решением для Linux, macOS и веб-клиента.

Как установить внешнюю компоненту в 1С

Способ установки зависит от типа компоненты, используемой конфигурации и того, где она должна выполняться: на компьютере пользователя или на сервере 1С.

Рассмотрим основные варианты.

Способ 1. Установка через интерфейс программы 1С

В типовых конфигурациях, использующих соответствующую подсистему БСП, может быть предусмотрен специальный интерфейс для управления внешними компонентами.

Общий порядок установки:

  1. Откройте информационную базу 1С с правами администратора.
  2. Перейдите в раздел Администрирование.
  3. Откройте пункт Печатные формы, отчеты и обработки.

    Раздел печетные формы, отчеты и обработки
  4. Выберите Внешние компоненты, если этот пункт присутствует в вашей конфигурации.

    внешние компоненты
  5. Нажмите Добавить из файлов.

    добавить из файлов
  6. Укажите архив с компонентой, предоставленный разработчиком.
выбора архива с компонентой

7. Подтвердите загрузку, предварительно убедившись в надежности источника файла.

предупреждение безопасности
создание внешней компоненты

8. Проверьте, что компонента появилась в списке.

внешняя компонента установлена

Названия разделов и наличие указанных команд зависят от конфигурации и ее версии.

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

Некоторые типовые компоненты также могут загружаться и обновляться автоматически через механизмы интернет-поддержки 1С.

Способ 2. Программная установка и подключение

Разработчик может организовать установку и подключение компоненты непосредственно из кода 1С.

Для этого платформа предоставляет специальные методы:

  • УстановитьВнешнююКомпоненту() — установка компоненты из указанного источника.
  • ПодключитьВнешнююКомпоненту() — подключение установленной или доступной компоненты.
  • Новый("AddIn...") — создание объекта подключенной компоненты.

При работе с Native API установка и подключение являются разными операциями.

Обычно установка выполняется один раз, а подключение — при необходимости использования компоненты в конкретном сеансе работы.

Конкретный программный код зависит от способа поставки компоненты, ее идентификатора, типа и места выполнения.

Как используется внешняя компонента после установки

После успешного подключения внешняя компонента становится доступна программному коду 1С.

Общий принцип работы следующий:

  1. Программа 1С инициирует подключение компоненты.
  2. Платформа загружает компоненту в поддерживаемую среду выполнения.
  3. Код 1С создает объект компоненты.
  4. Через объект вызываются методы и используются свойства компоненты.
  5. Компонента выполняет необходимые операции и возвращает результаты либо формирует события.

Рассмотрим условный пример.

Предположим, внешняя компонента предоставляет метод получения данных от специализированного устройства.

Программа 1С вызывает этот метод, получает результат и записывает необходимые сведения в информационную базу.

При этом внешний модуль отвечает за взаимодействие с устройством, а код 1С — за обработку полученной информации.

Названия методов и параметров определяются разработчиком конкретной компоненты. Универсального набора методов для всех внешних компонент не существует.

Где устанавливается внешняя компонента: на сервере или компьютере пользователя

Это один из наиболее важных вопросов при внедрении внешних компонент.

Место установки зависит от того, где выполняется программный код, использующий компоненту.

На компьютере пользователя

Такой вариант применяется, если компонента должна взаимодействовать с локальным оборудованием или программами, установленными на рабочем месте.

Например, с подключенным к компьютеру сканером или специализированным устройством.

На сервере 1С

Серверное выполнение используется, если операции должны выполняться централизованно и не зависят от конкретного рабочего места.

В этом случае необходимо убедиться, что компонента поддерживает серверное выполнение, операционную систему сервера и соответствующую архитектуру.

В веб-клиенте

Использование внешних компонент в веб-клиенте имеет дополнительные особенности, связанные с поддерживаемыми технологиями, установкой и разрешениями безопасности.

Не каждая внешняя компонента может работать в веб-клиенте.

Перед приобретением или установкой необходимо проверить совместимость с используемым вариантом запуска 1С.

Почему внешняя компонента может не работать

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

Рассмотрим наиболее распространенные причины.

1. Несовместимость архитектуры

Компонента может быть собрана для архитектуры, отличающейся от архитектуры процесса 1С.

Например, библиотека, предназначенная только для 32-разрядного процесса, не сможет непосредственно загрузиться в 64-разрядный процесс.

Решение: проверить архитектуру компоненты и среды, в которой она должна выполняться.

2. Несовместимость операционной системы

Библиотека, разработанная исключительно для Windows, не обязательно будет работать на сервере 1С под Linux.

Решение: уточнить у разработчика поддерживаемые операционные системы и наличие соответствующих версий компоненты.

3. Компонента не установлена или не подключена

Наличие файла на компьютере еще не гарантирует, что платформа сможет его использовать.

Решение: проверить выполнение процедур установки и подключения, а также правильность идентификатора компоненты.

4. Отсутствуют необходимые зависимости

Некоторым компонентам требуются дополнительные системные библиотеки или программные пакеты.

Решение: проверить документацию разработчика и установить необходимые зависимости.

5. Недостаточно прав или запрещено подключение

Платформа 1С и операционная система могут ограничивать загрузку внешнего программного кода.

Решение: проверить настройки безопасности, права пользователя и разрешения на подключение компоненты.

Не рекомендуется отключать механизмы защиты без понимания последствий.

6. Компонента установлена не там, где выполняется код

Например, компонента установлена на компьютере пользователя, а вызов выполняется на сервере 1С.

Решение: определить контекст выполнения программного кода и обеспечить доступность компоненты в соответствующей среде.