COM соединения к базам 1С на различных версиях платформы

07.05.14

Интеграция - Перенос данных 1C

Долгое время искал возможность подключаться через COM соединение к серверным БД 1С, расположенных на разных серверах (с разными версиями платформ). Перечитал множество публикаций на эту тему, но однозначного для себя ответа не находил. Хочу поделиться своим скромным опытом в решении этой задачи. Может кому и пригодится...

Для создания COM соединения с рабочей станции необходимо наличие в составе установки библиотеки comcntr.dllДумаю об этом лишний раз напоминать не нужно.

Соответственно, для соединения с БД на различных серверных платформах необходимо иметь в комплекте библиотеки всех нужных версий. 

Предполагается, что клиентские платформы установлены в стандартных каталогах и добраться до библиотек можно по пути типа: C:\Program Files (x86)\1cv82\8.2.18.61\bin\comcntr.dll

Для начала создадим для коннектора обертку COM+, чтобы вызовы происходили не в контексте 1cv8.exe (1cv8c.exe), а в контексте dllhost.exe

В интернете достаточно публикаций на тему как это сделать... Для начала можно указать comcntr любой имеющейся версии.

При регистрации comcntr.dll в реестре делается запись: 

HKEY_CLASSES_ROOT\CLSID\{2B0C1632-A199-4350-AA2D-2AEE3D2D573A}\InprocServer32 для 32 битной ОС

или HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{2B0C1632-A199-4350-AA2D-2AEE3D2D573A}\InprocServer32 для 64 битной ОС

значение по умолчанию которой указывает на расположение загружаемой библиотеки: C:\Program Files (x86)\1cv82\8.2.18.61\bin\comcntr.dll

Этим значением мы и будем оперировать. Перед установкой соединения читаем реестр, проверяем текущую версию коннектора и при необходимости заменяем ее на требуемую. После установки соединения в память загружается dllhost.exe, в контексте которого и работает коннектор. Для инициализации соединения к другой базе (с отличающейся версией платформы), ранее отработавшую библиотеку нужно выгрузить из памяти. К сожалению, у меня не получилось сделать это более цивилизованно, чем taskkill.exe /f /im dllhost.exe. Наверняка можно что-то покрасивее придумать...

Ну и самое главное: не забываем, что работать это будет только при запуске 1С с административными правами. Иначе взлетит исключение.

В итоге получаем примерно такой код:


 

Функция ОбновитьКлючРеестра(знач Ключ, знач ТребуемаяВерсия)
	WshShell = Новый COMОбъект("WScript.Shell");	
	Значение = WshShell.RegRead(Ключ);
	Значение1= СтрЗаменить(Значение, "\", Символы.ПС);
	ВерсияОпределена = ложь;
	Для ТекНомер=1 По СтрЧислоСтрок(Значение1) Цикл
		ТекущаяВерсия = СтрПолучитьСтроку(Значение1, ТекНомер);
		Если Лев(ТекущаяВерсия,2)="8." Тогда
			ВерсияОпределена = истина;
			прервать;
		КонецЕсли; 
	КонецЦикла; 
	Если ВерсияОпределена и ТекущаяВерсия<>ТребуемаяВерсия Тогда
		Значение = СтрЗаменить(Значение, ТекущаяВерсия, ТребуемаяВерсия);
		WshShell.RegWrite(Ключ, Значение);
		Возврат Истина;
	иначе 
		Возврат ложь;
	КонецЕсли; 
КонецФункции

Процедура НастроитьКоннектор(знач ТребуемаяВерсия)
	Обновлен = ОбновитьКлючРеестра("HKEY_CLASSES_ROOT\CLSID\{2B0C1632-A199-4350-AA2D-2AEE3D2D573A}\InprocServer32\", ТребуемаяВерсия);
	Если Обновлен Тогда
		ЗапуститьПриложение("taskkill.exe /f /im dllhost.exe",,Истина);
	КонецЕсли; 
КонецПроцедуры

 


Сам вызов осуществляю примерно так:

Для каждого СтрокаТЧ Из СписокБаз Цикл
    НастроитьКоннектор(СтрокаТЧ.Платформа);
    V8 = Новый COMObject ("V82.COMConnector");

    ............

КонецЦикла

Если два последовательных соединения требуют коннектора одной и той же версии, то модификации реестра не происходит и библиотека из памяти не выгружается, что несколько сокращает "накладные расходы"... 

 Опробовано на COM соединениях из толстого клиента к серверным базам на платформах 8.2.x.x

COMConnector COM соединение v82.comconnector

См. также

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 руб.

12.06.2017    138283    764    292    

405

Перенос данных 1C Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) в продаже с 2015 года, постоянно работаем над их развитием | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

45650 руб.

04.08.2015    162947    371    273    

360

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.228.x) и БП 3.0 (3.0.154.x). Правила подходят для версии ПРОФ и КОРП.

28000 руб.

15.12.2021    21882    144    40    

104

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

45650 руб.

15.04.2019    70456    174    146    

117

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 Бухгалтерский учет Управленческий учет Платные (руб)

Переход и перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:ERP Управление предприятием 2.5 и 1С:Комплексную автоматизацию 2.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.227.x), ERP 2.5 (2.5.16.x), КА 2.5 (2.5.16.x) .

28000 руб.

24.06.2020    62431    51    27    

81

SALE! %

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос в продаже с 2015г., и мы постоянно работаем над его развитием. Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

45650 27000 руб.

24.04.2015    192574    143    241    

274

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3.87.x и УТ 11.5.16.x

28000 руб.

23.07.2020    48505    208    64    

170

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Платформа 1C v8.2 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

14580 руб.

18.02.2016    184640    573    509    

516
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. fancy 35 08.05.14 07:01 Сейчас в теме
А если убьете "чужой" dllhost?
ЗапуститьПриложение("taskkill.exe /f /im dllhost.exe",,Истина);
2. JusteRU 08.05.14 08:02 Сейчас в теме
Про административные права немного не понял. Т.е. требуется запускать сервер приложений с административными правами?
3. kapustinag 10.05.14 16:09 Сейчас в теме
(2) JusteRU, Административные права нужны не серверу приложений, а клиентскому процессу 1С-Предприятие, из которого будут выполняться перенастройки ключа реестра, в котором содержится путь к comcntr.dll.
4. amon_ra 55 14.05.14 10:15 Сейчас в теме
способ отличный, но вот только права админа все омрачают(((
5. mmch 131 14.05.14 10:24 Сейчас в теме
Недавно столкнулся с похожей проблемой при переходе на 8.3, КОМ соединение вызывалось именно &НаСеревере
в итоге была ОШИБКА ПРИ СОЗДАНИИ COMОбъект Интерфейс не поддерживается.

После этого выработал инструкцию по установке платформы 1с для работы с COM-соединением, может кому пригодится...

Переустановка платформы 1с, установка сервера:

*Ставим серверную версию из дистрибутива \\Платформа\X.X.XX.XX\windows64.rar на все рабочие сервера 1с
*обязательно ставим возможность подключения через COM-соединение
*обязательно ставим возможность подключения через WEB-соединение
*Ставим клиентскую часть на все компьютеры в сети из дистрибутива \\Платформа\X.X.XX.XX\windows.rar
*Обязательно ставим клиентскую часть на сервера, т.к. без этого не будут работать подключения через COM-объект
*обязательно ставим возможность подключения через WEB-соединение
*ОШИБКА ПРИ СОЗДАНИИ COMОбъект Интерфейс не поддерживается при всех выполненных действиях:
*Например при запуске на сервере 83, COMОбъект 82, тогда необходимо пользователя USR1CV8 добавить в группу Локальные Администраторы (Диспетчер сервера - Конфигурация - Локальные пользователи - группы - Администраторы)

тогда подключение работает в контексте 1cv8.exe...
* правда администраторам придется поступиться безопасностью...
6. EvgeniuXP 14.05.14 18:15 Сейчас в теме
По-моему с 8.х нет проблем соединяться и получать и отправлять данные по COM-соединению... а вот как сделать для 7.7 - тоже кучу нарыл, но так еще не сделал - либо простые способы, где ТЗ не знаешь как передать, либо - сложно - какие-то dll, как их к веб-сервису прикрутить и потом в 1С-ке "получить" OLE и передать параметром ТЗ, а в 7.7 на основании этой ТЗ создать элементы справочника. Только нашел как вызывать глобальные функции, да примитивные типы передавать... с ТЗ подружить не могу пока что...
8. Созинов 15.05.14 10:09 Сейчас в теме
(6) EvgeniuXP, проблемы возникают из-за разных релизов на сервере. Бывают ситуации когда приходится держать разные версии серверов (у нас допустим это 8.2.15.319, 8.2.18.61, 8.2.19.90 и 8.1 и 8.3.3.721) и если стоит задача получать данные со всех серверов - то это трудновато через COM.
Автору +
winterspring; pt_olga; +2 Ответить
7. EvgeniuXP 14.05.14 18:20 Сейчас в теме
хотя уже на всё плюнул 8.3 (отправка ТЗ) -> веб-сервис -> 7.7 (получение ТЗ и создание элементов в справочнике)

и начал изучать основательно С#.
9. kiruha 388 04.06.14 10:25 Сейчас в теме
Мы обычно делаем банально
regsvr32 "C:\Program Files (x86)\1cv82\8.2.18.61\bin\comcntr.dll" (для 8.2.18.61 из сабжа например)
Зачем нужна обертка ? И чем плох такой простой метод ?
22. M_Volkov 5 02.08.17 07:29 Сейчас в теме
(9)
regsvr32 "C:\Program Files (x86)\1cv82\8.2.18.61\bin\comcntr.dll" чем плох такой простой метод ?

Права админа нужны. А нужно, чтобы Com-соединение устанавливалось под любым пользователем 1С.
10. DoctorRoza 04.06.14 15:35 Сейчас в теме
ИМХО, все как в России, когда полы грязные, не ноги отряхиваем, а щетку апгрейдим! Когда в it-экосистеме предприятия стоят разные версии 8.x, тогда нужно давать по рукам админу! А за статью плюс! :)
bomber99544; +1 4 Ответить
11. servs 66 06.06.14 13:16 Сейчас в теме
(10) бывают фирмы, которые обслуживают базы клиентов на своем сервере, у каждого клиента должна быть своя версия. (это я Вам для расширения кругозора объяснил)
18. selig 27.04.15 09:31 Сейчас в теме
(11) servs, а еще бывают конфигурации от горячо любимых разработчиков, которые тупят на новых версиях платформы
16. besica 11.12.14 23:44 Сейчас в теме
(10) DoctorRoza, 1С бух не хочет работать на платформах ниже 8.3.5.... А не типовая база на 100+ пользователей произвольно виснет у различных пользователей на 8.3.5. платформе, при этом на 8.3.4 все отлично работает. А базы друг с другом общаться должны по чуть чуть и по запросу, но в течении дня.
Автору огромный +)))
12. Serg3141 11 30.06.14 11:54 Сейчас в теме
супер, мне помогло - на двух серверах разные версии 1С, необходимо было сделать передачу, а приводить версии в соответствие не дает начальник из-за загруженности на более старом сервере 1С и из-за принципа "не трожь, все и так работает"
13. zakiap 14.10.14 03:43 Сейчас в теме
А не проще ли сделать алиасы на COM объекты в нужном виде и использовать их потом так:

В8 = Новый COMОбъект("V8.2.19.83.COMConnector");
В8 = Новый COMОбъект("V8.3.5.1119.COMConnector");
Прикрепленные файлы:
14. leonid_kirienko 128 15.10.14 18:51 Сейчас в теме
(13) zakiap, для разных версий (8.2, 8.3) применение алиасов может и пройдет, но для разных сборок одной версии платформы - нет. UID коннектора один и тот же - вот беда.
25. M_Volkov 5 20.07.19 17:34 Сейчас в теме
(14)
для разных версий (8.2, 8.3) применение алиасов может и пройдет, но для разных сборок одной версии платформы - нет. UID коннектора один и тот же - вот беда.
Беда не в этом: пробовал по COM соединения с базами 1С на различных версиях платформы "Без перерегистрации и СМС", но беда в том, что создается только COM соединение V83.COMConnector с ограниченными возможностями, запускается небольшая серверная часть. Для моих задач нужно OLE соединение V83.Application. По Вашей методике (и вообще) это возможно?
Прикрепленные файлы:
32. bugagashenka 203 19.11.20 10:21 Сейчас в теме
(25) Можете уточнить, какие именно преимущество даст Application перед ComConnector?
15. Tolpinski 67 16.10.14 09:27 Сейчас в теме
Через "regsvr32 "C:\Program Files (x86)\1cv82\8.2." срабатывает как то странно, с задержкой, видно как и пишется из за "dllhost.exe"
В общем спасибо, работает!
17. jobkostya1c_ERP 100 17.12.14 20:11 Сейчас в теме
Тоже хороший материал для создания универсальных обработок, которые должны работать "где попало и подцепляться куда попало". Поставил плюс чтоб запомнить.
19. e.kogan 1894 19.03.16 21:46 Сейчас в теме
Ветки реестра нет :(
Tolpinski; +1 Ответить
20. XelOla 18 10.10.16 16:46 Сейчас в теме
Здравствуйте! Подскажите пожалуйста, как чтобы версии были одинаковые? В ограничениях ISAPI и CGI задала разрешение 1C Web-service Extension на версию платформы 8.3.8.2054. Что еще надо сделать? Или установка платформы была неправильная? (ставила не я)
Прикрепленные файлы:
21. Sanario 27 05.06.17 10:31 Сейчас в теме
HKEY_CLASSES_ROOT\CLSID\{2B0C1632-A199-4350-AA2D-2AEE3D2D573A}\InprocServer32\ - а CLSID ветки всегда будет именно такой?
romulanin; hexhoc; +2 Ответить
23. M_Volkov 5 02.08.17 08:53 Сейчас в теме
Статья хорошая, нужная, не плохо бы ее обновить. Может появились возможности Com-обмена без админских прав под любым пользователем 1С.
24. avgyr77 01.04.18 14:35 Сейчас в теме
в увс 1с без адмиснких конектит
26. M_Volkov 5 19.01.20 10:10 Сейчас в теме
При регистрации comcntr.dll в реестре делается запись:
HKEY_CLASSES_ROOT\CLSID\{2B0C1632-A199-4350-AA2D-2AEE3D2D573A}\InprocServer32 для 32 битной ОС
или HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{2B0C1632-A199-4350-AA2D-2AEE3D2D573A}\InprocServer32 для 64 битной ОС
значение по умолчанию которой указывает на расположение загружаемой библиотеки: C:\Program Files (x86)\1cv82\8.2.18.61\bin\comcntr.dll

У меня 2 платформы на сервере: "8.3.10.2466" и "8.3.14.1779", последняя только для КА2, ее имя PatrERP. Для смены платформы нашел ключ: "HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{181E893D-73A4-4722-B61D-D604B3D67D47}\InprocServer32\" в регистре по C:\Program Files (x86)\1cv8\8.3.10.2466\bin\comcntr.dll, меняю в нем значение платформы с 8.3.10.2466 на 8.3.14.1779, и выполняю: taskkill.exe /f /im dllhost.exe под своими админскими правами:
Процедура СменитьВерсиюПлатформы(СтруктураПодключения, СтрокаПодключения, ВерсияПриложения)
    Если Найти(СтрокаПодключения, "PatrERP") > 0 Тогда
        СтрокаПодключения = СтрЗаменить(СтрокаПодключения, СтруктураПодключения.ИмяСервера, СтруктураПодключения.ИмяСервера + ":1640");
    КонецЕсли;
    ТребуемаяВерсия = ?(Найти(СтрокаПодключения, "PatrERP") = 0, "8.3.10.2466", "8.3.14.1779");
    Ключ = "HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{181E893D-73A4-4722-B61D-D604B3D67D47}\InprocServer32\";
    WshShell = Новый COMОбъект("WScript.Shell");    
    Значение = WshShell.RegRead(Ключ);
    Если Найти(Значение, ТребуемаяВерсия) > 0 Тогда
        ВерсияПриложения = ТребуемаяВерсия;
        Возврат;
    КонецЕсли;
    СисИнфо = Новый СистемнаяИнформация;
    Значение = СтрЗаменить(Значение, СисИнфо.ВерсияПриложения, ТребуемаяВерсия);
    WshShell.RegWrite(Ключ, Значение);
    ЗапуститьПриложение("taskkill.exe /f /im dllhost.exe",, Истина);
КонецПроцедуры // СменитьВерсиюПлатформы()
Показать
Но клиентская часть платформы не меняется, выдает ошибку: "Несоответствие версий клиента и сервера 1С:Предприятия". Может я с ключом ошибся? Вижу, что значение платформы в нем меняется, но не сама платформа.
27. M_Volkov 5 19.01.20 14:01 Сейчас в теме
(26) Кажется понял в чем смысл в изменении ссылки ключа: должна быть задействована библиотека comcntr.dll не старой версии 8.3.10.2466, а новой 8.3.14.1779. А C:\Program Files (x86)\1cv8\8.3.14.1779\bin\comcntr.dll нет, есть только C:\Program Files\1cv8\8.3.14.1779\bin\comcntr.dll. 8.3.14.1779 устанавливалась с Технологическая платформа 1С:Предприятия (64-bit) для Windows. Внес поправки в свой алгоритм:
	Если ТребуемаяВерсия = "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");
	КонецЕсли;
