COM соединение в 1С 8.3 и 8.2 на примере

Осуществление взаимодействия различных баз 1С является одним из ключевых умений 1С ⭐ разработчика ✍ Механизм COM ⭐ соединений, подробно рассмотренный в этой статье, пригодиться каждому программисту

Создание подключения к базе 1C по COM

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

Функция ПолучитьПодключениеКФайловойБД()Параметры = “File=”“C:1CBase”“”;Usr=“”login“”;Pwd=“”password“”;“;V82COMConnector= Новый COMОбъект(“V82.COMConnector“);ПопыткаВозврат V82COMConnector.Connect(Параметры);ИсключениеПредупреждение (“Ошибка подключения!“);Возврат Неопределено;КонецПопытки;КонецФункции;

Функция вернет СОМ-объект, с помощью которого можно производить действия с другой базой данных 1С 8.2.

Если вы только начинаете программировать в 1С или просто хотите систематизировать свои знания – попробуйте Школу программирования 1С нашего друга Владимира Милькина. Пошаговые и понятные уроки даже для новичка с поддержкой учителя.
Попробуйте бесплатно по ссылке >>

Для клиент-серверного режима строка подключения будет немного отличаться:

Функция ПолучитьПодключениеКСервернойБД()Параметры = “Srvr=”“server”“;Ref=”“BaseName”“;Usr=”“login”“;Pwd=”“password”“;”;V82COMConnector= Новый COMОбъект(“V82.COMConnector”);ПопыткаBase1С = V82COMConnector.Connect(Параметры);ИсключениеПредупреждение (“Ошибка подключения!”);КонецПопытки;КонецФункции;

Если Вы подключаетесь к базе на платформе 1C 8.1, то Вам необходимо использовать не  «V82.COMConnector», а «V81.COMConnector».

Взаимодействие между базами 1С через COM

В этой статье я расскажу о многих особенностях взаимодействия между базами 1С по COM технологии, накопленных за годы развития и использования интеграционного коммерческого продукта 2iS:Интеграция компании 2iS.

Работа через мобильный Интернет

Клиенты могут использовать различные способы выхода в Интернет. Это могут быть высокоскоростные подключения по выделенным линиям или через локальную сеть. А могут быть низкоскоростные подключения, например, через мобильное GPRS-соединение.

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

Термины

ОС – операционная система

COM-клиент – процесс(поток) ОС, запросивший создание COM-объекта

COM-сервер – COM-объект, созданный по запросу клиента

Издание платформы – подстрока до 2-й точки версии платформы (например 8.2, 8.3)

Com-соединитель – COM-объект V8X.ComСonnector для создания внешних соединений с базами 1С

Automation-сервер – он же OLE-сервер, COM-объект V8X.Application для создания приложений 1С

Сборка платформы – полная строка версии платформы (например 8.2.19.130, 8.2.16.352)

Варианты подключения 1С удалённо

Варианты можно поделить на две группы: работа с базами на офисном компьютере или работа с облаком.

Бесплатный тариф

Складской учет, онлайн-касса и маркировка товаров для одной точки продаж с одним сотрудником — без ограничений по времени

Начать работу

Изображение справа
Логотипы компаний

COM классы платформы

Виды COM классов

Для каждого издания платформы в системном реестре регистрируются собственные классы для взаимодействия с базами. Символ “X” обозначает место подстановки номера издания платформы (например 0,1,2,3,4).

  1. V8X.ComСonnector – Com-соединитель / Менеджер COM-соединений

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

    2. Регистрация и отмена регистрации выполняется отдельно для каждой разрядности (32b и 64b)

      1. Регистрация: Regsvr32 “<ПутьНужнойРазрядности>bincomcntr.dll”

      2. Отмена регистрации: Regsvr32 “<ПутьНужнойРазрядности>bincomcntr.dll” /u

  2. V8X.Application – Automation-сервер толстого клиента

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

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

    3. Регистрация и отмена регистрации

      1. Регистрация – 1cv8.exe /regserver

      2. Отмена регистрации – 1cv8.exe /unregserver

  3. V8Xc.Application – Automation-сервер тонкого клиента

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

    2. Регистрация и отмена регистрации

      1. Регистрация – 1cv8c.exe /regserver

      2. Отмена регистрации – 1cv8c.exe /unregserver

Привязка COM классов к dll-файлам

Привязка имени COM класса к конкретному dll-файлу осуществляется через ветку HKEY_CLASSES_ROOT системного реестра, которая собирается следующим образом:

  1. Берется содержимое ветки HKEY_CURRENT_USERSoftwareClasses

  2. Добавляется содержимое ветки HKEY_LOCAL_MACHINESoftwareClasses, но только те ключи, которые отсутствуют в п.1.

Поэтому регистрация класса от имени пользователя имеет приоритет над общей регистрацией.

Для 32-b и 64-b режимов исполнения кода в реестре хранятся отдельные ветки и соответственно отдельные привязки. Поэтому управление COM-классами для них осуществляется независимо. В частности это касается класса V8X.ComConnector (на 64-b операционной системе)

  1. 64-b – c:Program Files1cv8*<Версия>bincomcntr.dll

  2. 32-b – c:Program Files (x86)1cv8*<Версия>bincomcntr.dll

Удалённый доступ к базе 1С на рабочем компьютере в офисе

Удалённое подключение к офисному компьютеру

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

1C Коннект, TeamViewer и аналоги

Программы для подключения к 1С из дома

При этом должен быть отключен режим «перехода в сон». Минус подобного решения — возможные проблемы с доступом к электронно-цифровым подписям.

Выбирайте: 1С в облаке или в коробке

  • Возможность удаленной работы

  • Бесплатная техническая поддержка 24/7

  • Безопасное хранение данных в дата-центре

  • Автоматическое резервирование данных

  • Цена 1С:от 950 ₽ / мес.

  • Консультации 1С:Включены

  • Обновления:Включены

  • Тестовый период: 14 дней

  • Привязка к конкретному рабочему месту

  • Поддержка – на аутсорсе или специалист в штате

  • Хранение данных на вашем личном ПК

  • Самостоятельное создание резервных копий

  • Цена 1С:от 13 000 ₽

  • Консультации 1С:от 2 000 ₽ / час

  • Обновления:от 5 493 ₽ / мес.

  • Тестовый период: нет

Вы знали, что 1С в облаке — это не только аренда программ? Узнайте про преимущества облачного сервиса 1С!

Подробнее

Основы функционирования СОМ соединений

  • Для любых объектов, получаемых посредством СОМ соединения в обязательном порядке указывается тип «СОМОбъект». Соответственно предусматривается только передача данных простого типа (числа, даты, строки).
  • Доступ к ссылкам и справочникам осуществляется с использованием стандартного для 1C набора команд поиска или организации запросов.
  • Каждое из осуществляемых подключений требует использования одной лицензии.

About Author

admin

Лицензирование

Для каждого COM-соединения расходуется одна лицензия. Лицензии ищутся в следующем порядке:

  1. локальные клиентские лицензии;
  2. локальные серверные лицензии;
  3. сетевые клиентские лицензии;
  4. клиентские лицензии на сервере 1С:Предприятия или веб-сервере.

Остались вопросы?
Спросите в комментариях к статье.

Смотри также:

Работа с файлами Excel
Преобразование объекта XDTO в текст
Основные способы обмена 1С с другими системами

2017-06-09

Управление COM+ приложениями 1С

Осуществляется через оснастку dcomcnfg.exe. Для регистрации 1С в качестве COM+ приложения необходимо открыть оснастку “dcomcnfg”. В ней в ветке “Службы компонентов”-“Компьютеры”-“Мой компьютер”-“Приложения COM+”(COM+ Applications) необходимо добавить новое приложение (application). При добавлении можно указать любое имя. Далее необходимо указать пользователя, от имени которого будет работать COM+ приложение, на закладке Идентификация (Identity). Также нужно задать доступ к приложению для нужных пользователей путем добавления, если отсутствует, роли с любым именем в ветке Роли (Roles), и добавления в ее ветку Пользователи (Users) пользователя “Прошедшие проверку” (Authenticated Users). После добавления приложения необходимо создать новую компоненту. Для этого в ветке “Компоненты” созданного приложения необходимо выбрать пункт меню “Создать”-“Компонент”. При создании выбрать импорт уже зарегистрированных компонентов и найдите в списке (желательно 64-битную) компоненту 1С (V8x.COMConnector.1). Подробнее о настройке COM+ приложений читайте Интерфейс пользователя: службы компонентов

Далее можно изменить тип активации (внутрипроцессный/внепроцессный) на закладке Активация/Activation.

В нашем продукте имеется инструмент «Управление COM классами 1С» для просмотра/регистрации/изменения всех COM классов и COM+ приложений 1С на указанном компьютере:

Также управлять COM классами 1С можно через инструмент “Управление COM классами 1С” из подсистемы Инструменты разработчика

tCvoTTD8lzjn-LOWe-C20e7rQGnFUeoTmyIu_LH8SUBuwvnB5Zjz6W_Ol3j87goOM3Vdjzfdp2a9DCVmqYEfksJqOjECpY8lYRiYNFleCl22faGTF4l0sazWtn-8GElnX1sdXd6m

Недостатки

  1. Рассмотренные выше сложности с взаимодействием разных сборок платформы 1C, требующие для своего решения сервисный механизм

  2. Высокие затраты на подключение/инициализацию, поэтому при отсутствии кеширования неэффективно для частых мелких вызовов

  3. Привязка к семейству операционных систем (платформе) Windows

  4. Требуется закрытая сеть (LAN, VPN)

Преимущества

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

  2. Широкая функциональность

  3. Проще отладка

  4. Не требуется разворачивать и поддерживать веб-сервер

  5. Программно доступен интерактивный режим подключенной базы

Преимущества

  1. Отсутствие необходимости изменять конфигурацию баз, к которым подключаемся
  2. Широкая функциональность 
  3. Проще отладка
  4. Не требуется разворачивать и поддерживать веб-сервер
Рейтинг
( 1 оценка, среднее 5 из 5 )
Загрузка ...