|   |   | 
| 
 | Проблема с 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). Теперь все работает. Всем большое спасибо.     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |