|   |   | 
| 
 | 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 | ||||
| 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) Серверные платформы запускаются какие надо, по номеру порта понимают дописанного к имени сервера. А клиентская часть только по зарегистрированной, сменить которую может лишь админ.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |