Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

COM соединения с базами 1С на различных версиях платформы "Без перерегистрации и СМС"

COM соединения с базами 1С на различных версиях платформы "Без перерегистрации и СМС"
Я
   Mikhail Volkov
 
10.07.19 - 11:12
Ссылка на статью: http://catalog.mista.ru/public/610960/ - не получается пункт: 6. Выбираем вариант "Установка новых компонентов", находим нашу библиотеку comcntr.dll. При этом у меня выскакивает ошибка: "Этот объект уже зарегистрирован"!? Ничего не создает.
Подскажите, что ни так делаю? Нет опыта в создании компонентов...
 
 
   Mikhail Volkov
 
1 - 10.07.19 - 11:24
   butterbean
 
2 - 10.07.19 - 11:24
что непонятно во фразе "Этот объект уже зарегистрирован"??
   Cyberhawk
 
3 - 10.07.19 - 11:27
Как тебя _земля_ ИТ носит - непонятно )
   Mikhail Volkov
 
4 - 10.07.19 - 11:30
(2) Непонятно что делать в такой ситуации? Не создавать компонент с этой версией comcntr.dll, искать его среди имеющихся?
   butterbean
 
5 - 10.07.19 - 11:31
(4) да
   Cyberhawk
 
6 - 10.07.19 - 11:31
На худой конец начни с чистого листа
   Mikhail Volkov
 
7 - 10.07.19 - 12:15
(5) В приложениях V8COMConnector нашел компонент V83.COMConnector.1 с C:\Program Files\1cv8\8.3.10.2466\bin\comcntr.dll (версия, из которой осуществляется Com-соединение), а для 8.3.14.1779 (версия, с которой осуществляется Com-соединение) не нашел. Плохо искал?
https://jpegshare.net/b0/74/b074f3798d4b4cb00f20322d84e60f45.jpg.html
   Mikhail Volkov
 
8 - 10.07.19 - 12:24
(4)+ А может в таком случае не "Установка новых компонентов", а "Импорт уже зарегистрированных компонентов"?
   DrZombi
 
9 - 10.07.19 - 12:34
(7) Вы пробовали регистрировать библиотечку по новой? :)

https://support.microsoft.com/ru-ru/help/249873/how-to-use-the-regsvr32-tool-and-troubleshoot-regsvr32-error-messages

И обратите внимание на № 2

Способ 2. Использование 32-разрядной версии Regsvr32 для регистрации 32-разрядной библиотеки DLL в 64-разрядной версии ОС Windows
   NorthWind
 
10 - 10.07.19 - 13:07
(0) ну так разрегистрируйте. Regsvr32 с ключиком /u, если мне не изменяет память.
 
 Рекламное место пустует
   Mikhail Volkov
 
11 - 10.07.19 - 13:18
(8)+ Среди "Выбор компонентов для импорта" нашел только  V82.COMConnector.1 с C:\Program Files\1cv82\8.2.19.130\bin\comcntr.dll!? По-моему ошибку: "Этот объект уже зарегистрирован" выбрасывает, если зарегистрирована comcntr.dll любой версии?
(9) Ну, как обычно: Пуск - Все программы -... - Регистрация утилиты администрирования серверов x86-64 (8.3.14.1779), когда 2-ю платформу 8.3.14.1779 добавил для КА2.4. Остальные, например, Альфа-Авто (не может работать с платформой выше 8.3.10) остались на 8.3.10.2466. Нужен Com-обмен Альфа-Авто с КА2.4.
(10) Всех версий платформ?
   Mikhail Volkov
 
12 - 10.07.19 - 14:08
(10) Только Regsvr32 /u "C:\Program Files\1cv8\8.3.10.2466\bin\comcntr.dll" выполнился успешно, для 1cv82\8.2.19.130 и 1cv8\8.3.14.1779 с ошибками. Теперь при добавлении библиотеки comcntr.dll нужной версии пишет "Файл не существует"!?
   Mikhail Volkov
 
13 - 10.07.19 - 14:43
(12) Нет, ну как "Файл не существует", если файлы comcntr.dll существуют (разных версий)? Может что-то перезагрузить надо?
   Garykom
 
14 - 10.07.19 - 15:01
(13) Надо немного изучить теории, тогда не будет смешных вопросов
   Mikhail Volkov
 
15 - 10.07.19 - 15:21
(14) По какому вопросу изучить?
   Cyberhawk
 
16 - 10.07.19 - 15:23
(15) СОМ, СОМ+, ДСОМ в Виндовз
   Cyberhawk
 
17 - 10.07.19 - 15:23
Ну и длл и исполнение кода процессами ОС
   Mikhail Volkov
 
18 - 10.07.19 - 15:40
(13)+ О, закрыл-открыл консоль Службы компонентов и другая ошибка https://jpegshare.net/70/3a/703a28e60ca4931e43af4bd1fe955fe2.jpg.html. Какую службу надо перезагрузить не прерывая работу 1С? Не весь же сервер...
   Mikhail Volkov
 
19 - 10.07.19 - 18:40
Теперь закрыл-открыл консоль Службы компонентов и снова ошибка: "Этот объект уже зарегистрирован"!? Только сервер перезагружать?
   Mikhail Volkov
 
20 - 11.07.19 - 10:33
Сервер перезагрузил.
Выбираем вариант "Установка новых компонентов", находим нашу библиотеку comcntr.dll. При этом выскакивает та же ошибка: "Этот объект уже зарегистрирован"!? Ничего не создает.
Выбираем вариант "Импорт уже зарегистрированных компонентов", ничего с DLL comcntr.dll (любой версии) не нашел. Более того, при открытии компонента V83.COMConnector.1 выдается ошибка: https://jpegshare.net/7c/a1/7ca159216f33c45382208a39762f3788.jpg.html Видать сработала разрегистрация (10). Значит регистрировать библиотечку по новой, и использовать именно этот компонент V83.COMConnector.1, не создавать новый?
   Mikhail Volkov
 
21 - 11.07.19 - 11:39
Так и сделал: https://jpegshare.net/ad/63/ad63e99e7d0ba964a80291ae7cc725c7.jpg.html
Правильно ли?
   Mikhail Volkov
 
22 - 11.07.19 - 18:57
Сейчас вместо:
    Соединитель = Новый ComОбъект("V83.Application");
придется писать:
    Соединитель = Новый ComОбъект("V83.COMConnector_" + НомерВерсии);
НомерВерсии: "8.3.10.2466" или "8.3.14.1779" заранее (до подключения) нельзя узнать к чему (на какой платформе) подключаешься?
Вроде раньше, когда занимался этой проблемой Com-обмен между базами различных доменов, в случае неудачной попытки соединения в ОписаниеОшибки() писало какую версию надо использовать.
   Mikhail Volkov
 
23 - 11.07.19 - 20:08
В СтрокаПодключения указывается ИмяСервера, к нему номер порта нужно дописывать?
   NorthWind
 
24 - 11.07.19 - 22:13
(11) я не решал конкретно эту задачу. Но вообще COM-объект можно как зарегистрировать, так и разрегистрировать, что, как мне показалось, может позволить избежать вашего сообщения.
   Mikhail Volkov
 
25 - 12.07.19 - 08:24
(24) Ошибку "Этот объект уже зарегистрирован" надо понимать как существование компонента V83.COMConnector.1, содержащий ссылку на DLL comcntr.dll (любой версии). После того как разрегистрировал (12) появилась ошибка компонента V83.COMConnector.1 "Объект не найден в реестре" (20), но ошибка "Этот объект уже зарегистрирован" осталась.
   stix2010
 
26 - 12.07.19 - 09:24
(0) неужели еще кто то Com коннектором пользуется
   Mikhail Volkov
 
27 - 12.07.19 - 14:52
(26) Да, много лет...
   Mikhail Volkov
 
28 - 13.07.19 - 15:56
(23) Да, дописывать надо порт. Иначе ошибку пишет несовпадения версий клиента и сервера.
Но почему ошибку пишет: Метод объекта не обнаружен (СтрокаСоединенияИнформационнойБазы)?
   zak555
 
29 - 13.07.19 - 16:39
Сначала разрегистрировать ( -u ), а потом зарегать вновь
   Mikhail Volkov
 
30 - 13.07.19 - 17:09
(29) Не помогает (12), но разобрался (25).
Меня сейчас больше интересует почему ошибку пишет: Метод объекта не обнаружен (СтрокаСоединенияИнформационнойБазы) на Соединитель.СтрокаСоединенияИнформационнойБазы()? Сдается мне, что
Соединитель = Новый ComОбъект("V83.COMConnector_" + НомерВерсии); не эквивалентен Соединитель = Новый ComОбъект("V83.Application"); а только Соединитель = Новый ComОбъект("V83.COMConnector"); с ограниченными возможностями?
   Mikhail Volkov
 
31 - 14.07.19 - 08:15
+ Да, V83.COMConnector с ограниченными возможностями меня не устраивает: https://docplayer.ru/64409617-Obmen-dannymi-mezhdu-bazami-1s-cherez-com-soedinenie.html
Можно создать два вида COM объектов для приложения 1С. Это OLE соединения V83.Application и COM соединения V83.COMConnector. В случае с V83.Application запускается практически полноценный экземпляр приложения 1С. В случае использования V83.COMConnector запускается небольшая серверная часть. Скорость работы в этом случае выше, но некоторые функции могут быть недоступны. В частности работа с формами и с общими модулями для которых не установлено свойство работы с внешними соединениями. Преимущественно надо использовать V83.COMConnector и только в случае нехватки функционала V83.Application.
Как создать OLE соединения с базами 1С на различных версиях платформы?
   Mikhail Volkov
 
32 - 15.07.19 - 17:37
Не работал с консолью Службы компонентов. Возможно ли в ней создать обертку OLE соединения V83.Application, или перенастроить имеющуюся COM соединения V83.COMConnector?
   Mikhail Volkov
 
33 - 16.07.19 - 10:07
 
 


Список тем форума
Рекламное место пустует  Рекламное место пустует
Прочитай, хотя бы, Митичкина "Разработка в системе 1С:Предприятие 8". Волшебник
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует