Имя: Пароль:
1C
1С v8
1С не видит COM
,
0 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 и добавлял заново. В свойствах приложения убирал принудительную проверку доступа для приложения, применял политику программных ограничений - уровень неограниченный. Прописывал пользователя, из-под которого будет производиться вход: и локального, и доменного. Но каждый раз "Недопустимая строка с указанием класса". Чего ей ещё от меня надо-то?
16 Генератор
 
24.01.20
21:14
мне регистрация в службах компонентов всегда помогала
17 Predator
 
25.01.20
04:02
Фига тут наванговали уже)
Нет, версия одна и запускаю на сервере. Проблема решилась перезапуском сервера 1С. Всем спасибо за участие.
18 Mikhail Volkov
 
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
19 Mikhail Volkov
 
27.01.20
12:19
Вроде COM-соединение возможно с базой на другой версии платформы 8.3 А OLE-соединение возможно?
20 1C_coder
 
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. Я не создавал.

И лучше физически перезагрузить сервер сам компьютер.
21 Mikhail Volkov
 
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).
22 Garykom
 
гуру
27.01.20
16:20
(21) Я вот думаю сказать или нет что COM как и прочие приложения могут быть как x32 так и x64...

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

И поры бы научиться пользоваться гуглом чтобы находить http://datadump.ru/regsvr32/
46 Mikhail Volkov
 
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, не знаю правильно ли, результата нет...
47 Mikhail Volkov
 
03.02.20
08:15
При ошибках: различия версий https://i.ibb.co/pdrH9Wy/COM.jpg, база не обнаружена на сервере (предлагает создать), и других в ОписаниеОшибки() не пишет конкретную причину, а лишь: "Ошибка при вызове метода контекста (Connect): Неизвестная ошибка".
48 d4rkmesa
 
03.02.20
08:23
(44) regdllview и regdllview-x64
49 Папа Гапа
 
03.02.20
08:23
В семерке в базовой не было com...
50 d4rkmesa
 
03.02.20
08:24
(48) это мини-утилитка, там удобнее смотреть, чем в реестре.
51 Mikhail Volkov
 
03.02.20
10:02
(50) Скачал, как ей пользоваться?
52 Mikhail Volkov
 
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 - не понял?
53 Mikhail Volkov
 
03.02.20
16:44
Перерегистрировал платформу на 8.3.14.1779, а все равно ошибка различий версий!? https://ibb.co/jVV9jHW Откуда он берет клиентскую часть 8.3.10.2466?
54 Флориан
 
03.02.20
16:53
55 Mikhail Volkov
 
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, то все нормально.
56 Mikhail Volkov
 
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" не помогают. Но сейчас переустановка платформы не помогла!?
57 Mikhail Volkov
 
04.02.20
07:55
> в (46)
58 Mikhail Volkov
 
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). Что ни так сделал?
59 Mikhail Volkov
 
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\".
В чем дело?
60 Mikhail Volkov
 
06.02.20
07:51
Вопрос открытый: По какому принципу запускается именно клиентская часть 8.3.10.2466 для COM соединения? (а не 8.3.14.1779)
61 Mikhail Volkov
 
09.02.20
14:15
Тишина... никто не знает? А главный вопрос: возможна ли смена версии до начала COM соединения?
62 Mikhail Volkov
 
11.02.20
15:34
Для запуска файловой базы всегда стартует последняя платформа. Для запуска серверной базы смотрит на порт сервера, как-то понимает какую платформу запускать для клиентской и серверной частей. Почему для COM соединения всегда запускается одна и та же клиентская часть? На реестр никак не реагирует, какой указана версия comcntr.dll. Может в файлах ini надо самому настройки менять? Где, в каком?
63 dmrjan
 
11.02.20
15:45
На сервере в последнее время ставлю только 64разрядный клиент, устанавливая платформу проверяю компоненту com. Предыдущую платформу всегда сношу. Стараюсь до удаления старой платформы не переносить каталог с её инсталляцией в другое место и не удалять его, иначе могут возникнуть сложности с деинсталляцией. Вроде после этого com работает.
64 Mikhail Volkov
 
11.02.20
15:52
(63) > Предыдущую платформу всегда сношу.
Нужны 2 версии платформы на одном сервере.
65 d4rkmesa
 
11.02.20
16:03
(64) Читали?
http://catalog.mista.ru/public/610960/

Но придется переписать вызов V83COMConnector, чтобы использовались разные ProgID в обработке обмена. RegDLLView все правильно показывает, но надо понимать, что она показывает, к тому же, там 32 и 64-битные dll надо смотреть соответствующими версиями. По крайней мере, RegDLLView дает очевидное понимание, что сейчас зарегистрировано.
66 sikuda
 
11.02.20
16:08
(0) Если достало глючное поведение COM, выверенные конвертации хочется использовать прямым подключением - http://catalog.mista.ru/public/1176839/
67 Mikhail Volkov
 
11.02.20
16:30
(65) > RegDLLView дает очевидное понимание, что сейчас зарегистрировано.
Где его смотреть?
http://catalog.mista.ru/public/610960/ читал, но это для COM с ограниченными возможностями, мне нужно OLE-соединение.
(66) Задача так поставлено - открывать объекты другой базы. Когда все базы на одной платформе, не спорю, удобно. Но по моему не очень надо, если очень надо, то зайди в нее, найди нужный объект, открой его, и делай что хочешь...
68 d4rkmesa
 
11.02.20
17:02
(67) А, так вам Application нужен, что же вы тему немного офтопите? comcntr.dll - это только COM "с ограниченными возможностями". Application регистрируется обычно через: C:\Program Files\1cv8\[версия платформы]\bin\1cv8.exe" /regserver . Зарегить обе версии сразу - готового решения нет. Проще всего - разнести платформы по разным серверам. А лучше всего - не использовать v83.application, Automation - позапрошлый век в наше время.
69 Mikhail Volkov
 
11.02.20
17:32
(68) > Application регистрируется обычно через: C:\Program Files\1cv8\[версия платформы]\bin\1cv8.exe" /regserver .
А где смотреть (менять если получится), в реестре?
70 Garykom
 
гуру
11.02.20
17:49
(69) Прекрати уже фигней страдать, технология COM/OLE все, забыть про нее и делать другими способами.
Есть смысла в COM когда дикий легаси из кровавого энтерпрайза и переписывать влом, некому и нет денег.
71 pechkin
 
11.02.20
17:50
(70) ну так у него так все и есть
72 Garykom
 
гуру
11.02.20
18:00
(71) Он херней страдает, давно бы поставил одну платформу 8.2 для альфы и вторую (тоже одну) 8.3 для КА или что там у него.
Несколько одновременно 8.3.Х.Y глючит COM/OLE по страшному
73 Mikhail Volkov
 
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), до меня так было, все уже привыкли к этому.
74 Garykom
 
гуру
11.02.20
19:07
(73) А DOS или CP/M у вас там случаем нету? С Clipper и FoxPro под них?
75 Garykom
 
гуру
11.02.20
19:09
(74)+ Или вот этой предтечи 1с https://ru.wikipedia.org/wiki/Harbour
76 Сияющий в темноте
 
11.02.20
19:58
Automation до сих пор жива,как жив Microsoft Office
собственно,для него она и придумывалась.
но,в силу того,что разработчики положили на ее реализацию во многих приложениях,местая о том,что есть другие способы,но когда нужно за пользователя сделать часть действий через код,то в офисе народ давит запись макроса и наслаждается эффектом Вау,а в остальных местах начинает грызть кактусы,так как без Automation макросов нету.

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

так что 100
101 Mikhail Volkov
 
20.02.20
20:56
(78) Похоже не работает "C:\Program Files\1cv8\[версия платформы]\bin\1cv8.exe" /regserver", ни Регистрация утилиты администрирования серверов... Как мне посмотреть, какая у меня версия зарегистрирована из 2-х работающих?
102 d4rkmesa
 
20.02.20
21:06
(101) Обычно работает последняя зарегистрированная. Для верность можно сделать рестарт сервера. Можно глянуть в утилитах, но это, как выяснилось, не показатель.

Лично я прекратил эксперименты с разными платформами, все регистрации оставил для крайней платформы, т.е. оставил штатный вариант. А для УПП на 8.3.12 накидаю быстренько http-сервис, админы уже сегодня умудрились поставить Апач, но решили внезапно что IIS лучше. Ну поглядим.
103 Mikhail Volkov
 
21.02.20
08:05
(102) Что смотреть в утилитах, каких? Для http://catalog.mista.ru/public/803433/ автор пишет, что х64 не готова. Ответил https://forum.infostart.ru/forum105/topic189152/#message2390967, но там значение параметра не меняется при переключении зарегистрированной версии. Или у меня не переключается!?
104 Garykom
 
гуру
21.02.20
08:12
За то время что пытаешься починить COM/OLE можно уже 20 раз было переписать на веб-сервисы.
105 Mikhail Volkov
 
21.02.20
10:59
(104) Отвечал уже в (67)
(103)+ Наверное зря пытаюсь найти ответ: какая у меня платформа зарегистрирована - это для приложений не 1С, типа Excel. По моему для 1С клиентская часть COM/OLE соединения запускается той версии, из которой устанавливается соединение: если запускаю из 8.3.10.2466 базу на 8.3.10.2466, то то все нормально. А если соединяюсь с базой на 8.3.14.1779, то выдает ошибку разности версий клиентской и серверных частей. А если эту же файловую базу запускаю на 8.3.14.1779 (в рабочем варианте не используется), и пытаюсь соединиться с серверной базой на 8.3.10.2466,  то сразу же получаю ошибку: Ошибка при вызове метода контекста (Connect): Неизвестная ошибка. А с серверной базой на 8.3.14.1779 соединяется медленно, но нормально.
Надо искать способ, чтобы клиентская часть запускалась нужной версии, как серверная.
106 Mikhail Volkov
 
21.02.20
17:00
Раньше из разных версий брал данные, соединялся, включая 7.7. Только на 8.3 оказались такие проблемы...
107 Mikhail Volkov
 
22.02.20
14:28
Здесь нет ответа. Задал вопрос: Возможно ли OLE-подключение к базам 1С работающих на различных версиях 8.3 на http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=657198#657198
108 Mikhail Volkov
 
24.02.20
10:22
(105)+ Все же решил посмотреть в реестре какая у меня зарегистрирована версия платформы для OLE соединения. HKEY_CLASSES_ROOT\V83.Application\CLSID показывает значение CLSID {e92b75e3-2ea1-4fec-b493-cef3ec59fca6}. Иду на HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{e92b75e3-2ea1-4fec-b493-cef3ec59fca6}\LocalServer32 показывает значение параметра D:\Program Files (x86)\1cv8\8.3.10.2466\bin\1cv8.exe. Меняю его на D:\Program Files\1cv8\8.3.14.1779\bin\1cv8.exe. И база запущенная на 8.3.10.2466 соединилась с базой на 1С-сервере 8.3.14.1779, нет прежней ошибки разных версий!
Правда с базами на 1С-сервере 8.3.10.2466 не соединяется: Ошибка при вызове метода контекста (Connect): Произошла исключительная ситуация (V83.COMConnector.1): Несоответствие версий клиента и сервера 1С:Предприятия
Различаются версии клиента и сервера (8.3.14.1779 - 8.3.10.2466), клиентское приложение: COM-соединение. Надо обратно зарегистрированную версию платформы менять.
Решил чтобы 1С сама ее переключала по примеру из COM соединения к базам 1С на различных версиях платформы (http://catalog.mista.ru/public/276794/). Но на 8.3.10.2466 база ошибку дает: Произошла исключительная ситуация (WshShell.RegRead): Неверная ссылка на корень в разделе реестра HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{e92b75e3-2ea1-4fec-b493-cef3ec59fca6}\LocalServer32\, а эта же база запущенная на 8.3.14.1779 не дает (в рабочем варианте не используется). Что ни так?
109 Mikhail Volkov
 
24.02.20
15:32
110 Mikhail Volkov
 
25.02.20
08:28
А на рабочем сервере нет этой ошибки, нормально КА2 открывается по OLE соединению, только почему-то всю база, а не отдельный объект (как в УПП/КА1)?
111 Mikhail Volkov
 
25.02.20
16:11
(110) Нет, отдельный объект. Но смена регистрированной платформы в реестре требует админские права. Как быть обычным пользователям?
112 Mikhail Volkov
 
27.02.20
13:19
Поработал на рабочем сервере с , теперь в рабочей базе: Ошибка при вызове конструктора (COMОбъект): -2147467262(0x80004002): Интерфейс не поддерживается
Значение параметра HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{E92B75E3-2EA1-4FEC-B493-CEF3EC59FCA6}\LocalServer32 как было раньше C:\Program Files (x86)\1cv8\8.3.10.2466\bin\1cv8c.exe
113 Mikhail Volkov
 
27.02.20
17:37
Исправил C:\Program Files (x86)\1cv8\8.3.10.2466\bin\1cv8.exe
114 Сияющий в темноте
 
27.02.20
18:45
так в серверном варианте разные платформы прокатили?
именно,чтобы обе на серверах,но на разных?
115 Mikhail Volkov
 
28.02.20
07:39
(114) Серверные платформы запускаются какие надо, по номеру порта понимают дописанного к имени сервера. А клиентская часть только по зарегистрированной, сменить которую может лишь админ.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс