|
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 и добавлял заново. В свойствах приложения убирал принудительную проверку доступа для приложения, применял политику программных ограничений - уровень неограниченный. Прописывал пользователя, из-под которого будет производиться вход: и локального, и доменного. Но каждый раз "Недопустимая строка с указанием класса". Чего ей ещё от меня надо-то? |
|||
1
shuhard
24.01.20
✎
17:48
|
(0)дык в реестре то что сидит ?
|
|||
2
Garykom
гуру
24.01.20
✎
17:49
|
(0) Переходи на веб и http сервисы
|
|||
3
Garykom
гуру
24.01.20
✎
17:51
|
"c:\Windows\SysWOW64>regsvr32 "C:\Program Files\1cv8\8.3.16.1063\bin\comcntr.dll"" кривая строка
|
|||
4
Garykom
гуру
24.01.20
✎
17:51
|
||||
5
Garykom
гуру
24.01.20
✎
17:53
|
Для настройки синхронизации используй файлы - самое стабильное
|
|||
6
Predator
24.01.20
✎
17:57
|
(1) Поиск в реестре по V83COMConnector не дал результатов. Или что имеется в виду?
(2) Это не решение конкретной проблемы. (3) Почему кривая? У меня нет там двойных закрывающих кавычек. К тому же система сообщила об успешном выполнении. (4) Если делать через system32, сообщает о том, что не найден указанный модуль, хотя он по этому пути есть. (5) Но не самое оптимальное в нашем случае. И опять же, это не решение конкретной проблемы. |
|||
7
Garykom
гуру
24.01.20
✎
18:01
|
(6) Проблема у вас только одна - попытка использования устаревших и уже нихрена реально не поддерживаемых технологий.
Представь что у тебя Linux (или Mac) и действуй исходя из этого. |
|||
8
craxx
24.01.20
✎
18:09
|
(0) обратись к профессионалам
|
|||
9
craxx
24.01.20
✎
18:10
|
(7) я вангую что он ставит не там и не той разрядности
|
|||
10
Garykom
гуру
24.01.20
✎
18:14
|
(9) Там проблемы когда несколько разных версий платформы 1С стоят или ставили криво.
Можно совместить 8.1. 8.2 и 8.3 а вот разные 8.3 глючит. Например если 8.3.16 и 8.3.15 ну или разрядность того. |
|||
11
craxx
24.01.20
✎
18:17
|
(10) неа. Я подозреваю что надо ставить на сервере, а он пытается на клиенте. Ну и х86-64 и SysWOW64 - как бы противоречие, хотя там надо просто зарегать COM+-приложение
|
|||
12
Сияющий в темноте
24.01.20
✎
18:26
|
С учетом того,что стандартный обмен все равно передает xml-файл,то можно перейти на web-сервисы без проблем.
|
|||
13
craxx
24.01.20
✎
18:28
|
(12) это надо публиковать базу, а мало кто это хочет делать
|
|||
14
hhhh
24.01.20
✎
20:22
|
(13) так надо опубликовать внутри локальной сети, не надо в глобальном интернете публиковать.
|
|||
15
Garykom
гуру
24.01.20
✎
20:35
|
(14) COM сервер тоже как бы публикуется, только при установке. И вот в (0) это и есть попытки публикации правильного COM сервера.
Какая нафик разница что публиковать, модуля расширения веб-сервера поставить и через командную строка аналогично базу зарегать на правильный веб-сервер. Веб сервер апач например банально копированием и httpd.exe -k install |
|||
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
|
||||
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) Серверные платформы запускаются какие надо, по номеру порта понимают дописанного к имени сервера. А клиентская часть только по зарегистрированной, сменить которую может лишь админ.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |