Причиной написания этой обработки послужили частые обращения внедренцев из-за ошибок, возникающих при взаимодействии с внешними базами по COM технологии. По сообщениям типовых конфигураций не всегда можно понять причину ошибки и где она произошла (на клиенте или на сервере).
С помощью этой простой обработки можно быстро проверить соединение с внешней базой 1С на клиентской и серверной стороне. Обработка для платформы 8.3, внешняя база 1С может быть на платформе 8.1, 8.2 и 8.3. При возникновении ошибки выводится описание ошибки, которое можно скопировать в буфер обмена.
Также можно проверить возможность соединения с произвольным COM-объектом (класс COM-объекта можно задать)
Есть возможность выполнить произволный алгоритм с использованием созданного COM объекта после успешного соединения, пример кода для проверки доступа к определенному каталогу ниже
пИмяФайла = "D:ROL32 001.txt";
пТекстовыйДокумент = пОбъект.NewObject("ТекстовыйДокумент");
пТекстовыйДокумент.УстановитьТекст("Проверка записи");
пТекстовыйДокумент.Записать(пИмяФайла);
Если возникли проблемы при соединении с внешней базой, то надо настроить COM объект или отправить текст с сообщение об ошибке администратору.
О взаимодествии между базами по COM технологии и настройке COM объектов можно почитать здесь:
Тестирование:
- Платформа (8.3.11.2867, 8.3.13.1513)
- Управление холдингом, редакция 3.0 (3.0.3.17)
- 1С:ERP Управление предприятием 2 (2.4.5.111)
Версия (005 от 29.12.2024)
- добавлена возможность проверки COM-соединения с произвольным COM-объектом на клиенте и на сервере (Excel.Application, Word.Application и т.д)
Версия (007 от 19.10.2024)
- добавлена возможность выполнить произвольный алгоритм с использованием созданного COM объекта после успешного соединения ( на пример, проверить наличие прав на доступ к определенному кталогу и т.д. )
Командный файл для регистрации com. Запускать из-под админа. Работает на 32 и 64 платформе. Сначала изменить версию 1с на свою:
set version=8.3.12.1714
set x64=C:Program Files1cv8\%version%incomcntr.dll
set x32=C:Program Files (x86)1cv8\%version%incomcntr.dll
set reg64=%systemroot%System32
egsvr32.exe
set reg32=%systemroot%SysWoW64
egsvr32.exe
%reg64% /i /s «%x64%»
%reg64% /u /s «%x32%»
%reg64% /i /s «%x64%»
%reg32% /u /s «%x64%»
%reg64% /i /s «%x64%»
%reg32% /u /s «%x32%»
%reg64% /i «%x64%»