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 58 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 1846 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С
Бобров
зарплата от 100 000 руб. до 150 000 руб.
Временный (на проект)

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

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

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

Бизнес-аналитик 1С
Москва
зарплата от 90 000 руб. до 150 000 руб.
Полный день