1. uri1978 122 21.08.14 12:47 Сейчас в теме

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

Привет всем.
Предполагалось, что конфа будет файловой и из неё нужно по 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 52 11.01.17 21:04 Сейчас в теме
(1) и не будет оно работать, т.к. comcntr.dll загружает другие dll и проверяет их версии, разные версии в один процесс не получится загрузить. Чтобы такой код работал с разными версиями 1С, нужно V83.COMConnector регистрировать в COM+, чтобы оно жило в своем процессе.
19. uri1978 122 31.01.17 15:32 Сейчас в теме
(18) Работает правильно. Решение в (15)
20. I_G_O_R 52 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 358 21.08.14 12:51 Сейчас в теме
3. uri1978 122 21.08.14 12:54 Сейчас в теме
(2) dj_serega,

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

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

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

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

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

Вакансии

Разработчик 1С
Москва
зарплата от 100 000 руб. до 160 000 руб.
Полный день

Консультант-аналитик 1С
Санкт-Петербург
Полный день

Консультант-аналитик 1С
Москва
зарплата от 120 000 руб. до 120 000 руб.
Полный день

Удаленный ИТ-журналист
Санкт-Петербург
По совместительству

Программист 1С
Санкт-Петербург
зарплата от 100 000 руб.
Полный день