Но это не помогло, та же ошибка: "Несоответствие версий клиента и сервера 1С:Предприятия". Что ни так сделал, чего не учел, чтобы изменить версию платформы для Com-соединения?
28. M_Volkov 5 24.01.20 14:10 Сейчас в теме
Для начала создадим для коннектора обертку COM+, чтобы вызовы происходили не в контексте 1cv8.exe (1cv8c.exe), а в контексте dllhost.exe. В интернете достаточно публикаций на тему как это сделать...
А можно поподробнее что нужно сделать?
Прикрепленные файлы:
29. M_Volkov 5 01.02.20 07:39 Сейчас в теме
(28)
В интернете достаточно публикаций на тему как это сделать...
Например?
30. leka1st 25.03.20 12:52 Сейчас в теме
Спасибо, огромное!!!! Плюс за статью, переделала малость по-своему и все заработало!!!
31. bugagashenka 203 19.11.20 10:19 Сейчас в теме
Мне вот интересно, а почему нельзя зарегистрировать комы разных версий под разными именами? Винда, вроде, это умеет делать, и я даже статью читал по этому поводу.
33. q2w3e5 14.09.22 15:44 Сейчас в теме
Задача: подключиться через com из базы на версии 8.3.20 к базе на версии 8.3.16

Для этого создаем на сервере 1С версии 8.3.20 новую базу "База_16_1_на_8.3.20", а в строке "имя базы sql" (сервер SQL тоже может быть другой) указываем базу, которая работает на 8.3.16. Таким образом у нас будет два подключения к одной базе но с разных версий.
т.е. работая в "База_20_1_на_8.3.20" в параметрах com пишем
"Srvr="Srv 8.3.20";Ref="База_16_1_на_8.3.20";Usr="";Pwd="";
и наступит счастье.

Но есть момент: все будет прекрасно для чтения, а вот при записи документов и справочников возникнет "не уникальность номера или кода", т.к. похоже за нумерацией следит сервер 1С и один сервер не будет знать что творит другой. Возможно это устранится командой ОбновитьНумерациюОбъектов(); тут не могу сказать, объекты так не создавал.
Прикрепленные файлы:
Оставьте свое сообщение