Еще раз про comconnector

19.08.19

База данных - Инструменты администратора БД

Подключение через com базам с разными версиями платформ ОДНОВРЕМЕННО.

На Инфостарте есть несколько статей (например //infostart.ru/public/610960/). Все уже пережевано 100 раз, но есть нюанс, который я ни у кого не нашел и докопался методом проб и ошибок.

Краткая предыстория:

Копируем существующую компоненту,  переименуем - "имя компоненты" , копируем CLSID, ищем в реестре запись и меняем значение в ветке "InprocServer32" на путь к нужной версии comcntrl.dll. 

В коде вызываем:

Соединитель = Новый ComОбъект("имя компоненты");

 

Но в моем случае требовалось одновременная работа с несколькими версиями. Т.е. один пользователь запускает подключение с версией 1020, а другой 1315. И на подключении второй версии появляется ошибка: -2147024769(0x8007007F): Не найдена указанная процедура.

 

т.е. если вызвать подобный код:

ком = новый COMОбъект("V83.COMConnector_8.3.10.2252");
ком.ConnectAgent("srv1");    

ком = новый COMОбъект("v83.COMConnector_8.3.8.2054");
ком.ConnectAgent("srv2");

 

на втором подключении вываливается ошибка. Поменять подключения местами - ошибка именно на втором подключении.

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

Не буду описывать танцы с бубном, сразу к решению:

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

 

Вступайте в нашу телеграмм-группу Инфостарт

comcntl v83.comconnector

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

24900 руб.

20.08.2024    68217    357    164    

313

Инструменты администратора БД Инструментарий разработчика Роли и права Программист 1С:Предприятие 8 1C:Бухгалтерия Россия Платные (руб)

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

17000 руб.

10.11.2023    25266    93    46    

102

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 1С 8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 17.04.2026, версия 1.4.1, работает в 1С:ФРЕШ!

24400 руб.

06.12.2023    22714    80    10    

113

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14640 руб.

29.04.2020    50175    136    162    

92

Информационная безопасность Инструменты администратора БД Инструментарий разработчика Учет документов Системный администратор Программист Бизнес-аналитик Бухгалтер Пользователь Руководитель проекта 1С 8.3 1С 8.5 Розничная и сетевая торговля (FMCG) Платные (руб)

Контроль ввода данных в 1С: проверка заполнения реквизитов, обязательные поля, контроль перед записью и проведением, запрет проведения документа. Позволяет настраивать любые проверки данных в 1С 8.3/8.5 от обязательных полей до сложных условий – без открытия конфигуратора и написания кода. Готовое расширение, которое подключается и работает сразу.

6000 руб.

15.04.2026    1653    2    0    

20

Файловый обмен (TXT, XML, DBF), FTP Поиск данных Инструменты администратора БД Корректировка данных Системный администратор Программист 1С:Предприятие 8 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Данная обработка позволит Вам легко и просто, а главное - быстро, выполнить сравнение данных между ЛЮБЫМИ базами (и РИБ, по правилам конвертаций) по контрольным суммам выбранных объектов баз 1С, работающих на платформах 8.3 и выше. Удобный и понятный интерфейс в виде "мастера". Высокая скорость сравнения достигается за счет специального алгоритма расчета контрольной суммы объекта/записи и сравнения по данным суммам объектов 2х баз через файл. Имеется возможность выбора реквизитов, по которым система будет сравнивать объекты. Сравнение количества записей в движениях документов, возможность сравнивать данные по правилам конвертации и не только! Выбор объектов конфигурации для КАЖДОГО узла в отдельности с индивидуальным отбором для каждого объекта конфигурации, работа с FTP, сохранение или загрузка настроек, сохранение или загрузка результата сравнения, регистрация на обмен объекта и его движений. (Обновление от 12.11.2024, версия 2.2-2.5)

24400 руб.

27.10.2017    45956    31    13    

49

Чистка данных Инструменты администратора БД Администрирование 1С 8.3 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

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

23999 руб.

20.02.2026    1252    1    0    

4
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. VmvLer 19.08.19 13:15 Сейчас в теме
картинка не видна - у меня не модный браузер, видать(

а вообще комы пора выпилить из платформы напрочь - как мамонтов в свое время выпилила жара.
2. lishniy 134 19.08.19 14:24 Сейчас в теме
(1) А есть чем заменить? Обмен через файлики не всегда удобен и возможен
3. dsdred 4231 19.08.19 15:39 Сейчас в теме
(2)Odata и Http-сервисы не предлагать?
4. lishniy 134 19.08.19 15:54 Сейчас в теме
(3)Я далек от этих механизмов. Правила обмена я смогу использовать?
5. dsdred 4231 19.08.19 18:03 Сейчас в теме
(4)Никогда не поздно с ними познакомится.
По http-сервисам статьи https://infostart.ru/public/842751/

Чтобы вы понимали OData позволяет делать прямые запросы получая данные либо в xml либо в json.
http-сервисы это транспорт, что хотите то и передаете через него, работает раз в 10-20 быстрее чем устарелый com. Да и нет тех проблем которые описаны в публикации.
Разница версий для http-сервисов вообще не проблема, https://infostart.ru/public/885287/
6. lishniy 134 20.08.19 09:13 Сейчас в теме
(5)я правильно понял что все работает без авторизации и все правила обмена придется переписать?
7. dsdred 4231 20.08.19 10:39 Сейчас в теме
(6)нет не правильно.

Правила переписывать не обязательно, просто нужно заменить транспорт. Переписать момент обращения к базе с Com на HTTP-сервисы, по моему даже решение готовое лежало на инфостарте.

По авторизации там вариантов масса, можно использовать ОС авторизацию, можно логин и пароль, можно в настройках сервиса прописать логин пароль

П.С. Правила обмена это не com и не http-сервисы, я не понимаю как вы их сопоставляете с com
Грубо говоря com это телега, правила это груз.
Я предлагаю пересесть с телеги на грузовик, груз может остаться тот же.
jONES1979; +1 Ответить
11. 2michael 24 20.08.19 20:07 Сейчас в теме
(1)
Прикрепленные файлы:
smit1c; ilhospital; jONES1979; +3 Ответить
8. EvgeniusRusius 20.08.19 10:55 Сейчас в теме
на картинке красным - таймаут и сколько одновременно инстансов может быть запущено. По умолчанию стоял 1 инстанс и 15минут таймаут.


"Картинка" и у меня не видна, просьба подгрузить заново.
На странице адрес картинки вот такой:
https://infostart.ru/upload/iblock/c1c/c1c9a06aed2cebf8caec77db04488527.png
но при открытии "Ошибка 404"
10. 2michael 24 20.08.19 20:05 Сейчас в теме
картинка даже в вашем сообщении открывается. странно.

прикепил к сообщению
Прикрепленные файлы:
EvgeniusRusius; +1 Ответить
9. user677047_hvorova.v 20.08.19 15:12 Сейчас в теме
12. M_Volkov 5 29.02.20 09:08 Сейчас в теме
Возможно ли OLE-подключение к базам 1С работающих на различных версиях 8.3?
Пока все 1С базы работали на одной версии 8.3 проблем не было. Появились, когда для одной базы понадобилась более высокая версия. Добавил 2-й 1С-сервер на другие порты на свой сервер с более высокой версией 8.3.14.1779. Для запуска на нем серверной базы к имени сервера дописываю порт. Для OLE-подключения так же, но получаю ошибку различия версий клиентской и серверной.
Для таких случаев дописал программу переключающую версию зарегистрированной платформы. Вроде все стало нормально, но позже выяснилось, что остальные пользователи не могут совершать COM-обмены: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (1C:Enterprise 8.3.14.1779): Существуют активные сеансы работы с данной информационной базой, использующие Платформу 1С:Предприятия другой версии. Используйте для подключения к информационной базе платформу версии 8.3.10.2466.
Как избежать эту ошибку при OLE-подключении к базе другой платформы?
13. acanta 29.02.20 09:20 Сейчас в теме
А можно зарегистрировать другой объект? Оле1, оле2 и вызывать новую платформу от имени этого объекта? Файловая версия.
14. M_Volkov 5 29.02.20 14:08 Сейчас в теме
(13)
Оле1, оле2 и вызывать новую платформу от имени этого объекта?
Запускается (клиентская часть) той версии, которая зарегистрирована. Пока для запуска нужной версии меняю в реестре HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{e92b75e3-2ea1-4fec-b493-cef3ec59fca6}\LocalServer32 параметр, но для этого нужны административные права. Других способов пока не знаю, а очень хотелось бы...
15. sergeyshik 5 04.03.20 12:05 Сейчас в теме
Может есть какие-нибудь предположения.
Зарегистрировал ком-компоненты как указано в статье.
И почему-то скорость ком-соединения сильно просела, где-то в 12 раз.
Может кто-то сталкивался с таким явлением?
т.е. если есть основной ком, зарегистрированный при установке, то посредством кома могу создавать по 4 документов в секунду. Стоит зарегистрировать на данном сервере , через Службы компонентов еще одну версию кома, то после этого создается 1 документ в 2-3 секунды,
16. Djo82 13 27.12.24 10:05 Сейчас в теме
пошел в отладчик,
COMConnector = Новый COMObject(ОбщегоНазначенияКлиентСервер.ИмяCOMСоединителя());

Значение

ОбщегоНазначенияКлиентСервер.ИмяCOMСоединителя()

Возвращает

v83.COMConnector

а мне нужен

CopyOf.V83.COMConnector.8.3.25.1374

подсунул пока текстом, дальше видно будет
Для отправки сообщения требуется регистрация/авторизация