Документооборот ПРОФ
Документооборот КОРП
Документооборот государственного учреждения
01.08.2016
Внешние компоненты – это сторонние библиотеки, которые подключаются к системе "1С:Предприятие" для расширения ее возможностей. Внешние компоненты используются для решения задач, которые сложно или невозможно реализовать на встроенном языке "1С:Предприятия".
К таким задачам можно отнести:
Создание внешней компоненты выполняется в программе Microsoft Visual Studio. В качестве примера рассмотрим создание компоненты, которая вырезает часть изображения для распознавания.
Скачать шаблон внешней компоненты (шаблон разработан для сервера Windows, 32 бит).
Самый простой способ создания компоненты - это заменить нижеперечисленные функции в готовом шаблоне внешней компоненты:
{ eVersion = 0, // eGetImageFragment, // eMethLast // Always last };
case eGetImageFragment: return true;
После замены функций необходимо выполнить следующие шаги:
Шаг 1. Скомпилировать компоненту в Release-варианте и получить файл в виде dll-библиотеки, например MyAddIn.dll. Этот файл необходимо разместить рядом с файлом Manifest.xml.
Шаг 2. В файл Manifest.xml необходимо внести следующие изменения:
Шаг 3. Файлы MyAddIn.dll и Manifest.xml поместить в zip-архив с произвольным именем, например MyAddIn.zip.
Подключение внешней компоненты выполняется в конфигураторе и состоит из следующих шагов:
Шаг 1. Добавить общий макет с типом ДвоичныеДанные и назвать его, например МойМакет. Далее загрузить в макет файлы из подготовленного архива с внешней компонентой с помощью команды карточки макета Загрузить из файла - MyAddIn.zip.
Шаг 2. Если компонента еще не установлена (метод ПодключитьВнешнююКомпоненту возвращает Ложь),нужно приступить к установке. Для этого предусмотрен вызов:
Копировать в буфер обменаНачатьУстановкуВнешнейКомпоненты((ОписаниеОповещения, "ОбщийМакет.КомпонентаВырезанияКартинки");
После установки компоненты необходимо перейти к ее подключению.
Шаг 3. Подключение внешней компоненты выполняется в том месте конфигурации, где ее планируется использовать. Пример подключения внешней компоненты можно посмотреть в модуле РаботаСКартинкамиКлиент типовой конфигурации. Пример кода подключения:
Копировать в буфер обменаПодключитьВнешнююКомпоненту("ОбщийМакет. МойМакет", "МойМакетAddIn", ТипВнешнейКомпоненты.Native); МояКомпонента = Новый("AddIn.МойМакетAddIn.AddInNativeExtension");
Текст МойМакетAddIn - произвольный. Единственное условие - он должен совпадать в приведенных выше вызовах.
Строка AddInNativeExtension - уже указана в шаблоне компоненты (RegisterExtensionAs), ее не надо менять.
Переменную МояКомпонента рекомендуется описать в модуле управляемого и обычного приложения как Перем МояКомпонента Экспорт.
Шаг 4. Вызов кода внешней компоненты.
Копировать в буфер обменаКодВозврата = МояКомпонента.МояФункция(Аргумент)
Скачать пример внешней компоненты в архиве 1CGetImageFragment.zip. Компонента вырезает часть изображения с заданными координатами и размером и предназначена только для работы в 32-разрядном Windows, в тонком клиенте.
Подробнее про технологию создания внешних компонент
При написании внешней компоненты как правило возникает необходимость отладки. Самый простой способ отладки – это логирование в текстовый файл.
Более продвинутый способ – отладка в программе Microsoft Visual Studio. Для отладки в Microsoft Visual Studio необходимо:
Важно: при перекомпиляции внешней компоненты, нужно не только заново подготовить zip-файл (dll компоненты + manifest.xml) и загрузить его в общий макет, но и стереть закешированную компоненту dll в каталоге вида C:\Users\Имя пользователя\AppData\Roaming\1C\1Cv82\ExtCompT\.
При разработке внешней компоненты необходимо решить, в каких вариантах она будет работать: Windows/Linux, 32/64 бита, сервер/тонкий клиент/веб-клиент (разные браузеры).
Чтобы компонента работала на сервере, необходимо решить, будет ли она предназначена только для вашей организации или будет использоваться как тиражируемое решение. Для разработки тиражируемого решения необходимо предусмотреть четыре варианта работы – Windows 32бит, Windows 64бит, Linux 32бит, Linux 64бит. Подробнее.
Чтобы компонента работала на клиенте, необходимо решить, будет ли она предназначена только для вашей организации или будет использоваться как тиражируемое решение. Для разработки тиражируемого решения необходимо предусмотреть четыре варианта работы – Windows 32бит, Linux 32бит, Linux 64бит, сборки для разных веб-браузеров. Подробнее.