Имя: Пароль:
1C
1С v8
Ошибка при вызове конструктора (COMОбъект) ("WordXpathReportLib.WordGenerator")
,
0 OldmaN2
 
18.09.16
07:46
Доброго времени суток! Нужна помощь, не могу сообразить откуда взять недостающий COMОбъект("WordXpathReportLib.WordGenerator").

Подробнее:
Имеем конфигурацию (редактируемая типовая, platform 8.2.18.61), в которой старые программисты для вывода печати в шаблон ms word'а (некоторых документов) внедрили модуль. Когда печать документов осуществляется с компов заказчика, код модуля отрабатывает всё без ошибок. А вот когда я разворачиваю ту же самую базу на своей машине, запускаю под той же версией платформа, при формирования word'а появляется ошибка: "Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса: Недопустимая строка с указанием класса", которая образуется при выполнении следующей строки: "COMОбъект = Новый COMОбъект("WordXpathReportLib.WordGenerator");"

Вот кусок функции:
ПечатнаяФорма = Новый Структура("COMОбъект", 0);
    
    ИмяВременногоФайла = ПолучитьИмяВременногоФайла("DOCX");
    
    Попытка
        ДвоичныеДанныеМакета.Записать(ИмяВременногоФайла);
        COMОбъект = Новый COMОбъект("WordXpathReportLib.WordGenerator");
    Исключение
        ВызватьИсключение(ОписаниеОшибки());
    КонецПопытки;

Гугл нечего не слышал о данном конструкторе, пытался что-то подобное (WordXpathReportLib) отыскать на компе заказчика, тщетно..... Со старыми программерами связь потеряна.... может кто в курсе, подскажите, что это может быть или где это можно отыскать?

P.S.: Office установлен
1 shuhard
 
18.09.16
08:30
(0) [пытался что-то подобное (WordXpathReportLib) отыскать на компе заказчика, тщетно]
кури regedit, через него найдёшь dll
2 OldmaN2
 
18.09.16
08:38
(1) да, реестр также мониторил на поиск "WordXpathReportLib", но пусто....
3 shuhard
 
18.09.16
09:02
(2) раз COM работает, значит есть в службе компонентов и у него есть код(а ля C9F65BA8-1F8F-4382-AE27-C91FFB29275F}) и есть запись в реестре
4 OldmaN2
 
18.09.16
09:18
(3) ищу по наименованию "WordXpathReportLib" (без кавычек), в конце пишет поиск в реестре завершён и никаких результатов нет..
5 shuhard
 
18.09.16
09:23
(4) значит есть в службе компонентов и у него есть код
6 OldmaN2
 
18.09.16
09:28
(5) а существуют методы, которыми возможно отловить компоненту? Может можно как-то в коде над com-объектом по-колдовать?
7 shuhard
 
18.09.16
09:34
(6) третий и последний раз -  служба компонентов
8 OldmaN2
 
18.09.16
09:37
в службах компонентов не нахожу компоненты с наименованием "WordXpathReportLib".

Один нюанс, а компонента может раздаваться сервером, на котором расположена база в sql?
9 Torquader
 
18.09.16
13:54
В последних версиях Windows можно компоненты в файле manifest объявлять или включать в Exe (или Dll) файлы.
Так что - искать нужно не только в реестре.
На той машине, на которой это работало, попробовать просто из сценария на VbScript создать этот объект - если создаётся, то он живёт в реестре - если нет, то, значит, он "подключается" с чем-то ещё.
10 Torquader
 
18.09.16
13:58
Вот описание manifest-файла, как видно, там можно разместить ProgId объектов.
https://msdn.microsoft.com/en-us/library/windows/desktop/aa374219(v=vs.85).aspx
11 Torquader
 
18.09.16
14:00
Или вот здесь ещё описано:
http://developex.com/blog/using-com-without-registration/