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

1С не видит COM

1С не видит COM
Я
   Predator
 
24.01.20 - 17:44
Платформа 8.3.16.1063 (клиент-сервер x86-64).
ЗУП 3.1.12.113
БП 3.0.75.58
При попытке проверить подключение в настройке синхронизации ЗУП-БП вылетает ошибка "Не удалось подключится к другой программе: -2147221005(0x800401F3): Недопустимая строка с указанием класса".
Делал:
c:\Windows\SysWOW64>regsvr32 "C:\Program Files (x86)\1cv8\8.3.16.1063\bin\comcntr.dll"
c:\Windows\SysWOW64>regsvr32 "C:\Program Files\1cv8\8.3.16.1063\bin\comcntr.dll"
Сносил COM-соединение через изменение установки, устанавливал заново. Вручную удалял приложение V83COMConnector через dcomcnfg и добавлял заново. В свойствах приложения убирал принудительную проверку доступа для приложения, применял политику программных ограничений - уровень неограниченный. Прописывал пользователя, из-под которого будет производиться вход: и локального, и доменного. Но каждый раз "Недопустимая строка с указанием класса". Чего ей ещё от меня надо-то?
 
 
   shuhard
 
1 - 24.01.20 - 17:48
(0)дык в реестре то что сидит ?
   Garykom
 
2 - 24.01.20 - 17:49
(0) Переходи на веб и http сервисы
   Garykom
 
3 - 24.01.20 - 17:51
"c:\Windows\SysWOW64>regsvr32 "C:\Program Files\1cv8\8.3.16.1063\bin\comcntr.dll"" кривая строка
   Garykom
 
4 - 24.01.20 - 17:51
   Garykom
 
5 - 24.01.20 - 17:53
Для настройки синхронизации используй файлы - самое стабильное
   Predator
 
6 - 24.01.20 - 17:57
(1) Поиск в реестре по V83COMConnector не дал результатов. Или что имеется в виду?
(2) Это не решение конкретной проблемы.
(3) Почему кривая? У меня нет там двойных закрывающих кавычек. К тому же система сообщила об успешном выполнении.
(4) Если делать через system32, сообщает о том, что не найден указанный модуль, хотя он по этому пути есть.
(5) Но не самое оптимальное в нашем случае. И опять же, это не решение конкретной проблемы.
   Garykom
 
7 - 24.01.20 - 18:01
(6) Проблема у вас только одна - попытка использования устаревших и уже нихрена реально не поддерживаемых технологий.

Представь что у тебя Linux (или Mac) и действуй исходя из этого.
   craxx
 
8 - 24.01.20 - 18:09
(0) обратись к профессионалам
   craxx
 
9 - 24.01.20 - 18:10
(7) я вангую что он ставит не там и не той разрядности
   Garykom
 
10 - 24.01.20 - 18:14
(9) Там проблемы когда несколько разных версий платформы 1С стоят или ставили криво.
Можно совместить 8.1. 8.2 и 8.3 а вот разные 8.3 глючит.
Например если 8.3.16 и 8.3.15 ну или разрядность того.
   craxx
 
11 - 24.01.20 - 18:17
(10) неа. Я подозреваю что надо ставить на сервере, а он пытается на клиенте. Ну и х86-64 и SysWOW64 - как бы противоречие, хотя там надо просто зарегать COM+-приложение
   Сияющий в темноте
 
12 - 24.01.20 - 18:26
С учетом того,что стандартный обмен все равно передает xml-файл,то можно перейти на web-сервисы без проблем.
   craxx
 
13 - 24.01.20 - 18:28
(12) это надо публиковать базу, а мало кто это хочет делать
   hhhh
 
14 - 24.01.20 - 20:22
(13) так надо опубликовать внутри локальной сети, не надо в глобальном интернете публиковать.
   Garykom
 
15 - 24.01.20 - 20:35
(14) COM сервер тоже как бы публикуется, только при установке. И вот в (0) это и есть попытки публикации правильного COM сервера.
Какая нафик разница что публиковать, модуля расширения веб-сервера поставить и через командную строка аналогично базу зарегать на правильный веб-сервер.
Веб сервер апач например банально копированием и httpd.exe -k install
   Генератор
 
16 - 24.01.20 - 21:14
мне регистрация в службах компонентов всегда помогала
   Predator
 
17 - 25.01.20 - 04:02
Фига тут наванговали уже)
Нет, версия одна и запускаю на сервере. Проблема решилась перезапуском сервера 1С. Всем спасибо за участие.
   Mikhail Volkov
 
18 - 25.01.20 - 08:30
(10) > а вот разные 8.3 глючит.
Пытаюсь с базы на 8.3.10.2466 x86-64 установить OLE-соединение с базой на 8.3.14.1779 x64. Обе базы на одном сервере разнесены по портам, 8.3.14.1779 на портах 16хх. В строке подключения к имени сервера дописываю ":1640". Получаю ошибку: "Несоответствие версий клиента и сервера 1С:Предприятия". Показывает: версию сервера правильную, клиента - нет: 8.3.10.2466!?
(11) > хотя там надо просто зарегать COM+-приложение
Поподробнее бы. А то читал в http://catalog.mista.ru/public/276794/: "Для начала создадим для коннектора обертку COM+, чтобы вызовы происходили не в контексте 1cv8.exe (1cv8c.exe), а в контексте dllhost.exe. В интернете достаточно публикаций на тему как это сделать...", а что конкретно имеется ввиду?
(17) > Проблема решилась перезапуском сервера 1С.
Моя проблема не решается перезагрузкой сервера Службы компонентов: возможно ли создать обертку OLE соединения V83.Application
   Mikhail Volkov
 
19 - 27.01.20 - 12:19
Вроде COM-соединение возможно с базой на другой версии платформы 8.3 А OLE-соединение возможно?
   1C_coder
 
20 - 27.01.20 - 13:56
Решение ошибки подключения через COM
http://catalog.mista.ru/public/97085/

открытие вручную cmd.exe в папке C:\Windows\SysWOW64
запуск от имени администратора
C:\Windows\SysWOW64>regsvr32 "C:\Program Files\1cv8\8.3.16.1063\bin\comcntr.dll"
(кстати на 16-ю версию платформы люди жалуются, нам сейчас пока запретили её ставить)

Панель управления\Все элементы панели управления\Администрирование\Службы компонентов\Компьютеры\Мой компьютер\Приложения COM+\CommCtrl\Роли\CreatorOwner\Пользователи\
Сюда добавить пользователей ОС сервера, под кем приходится запускать регламентные задания, а главное USR1CV8.

В свойствах CommCtrl на вкладке Безопасность убрать галочку Принудительная проверка доступа для приложения, поставить галочку Применить политику программных ограничений, выбрать Уровень ограничений "Неограниченный".
В http://catalog.mista.ru/public/97085/ советуют самому создать V82.COMConnector. Я не создавал.

И лучше физически перезагрузить сервер сам компьютер.
   Mikhail Volkov
 
21 - 27.01.20 - 16:03
(20) > И лучше физически перезагрузить сервер сам компьютер.
У меня все базы на 8.3.10.2466 (x86-64), только одна 8.3.14.1779 (x64) на диапазоне портов 16хх. Когда к ней подключаюсь в строке подключения к имени сервера дописываю ":1640". Даже вручную делаю команду C:\Windows\SysWOW64\regsvr32 "c:\Program Files\1cv8\8.3.14.1779\bin\comcntr.dll", пишет: Успешно выполнено DllRtgisterServer в c:\Program Files\1cv8\8.3.14.1779\bin\comcntr.dll. Но при этом все равно ошибка: "Несоответствие версий клиента и сервера 1С:Предприятия" (8.3.10.2466 - 8.3.14.1779).
   Garykom
 
22 - 27.01.20 - 16:20
(21) Я вот думаю сказать или нет что COM как и прочие приложения могут быть как x32 так и x64...

И короче регать думать надо что и откуда. И откуда и куда подключаться.
Ну не выйдет цыветочек и x32 не умеет с x64 через COM или OLE
   Garykom
 
23 - 27.01.20 - 16:21
(22)+ Точнее не умеет в типовом уровне, можно разные ухищрения
   Mikhail Volkov
 
24 - 27.01.20 - 16:33
(22) Все дело в разной разрядности, с 32-х на 64-х разрядную не подключиться?
   Garykom
 
25 - 27.01.20 - 16:48
(24) x64 можно сделать чтобы к x32 подрубилось, наоборот не видел
Спроси у H A D G E H O G s как он провернул Проблемы выгрузки больших XML в 7.7 и их решения.
   Garykom
 
26 - 27.01.20 - 16:51
(25)+ Подразумевал что "обертку COM+" позволяет из x64 1С подключиться к x32 1C по COM/OLE, где x32 выступает как inproc server
А вот как наоборот я лично хз, думать лень но вот товарищ провернул с XML
   Mikhail Volkov
 
27 - 28.01.20 - 10:54
Ладно, создал (перенес процедуры подключения по Com) базу, которую можно запускать на 8.3.10.2466 x86-64 и 8.3.14.1779 x64. Запускаю на 8.3.10.2466, соединяюсь с базой на 8.3.14.1779, получаю как в рабочей базе ошибку: "Несоответствие версий клиента и сервера 1С:Предприятия". Запускаю на 8.3.14.1779, соединяюсь с базой на 8.3.14.1779, и опять же получаю ошибку: "Несоответствие версий клиента и сервера 1С:Предприятия" (8.3.10.2466 - 8.3.14.1779)!? При чем СисИнфо = Новый СистемнаяИнформация; СисИнфо.ВерсияПриложения пишет версию 8.3.14.1779.
   Mikhail Volkov
 
28 - 28.01.20 - 16:05
+ Зато открывает из 8.3.14.1779 формы объектов базы на 8.3.10.2466! Получается что клиентскую часть Com-соединения определяет не платформа, из которой устанавливается Com-соединение, а нечто другое. Что?
   Mikhail Volkov
 
29 - 28.01.20 - 18:05
+ Сделал перерегистрацию comcntr.dll: D:\Windows\SysWOW64\regsvr32 "D:\Program Files\1cv8\8.3.14.1779\bin\comcntr.dll", но это ничего не изменило, та же ошибка: "Несоответствие версий клиента и сервера 1С:Предприятия" (8.3.10.2466 - 8.3.14.1779). Почему версия клиентской части остается 8.3.10.2466? Сделал перерегистрацию comcntr.dll, Com-соединение устанавливается из базы на 8.3.14.1779... что еще?
   runoff_runoff
 
30 - 28.01.20 - 18:13
(29) в запуске базы не стоит принудительно 8.3.10?
 
 Рекламное место пустует
   Mikhail Volkov
 
31 - 28.01.20 - 18:43
(30) Нет, специально базу сделал, из которой не было Com-соединений (в отличии от рабочей), на другом сервере.
   Garykom
 
32 - 28.01.20 - 19:03
Забей уже на COM и OLE это официально устаревшая технология.
Дальше будет только хуже с работоспособностью.
   Простенький вопросик
 
33 - 28.01.20 - 19:48
(0)
Выложи обмен на обменник, очень интересно
   olegves
 
34 - 28.01.20 - 19:56
(0) а регать 64-ю утилиту разве не другой приблудой?
У меня на РДП сессии тож проблема была с СОМ клиентским. Сегодня пролечили реганьем 64-битного СОМа. А так админы 2 недели не могли ладу дать - и 1С переставляли и сессию прибивали и профиль новый заводили - результат не было
   Mikhail Volkov
 
35 - 29.01.20 - 07:25
(34) А какой? Регистрация утилиты администрирования серверов x86-64 (8.3.14.1779) дает тот же результат: Успешно выполнено DllRtgisterServer в c:\Program Files\1cv8\8.3.14.1779\bin\comcntr.dll. Правда 8.3.14.1779 на нестандартном диапазоне портов 16хх. Может в этом дело, как правильно зарегистрировать comcntr.dll?
   Tarlich
 
36 - 29.01.20 - 11:21
(0) начни с того что удали все старые платформы... переустанови
   Mikhail Volkov
 
37 - 29.01.20 - 12:17
(36) Снести 8.3.10.2466, а 8.3.14.1779 пересадить на стандартный диапазон портов 15хх?
   Mikhail Volkov
 
38 - 29.01.20 - 14:32
Выполнил регистрацию с ключами regsvr32 /n /i:user теперь пишет: Ошибка при вызове конструктора (COMОбъект): -2147467262(0x80004002): Интерфейс не поддерживается
   makaorel
 
39 - 29.01.20 - 15:07
(38) отмените регистрацию  через regsvr32 /u и больше ничего не регистрируйте.
   Mikhail Volkov
 
40 - 30.01.20 - 08:07
(39) Выполнил: D:\Windows\SysWOW64\regsvr32 /u "D:\Program Files\1cv8\8.3.10.2466\bin\comcntr.dll", но ничего не изменилось: файловая база запущенная на 8.3.14.1779 при Com-соединении с базой на 8.3.14.1779 ошибку: "Несоответствие версий клиента и сервера 1С:Предприятия" (8.3.10.2466 - 8.3.14.1779).
   butterbean
 
41 - 30.01.20 - 08:24
(40) ты может на сервере это делаешь, а соединение на клиенте? Ну или наоборот
   Mikhail Volkov
 
42 - 30.01.20 - 08:33
(41) Рабочие сервера разделены на SQL и Терминал, но их пока не трогаю. Все эксперименты делаю на своем компе.
   Mikhail Volkov
 
43 - 31.01.20 - 14:56
(36) Сносить пока не стал, нашел старый системный диск, на нем по одной платформе 8.1, 8.2, 8.3. Обновил до 8.3.14.1779. Иногда возникает "Ошибка при вызове конструктора (COMОбъект): -2147467262(0x80004002): Интерфейс не поддерживается" - это вроде, когда при установки платформы забыл COM отметить? Но при установки 8.3.14.1779 с windows64full нет COM!?
Еще при перезагрузке компа пишет: "DTAget.exe Приложение не удалось запустить, поскольку DTCommonRes.ddt не был найден. Повторная установка приложения может исправить эту проблему" - это тоже по 1С не в порядке?
   Mikhail Volkov
 
44 - 01.02.20 - 11:18
Можно ли до начала Com-соединения как-то определить (через регистры): какая comcntr.dll (ее версию) в данный момент действует?
И можно ли ее поменять на нужной версии другими способами? (с админ. правами)
   Garykom
 
45 - 01.02.20 - 11:46
(44) RegEdit

И поры бы научиться пользоваться гуглом чтобы находить http://datadump.ru/regsvr32/
   Mikhail Volkov
 
46 - 02.02.20 - 08:15
(45) Статья может быть хорошая, подтверждает, что ссылка нужной версии comcntr.dll прописана в реестре. Но конкретно по моему вопросу (44) ничего. А в статье "COM соединения к базам 1С на различных версиях платформы" (http://catalog.mista.ru/public/276794/ автор Леонид Кириенко) указывается конкретная ссылка HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{2B0C1632-A199-4350-AA2D-2AEE3D2D573A}\InprocServer32 для 64 битной ОС. Но на рабочем сервере ее нет, а в моем компе в ней прописана D:\Program Files (x86)\1cv82\8.2.19.130\bin\comcntr.dll - для моего случая бесполезна.
Перерыл все ссылки с значением параметра: D:\Program Files\1cv8\8.3.10.2466\bin\comcntr.dll и D:\Program Files (x86)\1cv8\8.3.10.2466\bin\comcntr.dll. Их было 3 и 8, когда добавил платформу 8.3.14.1779, то часть ссылок 2 и 5 переписались со значением параметра D:\Program Files\1cv8\8.3.14.1779\bin\comcntr.dll. Когда обратно перерегистрирую на 8.3.10.2466 (только переустановкой платформы и перезагрузкой компа! Регистрация утилиты администрирования серверов x86-64 (8.3.10.2466) и D:\Windows\SysWOW64\regsvr32 "D:\Program Files\1cv8\8.3.10.2466\bin\comcntr.dll" не помогают!?) значения этих ссылок не меняется!!!??? Допускаю, что есть еще ссылка, которая содержит одну из этих ссылок, и переписывает ее при регистрации. Но как ее найти?
А Леонид Кириенко переключает платформу Com-соединения переписыванием ссылки с comcntr.dll нужной версии. Плюс еще делает taskkill.exe /f /im dllhost.exe с административными правами. По поводу последнего он пишет "Для начала создадим для коннектора обертку COM+, чтобы вызовы происходили не в контексте 1cv8.exe (1cv8c.exe), а в контексте dllhost.exe. В интернете достаточно публикаций на тему как это сделать...", конкретную ссылку не дает. На рабочем сервере в службе компонентов добавил V8COMConnector, не знаю правильно ли, результата нет...
   Mikhail Volkov
 
47 - 03.02.20 - 08:15
При ошибках: различия версий https://i.ibb.co/pdrH9Wy/COM.jpg, база не обнаружена на сервере (предлагает создать), и других в ОписаниеОшибки() не пишет конкретную причину, а лишь: "Ошибка при вызове метода контекста (Connect): Неизвестная ошибка".
   d4rkmesa
 
48 - 03.02.20 - 08:23
(44) regdllview и regdllview-x64
   Папа Гапа
 
49 - 03.02.20 - 08:23
В семерке в базовой не было com...
   d4rkmesa
 
50 - 03.02.20 - 08:24
(48) это мини-утилитка, там удобнее смотреть, чем в реестре.
   Mikhail Volkov
 
51 - 03.02.20 - 10:02
(50) Скачал, как ей пользоваться?
   Mikhail Volkov
 
52 - 03.02.20 - 14:36
Нашел https://ibb.co/rQMZNnn "RegDllView — миниатюрная утилита, выводящая список всех зарегистрированных файлов dll/ocx/exe (COM-регистрация), причем для каждого файла можно посмотреть дату и время последней регистрации, а также список всех записей в системном реестре (CLSID/ProgID).
Кроме этого, RegDllView позволяет без труда отменить регистрацию dll/ocx или, наоборот, зарегистрировать в системе нужные dll/ocx - так, для регистрации нужно будет всего лишь перетащить один или несколько файлов из окна Explorer в окно RegDllView".
Отменить регистрацию понимаю удалением строки с D:\Program Files\1cv8\8.3.10.2466\bin\comcntr.dll, а как зарегистрировать D:\Program Files\1cv8\8.3.14.1779\bin\comcntr.dll - не понял?
   Mikhail Volkov
 
53 - 03.02.20 - 16:44
Перерегистрировал платформу на 8.3.14.1779, а все равно ошибка различий версий!? https://ibb.co/jVV9jHW Откуда он берет клиентскую часть 8.3.10.2466?
   Флориан
 
54 - 03.02.20 - 16:53
   Mikhail Volkov
 
55 - 03.02.20 - 18:22
(54) У меня нет проблемы «Недопустимая строка с указанием класса». Запускаю Com-соединение из базы на платформе 8.3.14.1779. RegDllView показывает что запущена comcntr.dll версии 8.3.14.1779. Соединяюсь с базой на 8.3.14.1779. И такая ошибка, откуда он берет клиентскую часть 8.3.10.2466? Хотя если соединяюсь с базой на платформе 8.3.10.2466, то все нормально.
   Mikhail Volkov
 
56 - 04.02.20 - 07:53
+ Выходит RegDllView только видимость создает, не зря в () писал, что перерегистрация платформы возможна только переустановкой платформы и перезагрузкой компа! Регистрация утилиты администрирования серверов x86-64 (8.3.10.2466) и D:\Windows\SysWOW64\regsvr32 "D:\Program Files\1cv8\8.3.10.2466\bin\comcntr.dll" не помогают. Но сейчас переустановка платформы не помогла!?
   Mikhail Volkov
 
57 - 04.02.20 - 07:55
> в (46)
   Mikhail Volkov
 
58 - 05.02.20 - 15:50
Бог с ней RegDllView, что она показывает не понятно. Вернулся к статье "COM соединения к базам 1С на различных версиях платформы" (http://catalog.mista.ru/public/276794/ автор Леонид Кириенко). По поводу "Для начала создадим для коннектора обертку COM+, чтобы вызовы происходили не в контексте 1cv8.exe (1cv8c.exe), а в контексте dllhost.exe" пригодилась ссылка (54). Правда не понял суть этого, но сделал https://ibb.co/HHXj1hG, не знаю правильно ли?
В 1С прописал:
Процедура СменитьВерсиюПлатформы(СтруктураПодключения, СтрокаПодключения, ВерсияПриложения)
    Если Найти(СтрокаПодключения, "PatrERP") > 0 Тогда
        СтрокаПодключения = СтрЗаменить(СтрокаПодключения, СтруктураПодключения.ИмяСервера, СтруктураПодключения.ИмяСервера + ":1740");
    КонецЕсли;
    ТребуемаяВерсия    = ?(Найти(СтрокаПодключения, "PatrERP") = 0, "8.3.10.2466", "8.3.14.1779");
    CLSID = "{181E893D-73A4-4722-B61D-D604B3D67D47}";    
    Ключ = "HKEY_CLASSES_ROOT\Wow6432Node\CLSID\" + CLSID + "\InprocServer32\";
    
    WshShell = Новый COMОбъект("WScript.Shell");    
    Значение = WshShell.RegRead(Ключ);
    Если Найти(Значение, ТребуемаяВерсия) > 0 Тогда
        ВерсияПриложения = ТребуемаяВерсия;
        Возврат;
    Иначе
        Сообщить("Значение ключа " + Ключ + ": " + Значение, СтатусСообщения.Внимание);
    КонецЕсли;
    Если ТребуемаяВерсия = "8.3.14.1779" Тогда
        Значение = СтрЗаменить(Значение, " (x86)\1cv8\8.3.10.2466", "\1cv8\8.3.14.1779");
    Иначе
        Значение = СтрЗаменить(Значение, "\1cv8\8.3.14.1779", " (x86)\1cv8\8.3.10.2466");
    КонецЕсли;
    WshShell.RegWrite(Ключ, Значение);
    ЗапуститьПриложение("taskkill.exe /f /im dllhost.exe",, Истина);
    ВерсияПриложения = ТребуемаяВерсия;
КонецПроцедуры// СменитьВерсиюПлатформы()

Запускаю на 8.3.14.1779, соединяюсь с базой на 8.3.10.2466 - все нормально (и раньше так было). Соединяюсь с базой на 8.3.14.1779 - происходит замена ссылки в реестре HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{181E893D-73A4-4722-B61D-D604B3D67D47}\InprocServer32 на параметр D:\Program Files\1cv8\8.3.14.1779\bin\comcntr.dll, DLL в службе компонентов (это же значение). Но 1С выдает ошибку: "Несоответствие версий клиента и сервера 1С:Предприятия" (8.3.10.2466 - 8.3.14.1779). Что ни так сделал?
   Mikhail Volkov
 
59 - 05.02.20 - 16:20
А запускаю эту же базу на 8.3.10.2466, получаю: Ошибка при вызове метода контекста (RegRead) Значение = WshShell.RegRead(Ключ);
по причине: Произошла исключительная ситуация (WshShell.RegRead): Неверная ссылка на корень в разделе реестра "HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{181E893D-73A4-4722-B61D-D604B3D67D47}\InprocServer32\".
В чем дело?
   Mikhail Volkov
 
60 - 06.02.20 - 07:51
Вопрос открытый: По какому принципу запускается именно клиентская часть 8.3.10.2466 для COM соединения? (а не 8.3.14.1779)
   Mikhail Volkov
 
61 - 09.02.20 - 14:15
Тишина... никто не знает? А главный вопрос: возможна ли смена версии до начала COM соединения?
   Mikhail Volkov
 
62 - 11.02.20 - 15:34
Для запуска файловой базы всегда стартует последняя платформа. Для запуска серверной базы смотрит на порт сервера, как-то понимает какую платформу запускать для клиентской и серверной частей. Почему для COM соединения всегда запускается одна и та же клиентская часть? На реестр никак не реагирует, какой указана версия comcntr.dll. Может в файлах ini надо самому настройки менять? Где, в каком?
   dmrjan
 
63 - 11.02.20 - 15:45
На сервере в последнее время ставлю только 64разрядный клиент, устанавливая платформу проверяю компоненту com. Предыдущую платформу всегда сношу. Стараюсь до удаления старой платформы не переносить каталог с её инсталляцией в другое место и не удалять его, иначе могут возникнуть сложности с деинсталляцией. Вроде после этого com работает.
   Mikhail Volkov
 
64 - 11.02.20 - 15:52
(63) > Предыдущую платформу всегда сношу.
Нужны 2 версии платформы на одном сервере.
   d4rkmesa
 
65 - 11.02.20 - 16:03
(64) Читали?
http://catalog.mista.ru/public/610960/

Но придется переписать вызов V83COMConnector, чтобы использовались разные ProgID в обработке обмена. RegDLLView все правильно показывает, но надо понимать, что она показывает, к тому же, там 32 и 64-битные dll надо смотреть соответствующими версиями. По крайней мере, RegDLLView дает очевидное понимание, что сейчас зарегистрировано.
   sikuda
 
66 - 11.02.20 - 16:08
(0) Если достало глючное поведение COM, выверенные конвертации хочется использовать прямым подключением - http://catalog.mista.ru/public/1176839/
 
 Рекламное место пустует
   Mikhail Volkov
 
67 - 11.02.20 - 16:30
(65) > RegDLLView дает очевидное понимание, что сейчас зарегистрировано.
Где его смотреть?
http://catalog.mista.ru/public/610960/ читал, но это для COM с ограниченными возможностями, мне нужно OLE-соединение.
(66) Задача так поставлено - открывать объекты другой базы. Когда все базы на одной платформе, не спорю, удобно. Но по моему не очень надо, если очень надо, то зайди в нее, найди нужный объект, открой его, и делай что хочешь...
   d4rkmesa
 
68 - 11.02.20 - 17:02
(67) А, так вам Application нужен, что же вы тему немного офтопите? comcntr.dll - это только COM "с ограниченными возможностями". Application регистрируется обычно через: C:\Program Files\1cv8\[версия платформы]\bin\1cv8.exe" /regserver . Зарегить обе версии сразу - готового решения нет. Проще всего - разнести платформы по разным серверам. А лучше всего - не использовать v83.application, Automation - позапрошлый век в наше время.
   Mikhail Volkov
 
69 - 11.02.20 - 17:32
(68) > Application регистрируется обычно через: C:\Program Files\1cv8\[версия платформы]\bin\1cv8.exe" /regserver .
А где смотреть (менять если получится), в реестре?
   Garykom
 
70 - 11.02.20 - 17:49
(69) Прекрати уже фигней страдать, технология COM/OLE все, забыть про нее и делать другими способами.
Есть смысла в COM когда дикий легаси из кровавого энтерпрайза и переписывать влом, некому и нет денег.
   pechkin
 
71 - 11.02.20 - 17:50
(70) ну так у него так все и есть
   Garykom
 
72 - 11.02.20 - 18:00
(71) Он херней страдает, давно бы поставил одну платформу 8.2 для альфы и вторую (тоже одну) 8.3 для КА или что там у него.
Несколько одновременно 8.3.Х.Y глючит COM/OLE по страшному
   Mikhail Volkov
 
73 - 11.02.20 - 18:40
(68) Да, значение D:\Program Files (x86)\1cv8\8.3.10.2466\bin\1cv8.exe найдено в 6 реестрах:
HKEY_CLASSES_ROOT\CLSID\{E92B75E3-2EA1-4FEC-B493-CEF3EC59FCA6}\LocalServer32
HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{E92B75E3-2EA1-4FEC-B493-CEF3EC59FCA6}\LocalServer32
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{E92B75E3-2EA1-4FEC-B493-CEF3EC59FCA6}\LocalServer32
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{E92B75E3-2EA1-4FEC-B493-CEF3EC59FCA6}\LocalServer32
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\Components\B322A3EFECA3A15429059AD028FECAB3
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{E92B75E3-2EA1-4FEC-B493-CEF3EC59FCA6}\LocalServer32
А значений значение D:\Program Files\1cv8\8.3.10.2466\bin\1cv8.exe и значение D:\Program Files\1cv8\8.3.14.1779\bin\1cv8.exe не найдено. Хорошо, перепишу в них на значение D:\Program Files\1cv8\8.3.14.1779\bin\1cv8.exe, и надо выполнить что-то. Что? Например, в http://catalog.mista.ru/public/276794/ автор выполняет taskkill.exe /f /im dllhost.exe для COM. А мне что?
(70) Отвечал уже в (67), до меня так было, все уже привыкли к этому.
   Garykom
 
74 - 11.02.20 - 19:07
(73) А DOS или CP/M у вас там случаем нету? С Clipper и FoxPro под них?
   Garykom
 
75 - 11.02.20 - 19:09
(74)+ Или вот этой предтечи 1с https://ru.wikipedia.org/wiki/Harbour
   Сияющий в темноте
 
76 - 11.02.20 - 19:58
Automation до сих пор жива,как жив Microsoft Office
собственно,для него она и придумывалась.
но,в силу того,что разработчики положили на ее реализацию во многих приложениях,местая о том,что есть другие способы,но когда нужно за пользователя сделать часть действий через код,то в офисе народ давит запись макроса и наслаждается эффектом Вау,а в остальных местах начинает грызть кактусы,так как без Automation макросов нету.

но,решение Automation не для интеграции,а для упрощения взаимодействия с пользователем.
применение его для интеграции особенно без участия пользователя выглядит достаточно костыльно.
   Mikhail Volkov
 
77 - 12.02.20 - 09:14
(68) что еще нужно, чтобы запускалась клиентская часть платформы 8.3.14.1779 (а не 8.3.10.2466) при OLE-соединении, кроме перезаписи реестра?
   d4rkmesa
 
78 - 12.02.20 - 09:22
(77) Зарегьте какую-нибудь одну через: C:\Program Files\1cv8\[версия платформы]\bin\1cv8.exe" /regserver . От второй отказывайтесь или установите на другой компьютер(если речь о файловой, то наверняка найдется, где развернуть). Т.е., на данном этапе уже лучше изменить подход, чем тратить ресурсы и время на "костыли".
   Mikhail Volkov
 
79 - 12.02.20 - 09:35
(78) Это как, командой (из командной строки)?
   d4rkmesa
 
80 - 12.02.20 - 09:39
(79) Да.
   Mikhail Volkov
 
81 - 15.02.20 - 12:34
Интересно, при запуске серверной базы 1С смотрит какой порт приписал к имени сервера, и запускает нужную версию платформы для серверной части. Почему для клиентской части не использован этот алгоритм?
   Mikhail Volkov
 
82 - 16.02.20 - 16:55
+ Вроде значения реестров не меняются после регистрации версии платформы. Как определить какая версия зарегистрирована последней, какая запустится клиентская часть для OLE-соединения?
   Mikhail Volkov
 
83 - 17.02.20 - 12:39
Странно, у меня сейчас даже C:\Program Files\1cv8\[версия платформы]\bin\1cv8.exe" /regserver не переключается, и после перезагрузки.
   Mikhail Volkov
 
84 - 17.02.20 - 16:43
+ Это я переустанавливал платформы 8.3, Агент сервера 1С:Предприятия 8.3 со стандартными портами 15хх исчез, остался только добавленный с нестандартными портами!? Как его восстановить?
   Garykom
 
85 - 17.02.20 - 16:46
(84) "Ручки шаловливые кошельку покоя не дают"©
   Mikhail Volkov
 
86 - 17.02.20 - 17:15
+ Хотя HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\1C:Enterprise 8.3 Server Agent (x86-64) остался со значением ImagePath "D:\Program Files\1cv8\8.3.10.2466\bin\ragent.exe" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d "D:\Program Files\1cv8\srvinfo".
   Mikhail Volkov
 
87 - 18.02.20 - 07:34
(78) > установите на другой компьютер
Впервые столкнулся с проблемой COM/OLE-соединения когда подключался к базе партнера. Другой сервер и домен, только локальная сеть общая (работаем на территории одного АСК). Версии 1С 8.3 были разные. Пока не поставил версию такую же как у них ничего не получалось.
   Mikhail Volkov
 
88 - 18.02.20 - 17:44
Кажется нашел http://catalog.mista.ru/public/803433/ - "Показывает текущие версии зарегистрированных компонент 1С (требуется .NET Framework 4.0 и права администратора)". Как определить есть у меня .NET Framework 4.0?
   luter-89
 
89 - 18.02.20 - 17:49
(0) Это в 8.3.16 что-то наделали,у меня такая же ерунда.
Не советую ставить, ибо глюков там до хрена, только что откатился обратно до 8.3.13
   pechkin
 
90 - 18.02.20 - 17:50
а что за компонента V8x.ServerAbout из (88)
   Mikhail Volkov
 
91 - 18.02.20 - 18:48
(90) Не знаю, меня интересует V8x.Application.
   VladZ
 
92 - 18.02.20 - 18:53
(0) Переходи на веб-сервисы. Ком - в топку!
   d4rkmesa
 
93 - 18.02.20 - 19:45
(0) (89) 8.3.15, похоже, тоже. Судя по всему, что-то сейчас работает иначе, чем раньше. Я *censored* [устал] регить V83COMConnector сегодня разными способами. Благо, на сервере вроде получилось сделать через "Исправить" установленной платформы. А вот на клиентах (есть обработки, где на клиенте, то бишь сервере терминалов, запускается соединение) что-то не получалось совсем. Такое ощущение, что теперь не просто регистрируется компонента, а еще где-то какие-то зависимости прописываются. Причем эти зависимости кэшируются системой, судя по тому, что перезапуск помогает в некоторых случаях. И еще следствие этого - различные "костыли" с запуском разных версий ComConnector не работают, по крайней мере, 8.3.12 и 8.3.15 не удалось подружить как то совсем. Похоже, придется ставить Апач и кодить http-сервисы. Либо выносить кластер 8.3.15 на отдельную виртуалку и инициировать V83COMConnector только НаСервере.
   Garykom
 
94 - 18.02.20 - 21:02
(89) Были глюки со "старым" апачем 2.4.39 и то после обновления пропали.
Так что 8.3.16.1148 вполне гуд.
   Mikhail Volkov
 
95 - 19.02.20 - 09:00
(93) > Причем эти зависимости кэшируются системой, судя по тому, что перезапуск помогает в некоторых случаях.
Выше 8.3.14 у меня нет платформ. Агента со стандартными портами восстановил. Избежать кэширование удалось?
   Mikhail Volkov
 
96 - 19.02.20 - 20:12
(87)+ Вряд-ли система обращается к реестру того сервера, на котором находится подсоединяемая база, чтобы определить зарегистрированную версию. Наверное к своему реестру (или к чему?). Если бы предварительно переписать значение на нужную версию платформы, то было бы все нормально?
   Garykom
 
97 - 19.02.20 - 20:27
(96) Не будет нормально. Забудь про COM/OLE. Скоро железо на ARM перейдет с x86 и где этот COM?
   sitex
 
98 - 19.02.20 - 22:11
(0) в  (2)  же написали чего не понятно. Это всего лишь вопрос времени .
   Сияющий в темноте
 
99 - 19.02.20 - 22:23
(97) windows ce прекрасно там работало и com тоже.
а вот поставить туда httpd было сложнее.
   Garykom
 
100 - 20.02.20 - 00:23
(99) com там на wince на arm было свое, несовместимое с x86 на большой винде

так что 100
  1  2   

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