Расширяем функциональность 1С:Предприятия Часть 1. Внешние компоненты COM::Журнал СА 7-8.2015
www.samag.ru
Льготная подписка для студентов      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
О журнале
Журнал «БИТ»
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

Jobsora

ЭКСПЕРТНАЯ СЕССИЯ 2019


  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
28.05.2019г.
Просмотров: 1894
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 1936
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 1498
Комментарии: 0
Django 2 в примерах

 Читать далее...

28.05.2019г.
Просмотров: 1098
Комментарии: 0
Введение в анализ алгоритмов

 Читать далее...

27.03.2019г.
Просмотров: 1667
Комментарии: 1
Arduino Uno и Raspberry Pi 3: от схемотехники к интернету вещей

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

Электронка - 2020!

 Расширяем функциональность 1С:Предприятия Часть 1. Внешние компоненты COM

Архив номеров / 2015 / Выпуск №7-8 (152-153) / Расширяем функциональность 1С:Предприятия Часть 1. Внешние компоненты COM

Рубрика: Базы данных /  Изучаем «1С»

Олег Филиппов ОЛЕГ ФИЛИППОВ, АНТ-Информ, заместитель начальника отдела разработки, comol@mail.ru

Расширяем функциональность 1С:Предприятия
Часть 1. Внешние компоненты COM

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

Опытные разработчики 1С уже, наверное, по первым трем словам названия статьи догадались, что речь пойдет о внешних компонентах для 1С:Предприятия. Эта технология существует еще со времен платформы 1С:Предприятие 7.7 (или более ранней). Исторически появилась в основном для решения задач взаимодействия с торговым оборудованием (сканерами ШК, электронными весами, ККМ), в ходе которых возникает необходимость обработки платформой 1С определенных событий, инициируемых оборудованием. Такие события являются не чем иным, как поступающими на COM/LPT-порты последовательностями байт. Конечно, адаптировать платформу 1С для работы с такими низкоуровневыми механизмами было бы не очень правильно, поэтому придумали технологию внешних компонент для 1С:Предприятия.

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

Что такое внешние компоненты

Внешние компоненты, как было сказано выше, появились в 1С:Предприятии еще с версии 7.7. Изначально по традиции разработчики платформы 1С «не заморачивались», и внешние компоненты представляли собой объект с определенными обязательными свойствами и методами. В том же виде компоненты существуют и по сей день. То есть компоненты, написанные для 1С:Предприятия 7.7, будут (в теории) работать и с 1С:Предприятием 8.3.

На практике существует ряд тонкостей: если внешняя компонента активно взаимодействует с самой платформой, то ее функции будут специализированными для конкретной версии.

С версии 8.2 в 1С:Предприятии появилась новая технология разработки внешних компонент, так называемая NativeAPI. Компоненты, написанные по этой технологии, уже не являются COM-объектами. С одной стороны, это плюс – данные компоненты не требуют регистрации, с другой, использование их еще где-либо, кроме платформы 1С:Предприятие, невозможно. Несколько сложнее стала разработка внешних компонент, чуть большее количество обязательных интерфейсов они должны поддерживать. Но о ней речь пойдет в следующей статье.

Внешние компоненты и технология COM

Подробно описывать саму технологию COM не буду, потому как литературы на эту тему масса. Стоит только, наверное, сказать, что многие «путают» создание обычного inproc-сервера с созданием внешних компонент для 1С:Предприятия, но это недалеко от истины. Очень часто можно обойтись только этим функционалом. Как создавать COM-объект на Visual Studio, описано во множестве различных источников. В частности, в [1] человек детально написал, как это делается, с примером вызова из 1С:Предприятия.

Если же хочется все-таки сделать полноценную COM внешнюю компоненту для 1С:Предприятия (из вариантов, зачем это может понадобиться, могу придумать только один – компонента должна активно взаимодействовать с системой на платформе 1С, оповещать пользователей, изменять строку статуса, отображать диалоговые окна и т.п.), то надо воспользоваться непосредственно технологией внешних компонент. Итак, приступим.

Статью целиком читайте в журнале «Системный администратор», №7-8 за 2015 г. на страницах 50-53.

PDF-версию данного номера можно приобрести в нашем магазине.


  1. Пример разработки COM-объекта и использования его из 1С:Предприятия – http://infostart.ru/public/115486.
  2. Пример внешней компоненты под VS 2008 – http://stranichko.org.ua/blog/programming/1c-vk-rs232-com-port-sources.
  3. Описание технологии создания внешних компонент – http://its.1c.ru/db/metod8dev#content:3221:hdoc:_com_comp.
  4. Пример внешней компоненты на C# – http://infostart.ru/public/140411.

Комментарии отсутствуют

Добавить комментарий

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

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru