|
Зависает Word на методе open() 1C 8.3 | ☑ | ||
---|---|---|---|---|
0
Zanzarchik
19.09.14
✎
14:12
|
Всем привет! Платформа 8.3.5.1098. Задача: конвертировать doc в pdf на стороне сервера, т.е. функция, которая у меня написана отрабатывает &НаСервере. На серваке пользователь, под которым запущен сервер 1С входит в группу локальных админов, доступ у него есть везде. Word и 1С сервер - 32 разряда. Word естественно, установлен. Если выполняешь этот же код локально на сервер, но у функции ставишь директиву &НаКлиенте, а не &НаСервере, то код благополучно отрабатывает. Если директива &НаСервере, то все, ахтунг, зависает на методе open(). Висит, пока не вырубишь процесс Word через диспетчер. Как это исправить, может кто сталкивался? Помогите, пожалуйста. Вот мой код:
&НаСервере Процедура КонвертироватьФайл() Попытка Word = Новый COMОбъект("Word.Application"); Исключение Сообщить("Произошла ошибка открытия файла Microsoft Word по причине: " + ОписаниеОшибки(),СтатусСообщения.Важное); Возврат; КонецПопытки; Попытка Документ = Word.Documents.Open(ПутьКФайлу); Документ.Activate(); Файл = Новый Файл(ПутьКФайлу); FileName = Файл.Путь + Файл.ИмяБезРасширения + ".pdf"; Документ.SaveAs(FileName, 17); Документ.Close(); Word.Quit(); УдалитьФайлы(ПутьКФайлу); Исключение Word.Quit(); УдалитьФайлы(ПутьКФайлу); КонецПопытки; КонецПроцедуры |
|||
1
Балоун
19.09.14
✎
14:14
|
>конвертировать doc в pdf
при чём тут 1С? |
|||
2
Zanzarchik
19.09.14
✎
14:17
|
(1) может и не при чём, но код выполнять &НаСервере не хочет, может кто знает, в чем беда. Я думаю, все - таки 1С
|
|||
3
vicof
19.09.14
✎
14:20
|
Путь к файлу на сервере не существует, не?
|
|||
4
Zanzarchik
19.09.14
✎
14:23
|
(3) путь есть, изначально я передавал файл на сервер через двоичные данные, сохранял в КаталогВременныхФайлов(), а оттуда читал, потом сделал вообще топорно, поместил файл в папку на сервере и прописал путь к этому файлу.
|
|||
5
vicof
19.09.14
✎
14:28
|
а зачем ты ему вообще open() делаешь, нельзя просто saveas()?
|
|||
6
Zanzarchik
19.09.14
✎
15:45
|
(5) а как без open() и без add() загрузить документ, чтобы потом его сохранить в нужный формат?
|
|||
7
Garykom
гуру
19.09.14
✎
15:49
|
(0) убери попытка / исключение и лови ексепшн
но раз зависает (точнее не зависает как понял а просто ждет тормозит) то скорее всего трабла в версиях ворда к примеру и он там что то пытается у юзверя спросить а ему никто не отвечает )) |
|||
8
Garykom
гуру
19.09.14
✎
15:52
|
(7)+ еще попробуй зайди/залогинься на сервере от имени с которым запускается сервер 1С и попробуй открыть в ворде этот файл ручками
|
|||
9
Zanzarchik
19.09.14
✎
15:53
|
(7) убирал попытка/исключение. Никаких ошибок, просто тормоза. Сейчас попробую погуглить, как все сообщения отменить. Потом отпишусь, но, если будут еще какие предложения, всегда рад услышать!
|
|||
10
Garykom
гуру
19.09.14
✎
15:56
|
(9) ну сделай процесс/окно ворда то видимым тогда...
|
|||
11
Zanzarchik
19.09.14
✎
16:02
|
(10) сейчас попробую
|
|||
12
Zanzarchik
19.09.14
✎
16:58
|
(10) делаю
Word.Visible = 1; потом захожу на сервер под учеткой UserV81C (под ней сервер 1С запускается) - окно не показывается, а процесс висит. Ладно, будут делать на c#, а потом запускать этот c# через 1С |
|||
13
Sei Souma
19.09.14
✎
17:17
|
Таки с сom объектами в основном работаю почему-то на клиенте.
|
|||
14
Sei Souma
19.09.14
✎
17:18
|
Но если у вас получиться ЭТО сделать на сервере - я вас прошу, напишите как у вас получилось работать с com клиентом на сервере.
|
|||
15
Garykom
гуру
19.09.14
✎
17:46
|
На всякий случай изучить (хотя там с ошибкой выпадает и excel а word) v8: регламентное задание и Ексель
|
|||
16
Zanzarchik
09.10.14
✎
15:44
|
(14) - не удалось. Писал программу на C#, запускал ее из 1С - такая же ерунда. Делал как в (15). Не помогло. Причем с Excel проблем не было
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |