0. leonid_kirienko 118 07.05.14 08:23 Сейчас в теме

COM соединения к базам 1С на различных версиях платформы

Долгое время искал возможность подключаться через COM соединение к серверным БД 1С, расположенных на разных серверах (с разными версиями платформ). Перечитал множество публикаций на эту тему, но однозначного для себя ответа не находил. Хочу поделиться своим скромным опытом в решении этой задачи. Может кому и пригодится...

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. fancy 08.05.14 07:01 Сейчас в теме
А если убьете "чужой" dllhost?
ЗапуститьПриложение("taskkill.exe /f /im dllhost.exe",,Истина);
2. JusteRU 08.05.14 08:02 Сейчас в теме
Про административные права немного не понял. Т.е. требуется запускать сервер приложений с административными правами?
3. kapustinag 10.05.14 16:09 Сейчас в теме
(2) JusteRU, Административные права нужны не серверу приложений, а клиентскому процессу 1С-Предприятие, из которого будут выполняться перенастройки ключа реестра, в котором содержится путь к comcntr.dll.
4. amon_ra 3 14.05.14 10:15 Сейчас в теме
способ отличный, но вот только права админа все омрачают(((
5. mmch 121 14.05.14 10:24 Сейчас в теме
Недавно столкнулся с похожей проблемой при переходе на 8.3, КОМ соединение вызывалось именно &НаСеревере
в итоге была ОШИБКА ПРИ СОЗДАНИИ COMОбъект Интерфейс не поддерживается.

После этого выработал инструкцию по установке платформы 1с для работы с COM-соединением, может кому пригодится...

Переустановка платформы 1с, установка сервера:

*Ставим серверную версию из дистрибутива \\Платформа\X.X.XX.XX\windows64.rar на все рабочие сервера 1с
*обязательно ставим возможность подключения через COM-соединение
*обязательно ставим возможность подключения через WEB-соединение
*Ставим клиентскую часть на все компьютеры в сети из дистрибутива \\Платформа\X.X.XX.XX\windows.rar
*Обязательно ставим клиентскую часть на сервера, т.к. без этого не будут работать подключения через COM-объект
*обязательно ставим возможность подключения через WEB-соединение
*ОШИБКА ПРИ СОЗДАНИИ COMОбъект Интерфейс не поддерживается при всех выполненных действиях:
*Например при запуске на сервере 83, COMОбъект 82, тогда необходимо пользователя USR1CV8 добавить в группу Локальные Администраторы (Диспетчер сервера - Конфигурация - Локальные пользователи - группы - Администраторы)

тогда подключение работает в контексте 1cv8.exe...
* правда администраторам придется поступиться безопасностью...
6. EvgeniuXP 14.05.14 18:15 Сейчас в теме
По-моему с 8.х нет проблем соединяться и получать и отправлять данные по COM-соединению... а вот как сделать для 7.7 - тоже кучу нарыл, но так еще не сделал - либо простые способы, где ТЗ не знаешь как передать, либо - сложно - какие-то dll, как их к веб-сервису прикрутить и потом в 1С-ке "получить" OLE и передать параметром ТЗ, а в 7.7 на основании этой ТЗ создать элементы справочника. Только нашел как вызывать глобальные функции, да примитивные типы передавать... с ТЗ подружить не могу пока что...
8. Созинов 15.05.14 10:09 Сейчас в теме
(6) EvgeniuXP, проблемы возникают из-за разных релизов на сервере. Бывают ситуации когда приходится держать разные версии серверов (у нас допустим это 8.2.15.319, 8.2.18.61, 8.2.19.90 и 8.1 и 8.3.3.721) и если стоит задача получать данные со всех серверов - то это трудновато через COM.
Автору +
winterspring; pt_olga; +2 Ответить
7. EvgeniuXP 14.05.14 18:20 Сейчас в теме
хотя уже на всё плюнул 8.3 (отправка ТЗ) -> веб-сервис -> 7.7 (получение ТЗ и создание элементов в справочнике)

и начал изучать основательно С#.
9. kiruha 375 04.06.14 10:25 Сейчас в теме
Мы обычно делаем банально
regsvr32 "C:\Program Files (x86)\1cv82\8.2.18.61\bin\comcntr.dll" (для 8.2.18.61 из сабжа например)
Зачем нужна обертка ? И чем плох такой простой метод ?
22. M_Volkov 2 02.08.17 07:29 Сейчас в теме
(9)
regsvr32 "C:\Program Files (x86)\1cv82\8.2.18.61\bin\comcntr.dll" чем плох такой простой метод ?

Права админа нужны. А нужно, чтобы Com-соединение устанавливалось под любым пользователем 1С.
10. DoctorRoza 04.06.14 15:35 Сейчас в теме
ИМХО, все как в России, когда полы грязные, не ноги отряхиваем, а щетку апгрейдим! Когда в it-экосистеме предприятия стоят разные версии 8.x, тогда нужно давать по рукам админу! А за статью плюс! :)
bomber99544; +1 3 Ответить
11. servs 65 06.06.14 13:16 Сейчас в теме
(10) бывают фирмы, которые обслуживают базы клиентов на своем сервере, у каждого клиента должна быть своя версия. (это я Вам для расширения кругозора объяснил)
18. selig 27.04.15 09:31 Сейчас в теме
(11) servs, а еще бывают конфигурации от горячо любимых разработчиков, которые тупят на новых версиях платформы
16. besica 11.12.14 23:44 Сейчас в теме
(10) DoctorRoza, 1С бух не хочет работать на платформах ниже 8.3.5.... А не типовая база на 100+ пользователей произвольно виснет у различных пользователей на 8.3.5. платформе, при этом на 8.3.4 все отлично работает. А базы друг с другом общаться должны по чуть чуть и по запросу, но в течении дня.
Автору огромный +)))
12. Serg3141 10 30.06.14 11:54 Сейчас в теме
супер, мне помогло - на двух серверах разные версии 1С, необходимо было сделать передачу, а приводить версии в соответствие не дает начальник из-за загруженности на более старом сервере 1С и из-за принципа "не трожь, все и так работает"
13. zakiap 14.10.14 03:43 Сейчас в теме
А не проще ли сделать алиасы на COM объекты в нужном виде и использовать их потом так:

В8 = Новый COMОбъект("V8.2.19.83.COMConnector");
В8 = Новый COMОбъект("V8.3.5.1119.COMConnector");
Прикрепленные файлы:
14. leonid_kirienko 118 15.10.14 18:51 Сейчас в теме
(13) zakiap, для разных версий (8.2, 8.3) применение алиасов может и пройдет, но для разных сборок одной версии платформы - нет. UID коннектора один и тот же - вот беда.
15. Tolpinski 55 16.10.14 09:27 Сейчас в теме
Через "regsvr32 "C:\Program Files (x86)\1cv82\8.2." срабатывает как то странно, с задержкой, видно как и пишется из за "dllhost.exe"
В общем спасибо, работает!
17. jobkostya1c8 17.12.14 20:11 Сейчас в теме
Тоже хороший материал для создания универсальных обработок, которые должны работать "где попало и подцепляться куда попало". Поставил плюс чтоб запомнить.
19. e.kogan 1848 19.03.16 21:46 Сейчас в теме
Ветки реестра нет :(
Tolpinski; +1 Ответить
20. XelOla 15 10.10.16 16:46 Сейчас в теме
Здравствуйте! Подскажите пожалуйста, как чтобы версии были одинаковые? В ограничениях ISAPI и CGI задала разрешение 1C Web-service Extension на версию платформы 8.3.8.2054. Что еще надо сделать? Или установка платформы была неправильная? (ставила не я)
Прикрепленные файлы:
21. Sanario 19 05.06.17 10:31 Сейчас в теме
HKEY_CLASSES_ROOT\CLSID\{2B0C1632-A199-4350-AA2D-2AEE3D2D573A}\InprocServer32\ - а CLSID ветки всегда будет именно такой?
23. M_Volkov 2 02.08.17 08:53 Сейчас в теме
Статья хорошая, нужная, не плохо бы ее обновить. Может появились возможности Com-обмена без админских прав под любым пользователем 1С.
24. avgyr77 01.04.18 14:35 Сейчас в теме
в увс 1с без адмиснких конектит
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

Программист 1С
Ижевск
зарплата от 70 000 руб. до 94 000 руб.
Полный день

Программист 1С
Санкт-Петербург
зарплата до 120 000 руб.
Полный день

Программист 1С
Санкт-Петербург
Полный день

Консультант 1С
Нижний Новгород
зарплата до 100 000 руб.
Полный день