Рубрика:
Базы данных /
Изучаем «1С»
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
ОЛЕГ ФИЛИППОВ, АНТ-Информ, заместитель начальника отдела разработки, comol@mail.ru
Расширяем функциональность 1С:Предприятия Часть 2. Внешние компоненты Native API
Рассмотрим наиболее современную и функциональную сегодня технологию внешних компонент для платформы 1С:Предприятие – Native API
Зачем 1С понадобилась Native API?
В предыдущей статье [1] мы коснулись внешних компонент, построенных по технологии COM. Данная технология реализована в платформе 1С еще с версии 7.7 (а может, и ранее). От традиционного COM-объекта отличий мы нашли немного. Внешние компоненты получают в распоряжение контекст самого приложения 1С:Предприятие и могут генерировать внешние события для него. В обмен на данную возможность мы должны реализовывать кучу дополнительных функций и иметь не очень красивую схему вызова методов, которая, собственно, создана главным образом во имя возможности вызывать из 1С методы внешней компоненты на русском языке. К счастью, это можно с легкостью обойти и оставить традиционные возможности COM-объекта с контекстом 1С:Предприятия, но без возможности вызова методов на русском языке.
Но в современных версиях платформы и прикладных решений 1С заставляет нас постепенно отказываться от проверенной временем и удобной технологии COM в сторону Native API. Для чего? Отвечая на этот вопрос, можно достаточно долго рассуждать, приводя те или иные доводы как в сторону Native API, так и против. Неоспоримым, на мой взгляд, остается лишь один факт – 1С декларирует поддержку ОС Linux. Следовательно, ни о каких COM-объектах как части платформы или прикладного решения на данной платформе речи быть не может.
Еще у внешних компонент, созданных по технологии Native API, можно отметить следующие преимущества:
- Нет необходимости предварительно регистрировать компоненту в реестре. Все действия по установке компоненты выполняются на этапе вызова в 1С функции «УстановитьВнешнююКомпоненту».
- Стало возможным упаковывать несколько видов одной внешней компоненты в архив специального формата, с которым платформа может работать в автоматическом режиме. В зависимости от типа процессора (x86 или x64) и операционной системы (Windows или Linux) определять, какой файл внешней компоненты целесообразно использовать.
- Внешние компоненты, разработанные по технологии Native API, можно использовать как на сервере, так и на клиенте.
В последний пункт стоит внести небольшое пояснение. В данном случае речь идет о методе «ЗагрузитьВнешнююКомпоненту». Методы «ПодключитьВнешнююКомпоненту» и «Конструкция Новый ComОбъект» успешно работают на сервере. А вот компоненту, которая корректно обрабатывает метод «ПодключитьВнешнююКомпоненту», надо считать COM или Native API?
Есть популярное заблуждение, что в тонком и веб-клиенте можно использовать только внешние компоненты, написанные по технологии Native API. COM-компоненты с браузерами тоже можно использовать. Но вся штука в том, что перед использованием компонент, разработанный по технологии COM, должен быть зарегистрирован в реестре, что с учетом специфики веб-клиента представляется не самым правильным решением. Поэтому Native API-технология позволяет также начать активно использовать внешние компоненты совместно с большинством популярных браузеров.
Статью целиком читайте в журнале «Системный администратор», №9 за 2015 г. на страницах 47-49.
PDF-версию данного номера можно приобрести в нашем магазине.
- Филиппов О. Расширяем функциональность 1С:Предприятия. Часть 1. Внешние компоненты COM. // «Системный администратор», №7-8, 2015 г. – С. 50-53 (http://samag.ru/archive/article/2991).
- Статья на Infostart о внешних компонентах, разработанных по технологии Native API – http://infostart.ru/public/184119.
- Шаблоны внешних компонент на 1С – http://its.1c.ru/db/files/1CITS/EXE/VNCOMPS/VNCOMPS.zip?country=ru.
- Статья о разработке внешних компонент на сайте ИТС – http://its.1c.ru/db/metod8dev/content/3221/hdoc/_top/native%20api@56f4fd.
- Шаблоны внешних компонент на 1С – http://habrahabr.ru/post/191014.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|