При вызове MSWord = Новый COMОбъект("Word.Application"); на сервере система зависает

1. Dskozin 28 08.12.20 18:17 Сейчас в теме
Уважаемые коллеги помогите пожалуйста с проблемой.

У нас в системе идет соединение с Word по COM, где заполняются поля документов и конвертируется в pdf.

В версии платформы 8.3.14 все работало нормально. Начиная с версии 8.3.15 система при вызове MSWord = Новый COMОбъект("Word.Application") на сервере зависает, при чем само приложение Word открывается в фоне и висит. На клиенте тот же вызов работает нормально. Тип базы не играет роли (что файловая что БД).

В конфигурации установлен режим совместимости с 8.3.13.

Есть предположения, что можно исправить?

Спасибо!
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. user856012 14 08.12.20 22:09 Сейчас в теме
(1)
Есть предположения, что можно исправить?
Отказаться от Word - либо способом, описанным в (2), либо установить Microsoft Access Database Engine и переписать код под ADODB
6. Dskozin 28 09.12.20 14:53 Сейчас в теме
(3)
Microsoft Access Database Engine


Подумаю. Но натолкнули меня на мысль, в результате я нашел такую статью https://support.microsoft.com/ru-ru/help/257757/considerations-for-server-side-automation-of-office

Если вкратце - то редактирование Open XML фалов возможно через .NET Framework 3.x

Так что можно не ставить офис на сервер вообще..
2. BackinSoda 08.12.20 22:03 Сейчас в теме
(1) Есть подозрения, что обновили не только платформу.
С такой версией может отказаться от com и перейти на ТабличныйДокумент, который может прочитать() файл xls ?
4. Dskozin 28 09.12.20 14:41 Сейчас в теме
(2) С удовольствием бы. Только файл то .docx .. И надо подставлять поля. И конвертировать в pdf.. Пока ничего не придумано лучше.
5. BackinSoda 09.12.20 14:47 Сейчас в теме
(4) почему-то про эксель сразу подумал.
Раз там docx , то можно "распаковать его через zip и читать как xml"
https://infostart.ru/public/675307/
https://infostart.ru/1c/articles/590918/

либо ставить что-то из open office (но у него тоже свои глюки могут быть)
7. v3rter 09.12.20 16:41 Сейчас в теме
именно при вызове MSWord = Новый COMОбъект("Word.Application") зависает или на следующем шаге - открытии файла?
8. Dskozin 28 10.12.20 08:44 Сейчас в теме
(7) Да, именно при создании СОМ объекта.
9. Dskozin 28 12.02.21 17:15 Сейчас в теме
Друзья, я так и не разобрался с этим.

Вызов MSWord = Новый COMОбъект("Word.Application") отрабатывает абсолютно нормально.
Такой же вызов на сервере (в модуле формы) подвешивает систему. При чем Word открывается и висит в памяти, но клиент 1С просто зависает.
10. hottion 87 01.07.21 17:59 Сейчас в теме
Прикол скорее всего в компоненте, проверьте удостоверение компоненты.
Понимаю тема старая, но тем кто будет искать решение пригодится.
Так же зависало при открытии файлов, оказалось дело в правах на каталог чтения/записи.
при указании явного пользователя для компоненты проблема ушла.

Причем WORD именно зависал не возвращая ошибку а если и отзывался то сам документ возвращал как неопределённо и с массиве документов было пусто.
Прикрепленные файлы:
usalteam; Socradt; +2 Ответить
11. Socradt 20.10.22 22:10 Сейчас в теме
(10) Сам боженька сниспослал тебя)) Спасибо!
12. Obertone 77 21.11.22 12:08 Сейчас в теме
С проблемой зависания Excel, Word и прочих программ офис-пакета Майкрософт также столкнулся на методе открытия. Причиной было то, что офис-пакет Майкрософт не был вовремя активирован, и всплывало окно-предупреждение в связи с этим после программного открытия файла. Это мешало программному чтению файла и приводило к зависанию. Очевидно по проблеме соответствующее решение.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот