Имя: Пароль:
1C
1С v8
Запуск Word c платформы 8.2 - Недопустимая строка с указанием класса
0 Tornadius
 
27.02.19
07:50
Доброго дня всем!   Кто сталкивался с подключением Word  на платформе 8.2?
Имеем платформу "1С:Предприятие 8.2 (8.2.19.130)" и конфигурацию УСО (1.3.116.2) Клиент-серверный вариант. MS Word 2013 c ProgID "Word.Application.15" и ProgIndependentID "Word.Application"

Задача печатать договоры с клиентами из Word.
При использовании классического способа выдает:

{ОбщийМодуль.ОбщиеПроцедуры.Модуль(167)}: Ошибка при вызове конструктора (COMOBject)
    WD = Новый COMOBject("Word.Application");
по причине:
Недопустимая строка с указанием класса

Подскажите как победить такую бяку. Под 8.3 работает. но переход пока исключен. нужно именно на 8.2
1 dmpl
 
27.02.19
07:55
(0) Word какой - x86 или x64? Этот общий модуль где работает - на сервере или на клиенте?
2 Tornadius
 
27.02.19
08:09
(1) х64, Модуль работает на клиенте используется "толстый" клиент
3 dmpl
 
27.02.19
08:45
(2) Ну а как 32-битный клиент достучится до 64-битной библиотеки? Нужно или донастроить Word, или поставить 32-битную версию.
4 Мимохожий Однако
 
27.02.19
08:49
Практика показала, что меньше проблем на 32х
5 Tornadius
 
27.02.19
10:41
Заменил Офис на 32 разрядный - ошибка та же.
6 Василий Алибабаевич
 
27.02.19
10:55
(5) В реестре есть что-нибудь по теме "Word.Application"? Должен быть раздел в ветке классов.
ЗЫ. Word.Application не InProc. Посему пофиг на 32 или 64. Оно работает в своем адресном пространстве.
7 Nyarlathotep
 
27.02.19
10:57
(0) Проверь, работает ли вообще на клиенте ком соединение из 1с? Любое, куда угодно. Если нет - переустанавливай его или перерегистрируй comcntr.dll.
8 Nyarlathotep
 
27.02.19
11:01
(0) Не очень помню, как все это в 1с, но, возможно, если у тебя на клиенте 8.2 и 8.3, возможно, ком-библиотека зарегистрирована от 8.3, а надо от 8.2.
9 Василий Алибабаевич
 
27.02.19
11:12
(7) Какое отношение "comcntr.dll" от 1С имеет к Ворду? То что исполняются на одном компьютере? Или то, что за них пишут в одном интернете?
10 Tornadius
 
27.02.19
11:16
Ком соединения работают, постоянно идет обмен между разными базами на разных версиях платформы.
Правда в службе компонентов делал объекты V82COMConnector и V83COMConnector в которых привязывал comcntr.dll
Но думаю, что эта dll тут не причем.
11 Tornadius
 
27.02.19
11:18
В реестре есть word c ProgID "Word.Application.15" и ProgIndependentID "Word.Application"
12 Василий Алибабаевич
 
27.02.19
11:22
(11) Пробуй с прогайди "Word.Application.15".
ЗЫ. Ворд ставил со сборки? При нормальной установке должен быть раздел и не привязанный к версии. Просто "Word.Application".
13 singlych
 
27.02.19
11:24
(0) "Под 8.3 работает." - как проверял, ту же конфу на 8.3 запускал?
"Модуль работает на клиенте" - там галка клиент и все?
14 Василий Алибабаевич
 
27.02.19
11:26
+ (12) Кстати АйДи классов у "Word.Application" и "Word.Application.15" один и тот же. "{000209FF-0000-0000-C000-000000000046}"
Это при установленном МСО 13.
Кроме "Word.Application" оно еще должно зарегистрировать "Word.Document"
15 Скиурус
 
27.02.19
11:26
COM - это лютое легаси, которое очень плохо, медленно и нестабильно работает на современных системах - это факт. Поэтому советую обдумать, не получится ли у вас обойтись без него? Например, прямой правкой внутренностей docx файла. Если стоит задача заполнить какой-нибудь красивый шаблон, очень часто это достаточно просто делается таким способом - там внутри простой и логичный xml.
16 Василий Алибабаевич
 
27.02.19
11:28
(15) "COM - это лютое легаси, которое очень плохо, медленно и нестабильно работает на современных системах - это факт."
ТаТыШо? А как жешЬ оно работает в АДО? Или каждое приложение работу со скулем в себя линкует?
17 Tornadius
 
27.02.19
13:16
(13) была отдельная конфа на 8.3 в которой все работает, ее полностью объединили с конфой на 8.2 - добавили функционал - перестало работать
18 Tornadius
 
27.02.19
13:18
На всякий случай MS Office у нас лицензионный, т.е. не сборка.
19 Tornadius
 
27.02.19
13:21
Я думаю причина в стороне вызова "Клиент-Сервер" но где понять не могу. Ведь на 8.2 работают выгрузки/загрузки в тот-же Excel. А вот с Word- ом головняк. Вроде вызывается из Общего модуля, там без разницы. Завтра напишу обработку с вызовом на клиентской стороне посмотрю как отстреляется
20 singlych
 
27.02.19
13:27
(19) В обычном приложении, емнип, в клиент-серверной базе общие серверные модули исполняются реально на сервере. Может, поэтому.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.