Com-соединение из 8.2 в 8.3

1. uri1978 137 21.08.14 12:47 Сейчас в теме
Привет всем.
Предполагалось, что конфа будет файловой и из неё нужно по COM-соединению загружать данные в другую базу.
В итоге имею.
1. На компе установлено две платформы - 8.2 и 8.3;
2. Из 8.2 нужно програмно подключиться к файловой 1С 8.3 и забрать из неё данные.
3. При попытке подключения (код напишу ниже) платформа сразу же падает (вылетает из Винды).

Код:

	COMПодключение = Новый COMОбъект("V83.COMConnector");
	СтрокаПодключения = "File=""D:\Temp\РесурсыПредприятия"";Usr=""Администратор"";";
	COMОбъект = COMПодключение.Connect(СтрокаПодключения);


В отладчике установил что валиться на последней строчке.
Кто может быть сталкивался?

P.S. из 8.2 к 8.2 коннекчусь без проблем.
Конфигурация написана на БСП последней версии, хотел перевести в режим совместимости 8.2.16, на есть объекты "ОпределяемыйТип" которые введены только в 8.3 и на них много текста повязано, не хотелось бы вычищать.
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
18. I_G_O_R 69 11.01.17 21:04 Сейчас в теме
(1) и не будет оно работать, т.к. comcntr.dll загружает другие dll и проверяет их версии, разные версии в один процесс не получится загрузить. Чтобы такой код работал с разными версиями 1С, нужно V83.COMConnector регистрировать в COM+, чтобы оно жило в своем процессе.
+
19. uri1978 137 31.01.17 15:32 Сейчас в теме
(18) Работает правильно. Решение в (15)
+
20. I_G_O_R 69 31.01.17 15:52 Сейчас в теме
(19) хм... может в 8.2. было по другому, но вот мне несколько месяцев назад отвечали 1С:
Компонента comcntr.dll и другие компоненты платформы используют несколько статически линкуемых библиотек, например, core83.dll. В процесс возможно загрузить только один экземпляр такой библиотеки. Поэтому, например, из платформы 8.3.8 не получится воспользоваться comcntr.dll версии 8.3.9.

а между разными версиями 8.3 работает?
+
2. dj_serega 391 21.08.14 12:51 Сейчас в теме
А текст ошибки где?
+
3. uri1978 137 21.08.14 12:54 Сейчас в теме
(2) dj_serega,

Платформа 1С падает в винде, закрывается т.е.
+
4. dj_serega 391 21.08.14 12:56 Сейчас в теме
(3) uri1978, А если в "Попытка/Исключение" тоже вылетает?
Через "Запись дампа"?
+
5. uri1978 137 21.08.14 12:57 Сейчас в теме
(4) dj_serega,

Через "Попытку" вызываю - вываливается даже исключение не отрабатывается.
+
6. hroa 21.08.14 13:13 Сейчас в теме
может переменная COMОбъект = поменять название
+
7. uri1978 137 21.08.14 13:40 Сейчас в теме
(6) hroa,
Соединение с 8.2 ходит.
+
8. saiten 246 21.08.14 13:47 Сейчас в теме
Попробуй вместо "V83.COMConnector" сделать "V8.COMConnector", ну и чем-нибудь типа regdllview посмотреть, какая именно comcntr.dll предоставляет объект, мож от какой-нибудь платформы старой осталось...
+
9. uri1978 137 21.08.14 13:53 Сейчас в теме
(8) saiten,
"V8.COMConnector" - Недопустимая строка с указанием класса

Это ж вроде с 1С 8.0 была такая строка?
+
10. saiten 246 21.08.14 13:57 Сейчас в теме
(9) Точно, попутал... Просто 8.3 ставится в тот же каталог, что и 8.0, вот и подумал, что два объекта регистрирует)
+
11. uri1978 137 21.08.14 13:58 Сейчас в теме
(8) saiten,

Кстати посмотерл предложенной утилиткой dll, у меня comcntr.dll нет.
+
12. saiten 246 21.08.14 14:01 Сейчас в теме
(11) должна быть. Регистрирует класс с ПрогИд типа "V83.COMConnector.1". Если длл не зарегистрирована, то и объект бы не создался.
+
13. uri1978 137 21.08.14 14:03 Сейчас в теме
(12) saiten,

Принудительно регистрировал командой: regsvr32 "C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll"
регистрируется, к 8.2 коннектися без проблем. Утилита не показывает.
+
14. saiten 246 21.08.14 14:16 Сейчас в теме
Сейчас проверил - норм соединяется 8.2-8.3. У меня 8.3.4, правда. Х.з. в чём дело может быть... Отпишись, если решишь - интересно.
+
15. uri1978 137 21.08.14 15:24 Сейчас в теме
Виноват "backbas.dll", переустановил правильно платформу.
zetovich; Ibrogim; fixin; +3
16. fixin 4253 18.02.15 12:20 Сейчас в теме
(15) спасибо за совет. Тоже столкнулся. Сейчас переустановлю платформу 8.3, проверю.
+
17. kdyakovamailru 11.01.17 10:33 Сейчас в теме
Просто переустановка не помогает. Нужно удалить файлы backbas*.* и переустановить платформу
+
21. uri1978 137 07.02.17 15:22 Сейчас в теме
Проблема озвученная в первом сообщении, была решена правильной переустановкой 1С. Всё заработало. Ни каких танцев с бубном и регистрацией dll.
+
22. YUGPK 23.10.17 12:35 Сейчас в теме
Спасибо. Помогла переустановка платформы 8.3 на клиенте.
+
Внимание! Тема сдана в архив

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот