|
Проблема с word-ом на стороне сервера | ☑ | ||
---|---|---|---|---|
0
livingstone
08.07.15
✎
15:36
|
Добрый день.
Платформа 8.3. Конфигурация - Документооборот. База серверная. Проблема следующая: При выполнении команды "Док = WordApp.Documents.Add(ПутьКФайлуНаДиске);" выводится сообщение "Ошибка при вызове метода контекста (Add), Произошла исключительная ситуация (Microsoft Word): Ошибка в Word." Если этот кусок кода будет выполнятся на клиенте, то все отрабатывается нормально. Ошибка только на сервере. ПутьКФайлуНаДиске = локальный С:\Юсерзс...., сетевой не пробовал, думаю проблема не в этом. Сервер 1с установлен там же. Подскажите пожалуйста, в чем может быть проблема. |
|||
1
Лефмихалыч
08.07.15
✎
15:50
|
на сервер ворд установи
|
|||
2
livingstone
08.07.15
✎
15:53
|
Ворд установлен.
|
|||
3
Мыш
08.07.15
✎
15:55
|
На сервере с юзерсами проблема. Есть ли у пользователя, от имени которого работает сервер приложений права на тот конкретный каталог?
|
|||
4
Лефмихалыч
08.07.15
✎
15:55
|
значит обеспечь, чтобы файл лежал на сервере вот тут "С:\Юсерзс...." до вызова Add
|
|||
5
livingstone
08.07.15
✎
15:58
|
Файл там точно есть. Не думаю, что проблема с правами, так как с клиента ведь все срабатывает.
|
|||
6
Fish
08.07.15
✎
15:59
|
(5) С клиента ты обращаешься к файлу под другим пользователем.
|
|||
7
Лефмихалыч
08.07.15
✎
15:59
|
(5) отладчик не предлагать?
|
|||
8
Мыш
08.07.15
✎
15:59
|
(6) Товарищ "не думает". Так шта не мешайте.
|
|||
9
livingstone
08.07.15
✎
16:03
|
Процедура
1. Копирую некий файл вордовский в С:\Юзерс. (т.е. права явно есть) 2. WordApp = Новый COMОбъект("Word.Application") Док = WordApp.Documents.Add(ПутьКФайлуНаДиске); КонецПроцедуры (7) отладчиком уже все по несколько раз проходил. |
|||
10
Лефмихалыч
08.07.15
✎
16:05
|
(9) ты на клиентской машине в С:\Юзерс копируешь?
|
|||
11
Fish
08.07.15
✎
16:05
|
(8) Типа: "а что тут думать, прыгать надо"? :))
|
|||
12
livingstone
08.07.15
✎
16:07
|
(10) нет, на сервере.
т.е. С:\Юзерс - это каталог сервера. |
|||
13
Fish
08.07.15
✎
16:12
|
(12) Читай (3) и (6) ещё раз.
|
|||
14
hhhh
08.07.15
✎
16:21
|
(12) там users\...
|
|||
15
yukon
08.07.15
✎
16:47
|
Вопросы серверной автоматизации Office
https://support.microsoft.com/kb/257757 Корпорация Microsoft на сегодняшний день не рекомендует производить и не поддерживает автоматизацию программ из пакета Microsoft Office с помощью автоматических, неинтерактивных клиентских приложений или компонентов (включая ASP, DCOM и службы NT), поскольку при запуске в этом окружении программы пакета Office могут работать нестабильно или зависать. |
|||
16
livingstone
09.07.15
✎
07:50
|
(13) Проблема не в правах, права на каталог назначены. К тому же, если были бы проблемы с правами, серверный метод не смог бы даже скопировать файл в каталог. В (9) я описал суть метода. Ошибка возникает с "Док = WordApp.Documents.Add(ПутьКФайлуНаДиске);". Видимо проблема с самим вордом. Но тогда непонятно, почему с клиента проблемы не возникает.
|
|||
17
Dmitri888
09.07.15
✎
09:03
|
А word х32 или х64?
|
|||
18
Krolik Bezobraznik
09.07.15
✎
09:09
|
Если 1С обращается к диску из серверного модуля, то обращение происходит под тем пользователем, под которым у вас запущен сервер 1С. Посмотрите в запущенных сервисах, под каким пользователем у вас запущен сервер. Нужно настроить права доступа к этой папке для пользователя, под которым запущен сервер.
Сам недавно столкнулся, у меня фоновое задание обращается в файлу на диске, процедура в серверном модуле. После того как дал доступ, все заработало. |
|||
19
Dmitri888
09.07.15
✎
09:14
|
17+ И какой сервер установлен 32 или 64?
|
|||
20
Krolik Bezobraznik
09.07.15
✎
09:18
|
(0) Проверьте доступ к папке. В вашем серверном модуле сделайте функцию с кодом
Функция ПроверитьДоступКПапке(Путь) КаталогНаДиске = Новый Файл(Путь); Возврат КаталогНаДиске.Существует(); КонецФункции Посмотрите, что она вам вернет, если ЛОЖЬ, а пака есть, то делайте как я написал в (18) |
|||
21
drcrasher
09.07.15
✎
09:36
|
Копипаста:
При работе с Excel на сервере ОБЯЗАТЕЛЬНО!!! создать папку C:\Windows\SysWOW64\config\systemprofile\Desktop или C:\Windows\System32\config\systemprofile\Desktop (в зависимости от разрядности вашей системы). |
|||
22
livingstone
10.07.15
✎
12:25
|
Вобщем сделал как в (21). Теперь все работает. Всем большое спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |