|
COMОбъект("Word.Application") Зависает процесс WINWORD.EXE | ☑ | ||
---|---|---|---|---|
0
Pilokarpios
27.07.17
✎
16:45
|
Ребята помогите, 2017 год на дворе, а проблему либо не решили или я туплю.
Windows 2012 x64 1C сервер х64 (у юзера агента-службы есть права) ЭТО КОД РАБОЧИЙ &НаСервере Процедура ОбновитьExcelОтображение() СомЕх = Новый COMОбъект("Excel.Application"); Wrk = СомЕх.WorkBooks.Open(ПутьКФайлуНаСервере); ВремФ = ПолучитьИмяВременногоФайла(".html"); Wrk.SaveAs(ВремФ,44); СомЕх.Quit(); ПолеHTMLдок = ВремФ; //ПОКАЗЫВАЕТ ПРЕД ПРОСМОТР EXCEL всё хорошо! КонецПроцедуры ЭТОТ КОД НЕ ПАШЕТ &НаСервере Процедура ОбновитьWordОтображение() Word = Новый COMОбъект("Word.Application"); Word.Documents.Open(ПутьКФайлуНаСервере); //ТУТ ЗАВИСАЕТ ПРОЦЕСС WINWORD.EXE и тишина и так: Word.Application.Documents.Add(ПутьКФайлуНаСервере); КонецПроцедуры В настройках WORD в безопасности разрешили всё что можно. ЗЫ Word и Excel установлены! файлы xls и doc открываются. Что делать подскажите люди добрые, копаем весь день. Может проблема в настройке компонент, там для Excel настраивался запуск от текущего пользователя и папка "C:\Windows\SysWOW64\config\systemprofile\Desktop" Спасибо за ответы. |
|||
1
Garykom
гуру
27.07.17
✎
16:53
|
Ну попробуй поставить 64 битный Word (MS Office)... может даже поможет.
Но лучше выкинуть MS Office и заюзать другие решения для выполнения исходной задачи. |
|||
2
Масянька
27.07.17
✎
16:53
|
(0) Если "ПутьКФайлуНаСервере" прописать (в лоб) - работает?
|
|||
3
Pilokarpios
27.07.17
✎
16:53
|
(1) Например?
|
|||
4
Garykom
гуру
27.07.17
✎
16:55
|
(3) задачу опиши
|
|||
5
Garykom
гуру
27.07.17
✎
16:57
|
"открыть файлик вордом на сервере" это не задача это "инструмент"
если инструмент не работает, то возьми другой |
|||
6
Pilokarpios
27.07.17
✎
17:06
|
(2) ПутьКФайлуНаСервере = Строка: "D:\гребанныйфайл.doc" (4) Задача: Предпросмотр word документа в управляемой форме
|
|||
7
Масянька
27.07.17
✎
17:08
|
(6) Вот так
Процедура ОбновитьWordОтображение() Word = Новый COMОбъект("Word.Application"); Word.Documents.Open( "D:\гребанныйфайл.doc"); открывает? |
|||
8
Garykom
гуру
27.07.17
✎
17:10
|
Поле HTML документа + https://jsfiddle.net/picssel/vfu581c2/
|
|||
9
Pilokarpios
27.07.17
✎
17:10
|
(7) Нет конечно же, также зависает 1С и висит процесс WINWORD.exe, если процесс завершить, то отпускает 1С с неизвестной ошибкой
|
|||
10
Garykom
гуру
27.07.17
✎
17:11
|
(8)+ Или банально https://github.com/mwilliamson/mammoth.js
|
|||
11
Garykom
гуру
27.07.17
✎
17:13
|
||||
12
Масянька
27.07.17
✎
17:22
|
(9) мNewDoc = Word.Documents;
Word.Visible = 1; - сам word открывает? |
|||
13
Pilokarpios
27.07.17
✎
17:27
|
(8) <a class="word" href="//docs.google.com/gview?
url=file://D:/гребанныйфайл.doc&embedded=true">Open a Word document in Fancybox</a> ///// 400. That’s an error. The requested URL was not found on this server. That’s all we know. ///// |
|||
14
Pilokarpios
27.07.17
✎
17:28
|
(12) Нет не открывает, зависает
|
|||
15
Garykom
гуру
27.07.17
✎
17:32
|
(13) поставь апач и расшарь путь к doc чтобы открывался через "url=http://..."
|
|||
16
Garykom
гуру
27.07.17
✎
17:32
|
(15) браузер по умолчанию не имеет доступа к файловой системе напрямую, только по http
|
|||
17
Pilokarpios
27.07.17
✎
17:33
|
(15) IIS8 снести? )) Может есть варианты по WORD?
|
|||
18
Garykom
гуру
27.07.17
✎
17:34
|
(17) ну настрой IIS8 какая нафик разница, чтобы можно было файлики из папки через http получать
|
|||
19
Вафель
27.07.17
✎
17:34
|
но зачем через ком? почему не просто
ЗапуститьПриложение? как в БСП |
|||
20
Garykom
гуру
27.07.17
✎
17:34
|
(17) В курсе сколько будет стоит лицензия на WORD чтобы использовать ее на сервер так как вы хотите?
|
|||
21
Pilokarpios
27.07.17
✎
17:37
|
(20) А не онлайн варианты есть?
|
|||
22
Pilokarpios
27.07.17
✎
17:38
|
(19) НЕ ВАРИАНТ, мне нужен:
ВремФ = ПолучитьИмяВременногоФайла(".html"); Word.SaveAs(ВремФ,8); и показать предпросмотр HTML на управляемых формах. |
|||
23
Вафель
27.07.17
✎
17:40
|
||||
24
Pilokarpios
27.07.17
✎
17:40
|
(18) Идея отличная, обязательно возьму на заметку, спасибо. Но что же с долбаным word?
|
|||
25
Cyberhawk
27.07.17
✎
17:41
|
"Задача: Предпросмотр word документа в управляемой форме" // Это не задача, это какая-то куита
|
|||
26
Cyberhawk
27.07.17
✎
17:42
|
Конечную цель давай
|
|||
27
Вафель
27.07.17
✎
17:42
|
(25) почему же?
|
|||
28
Cyberhawk
27.07.17
✎
17:42
|
(27) Не дает понимания цели
|
|||
29
Pilokarpios
27.07.17
✎
17:43
|
(25)(26) (28) Это не каммент, это какает о куита, я написал цель, что еще надо написать? Хватит флудить
|
|||
30
Cyberhawk
27.07.17
✎
17:43
|
(29) Где ты цель написал?
|
|||
31
Вафель
27.07.17
✎
17:44
|
(29) показать содержимое файла, без установленного ворда
|
|||
32
Garykom
гуру
27.07.17
✎
17:45
|
(31) Не проще все документы при сохранении в некий каталог автоматом в .html переводить с тем же именем?
|
|||
33
Garykom
гуру
27.07.17
✎
17:47
|
(32)+ Кста на .Net есть прекрасные средства для работы с файловой системой и ее событиями, даже изменения файликов можно отслеживать и пересоздавать "веб превью".
|
|||
34
Pilokarpios
27.07.17
✎
17:49
|
(32)(33) Тоже вариант интересный, но тема поста, про то, что word вешается.
|
|||
35
timurhv
27.07.17
✎
17:50
|
(0) В журнале событий винды должно все быть написано.
|
|||
36
Вафель
27.07.17
✎
17:53
|
(34) Нужно одновременно прорабатывать план Б
|
|||
37
Вафель
27.07.17
✎
17:53
|
кстати у ворда же нужно отключать всякие диалоги
|
|||
38
Garykom
гуру
27.07.17
✎
17:53
|
(34) Да мы поняли что если привыкли микроскопом гвозди забивать то уже никак...
-Ой у меня микроскоп не работает -Так он же электронный, а не советский чугунный |
|||
39
Pilokarpios
27.07.17
✎
17:55
|
(38) Да причем тут это, зависает WORD, мне млять что теперь все бросить и перевести контору на LINUX, хватит уже, противно слушать, умные все такие.
|
|||
40
Масянька
27.07.17
✎
17:57
|
(39) ИМХО, не в word'е проблема.
И нервничать не надо... Все такие нервные... |
|||
41
Cyberhawk
27.07.17
✎
18:00
|
Автор прикован к какой-то задаче и не может подняться над ней и подумать о цели
|
|||
42
Garykom
гуру
27.07.17
✎
18:00
|
(39) У тебя ответ прямо в вопросе, там где про excel
|
|||
43
Масянька
27.07.17
✎
18:01
|
(41) У него предвзятое отношение к word'у :)))))))))
|
|||
44
Pilokarpios
27.07.17
✎
18:02
|
(41) Тему почитай, если непонятно, то вряд ли чем то поможешь.
|
|||
45
Pilokarpios
27.07.17
✎
18:04
|
(42) если про Компоненты x32 и x64, то проблема возникает на этом этапе: Word = Новый COMОбъект("Word.Application").
Но COM же срабатывает и WINWORD.EXE заводиться, значит не в компонентах дело. |
|||
46
DomovoiAtakue
27.07.17
✎
18:05
|
(0)Может вылазит предупреждение и прячется на задний план, в процессах ничего еще вордовского нет?
|
|||
47
Cyberhawk
27.07.17
✎
18:06
|
(45) http://tsya.ru/
|
|||
48
Pilokarpios
27.07.17
✎
18:08
|
(47) Красавчик, иди в школу работать учителем.
|
|||
49
Garykom
гуру
27.07.17
✎
18:11
|
(45) Зайди на сервер от юзера от которого выполняется процесс "сервера 1С" и попробуй открыть Word.
Очень удивишься... |
|||
50
Имитирующий работу
27.07.17
✎
18:11
|
(48) у метода Open больше одного параметра, программистушко
|
|||
51
Garykom
гуру
27.07.17
✎
18:14
|
(50) Не в этом проблема, хотя может помочь если на запись нет прав открыть.
|
|||
52
Вафель
27.07.17
✎
18:15
|
(49) но ексель то работает
|
|||
53
Garykom
гуру
27.07.17
✎
18:15
|
(52) "Может проблема в настройке компонент, там для Excel настраивался запуск от текущего пользователя и папка "C:\Windows\SysWOW64\config\systemprofile\Desktop" "
|
|||
54
Cyberhawk
27.07.17
✎
18:19
|
(48) Я уже выполнил эту роль благодаря тебе, ведь ты уже открыл ссылку
|
|||
55
Pilokarpios
27.07.17
✎
18:53
|
(49) Все работает. Сервер 1с работает от того же юзера, от которого я пробую.
|
|||
56
Pilokarpios
27.07.17
✎
18:58
|
(55) Всмысле "Все работает" это открываются Excel и Word файлы.
|
|||
57
Pilokarpios
27.07.17
✎
19:59
|
Корпорация Microsoft на сегодняшний день не рекомендует производить и не поддерживает автоматизацию программ из пакета Microsoft Office с помощью автоматических, неинтерактивных клиентских приложений или компонентов (включая ASP, DCOM и службы NT), поскольку при запуске в этом окружении программы пакета Office могут работать нестабильно или зависать.
https://support.microsoft.com/ru-ru/help/257757/considerations-for-server-side-automation-of-office |
|||
58
Fram
27.07.17
✎
20:06
|
(56) попробуй свой код засунуть в обработку с обычной формой и открыть в том сеансе с видимым вордом.
|
|||
59
Pilokarpios
27.07.17
✎
20:16
|
(58) Спасибо за совет, но не буду тратить время. Сегодня перерыл страниц 200 с подобными темами, я так и не увидел рабочих решений с предпросмотром word документов через управляемые формы. Excel завёлся, как и во многих темах, что мне попадались Что качается word, не видел рабочего решения, только если на стороне клиента колдовать, этот вариант не устраивает.
|
|||
60
Pilokarpios
27.07.17
✎
20:24
|
(58) Проверил на обычных формах, тоже самое.
|
|||
61
Garykom
гуру
27.07.17
✎
20:31
|
http://1c.ruboard.ru/public/568913/
v8: Ошибка получения объекта COM при переходе на клиент-серверный вариант работы Т.е. для сервера 64 (система и 1С) и офиса 32 трабла решается (возможно) через создание папочек и регистрацию СОМ+ |
|||
62
Garykom
гуру
27.07.17
✎
20:34
|
(61)+ Но с учетом что сервер 1С нынче модно на линуксах и с потсгресом юзать или даже в облаках... советую выкинуть офис и сделать нормальное решение.
|
|||
63
Pilokarpios
27.07.17
✎
20:35
|
Может есть знатоки?
cmd: "mmc comexp.msc /32" и "mmc comexp.msc /64" Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM: "Microsoft Excel Application" имеется, а "Microsoft Word Application" нету, может он по другому называется или его нужно добавить? |
|||
64
Pilokarpios
27.07.17
✎
20:36
|
(62) Я за хорошее решение! Но сейчас тупо проблема стоит именно в WORD и COM
|
|||
65
Pilokarpios
27.07.17
✎
20:38
|
(61) я сегодня на эту статью натыкался раза 4, там есть кусок кода:
// этот код точно вызовет экземпляр COM нужной разрядности, в нашем случае x64 Word = Новый COMОбъект("Word.Application"); Word.Displayalerts = 0; ДокументН = Word.Application.Documents.Add(); ДокументН.SaveAs(ВремФайл,0); Word.Quit(); который у меня не работает )) |
|||
66
Cyberhawk
27.07.17
✎
20:41
|
(65) Так у тебя не такой код приведен, поэтому и не работает. В ветке тебе уже намекнули на важную строку.
|
|||
67
Имитирующий работу
27.07.17
✎
20:41
|
(59) > так и не увидел рабочих решений
А ты не пробовал не искать куски кода, а пытаться понять почему оно не работает? |
|||
68
Garykom
гуру
27.07.17
✎
20:42
|
(66) Word.Displayalerts = 0;
|
|||
69
Garykom
гуру
27.07.17
✎
20:46
|
Все же самое правильное то поднять в сети (если нет желания пользоваться кучей онлайн конвертеров doc(x)2html) свой конвертер из офиса в html и заюзать его из 1С.
Лучше всего в момент когда файлы офиса засовываются/прикрепляются к 1С, банально отправляем файлик в сервис и конвертированный в html ответ прицепляем куда нуна. |
|||
70
Pilokarpios
27.07.17
✎
20:49
|
(68)
Word = Новый COMОбъект("Word.Application"); Word.Displayalerts = 0; Word.Documents.Open("D:\гребанныйфайл.doc"); тоже самое, зависает процесс WINWORD.EXE, не грузит процессор, просто висит. В ручную файл открывается. если процесс был грохнут, при ручном открытии пишет, что пред открытие было сбойным. (69) Сервер закрыт для онлайн "гуляний". |
|||
71
Fram
27.07.17
✎
20:49
|
(60) а окно Word открылось? Что там?
|
|||
72
Pilokarpios
27.07.17
✎
20:52
|
(71) Н и ч е г о не открылось, тупо зависает процесс winword, грешу на разрядность и настройки компонент DCOM. DCOM уходят в прошлое, да знаю.
|
|||
73
Pilokarpios
27.07.17
✎
20:53
|
(72) хотя если бы это было так, то COM объект не создался бы, а он создается и его можно пощупать в отладчике, после:Новый COMОбъект("Word.Application")
|
|||
74
Pilokarpios
27.07.17
✎
20:57
|
(69) Имеется ввиду поднять сервис в сети с рабочим word и через него (через webсервис) конвертировать файлы в html, тоже вариант, но игра не стоит свеч, я думал всё проще с word, т.к. с Excel всё взлетело.
|
|||
75
Cyberhawk
27.07.17
✎
20:58
|
Пропиши вижимость Ворда сразу после создания СОМ-объекта
|
|||
76
Pilokarpios
27.07.17
✎
21:01
|
(75)
MSWord = Новый COMОбъект("Word.Application"); работает: MSWord =СОМОбъект... MSWord.Visible = Истина; Процесс зависает... дальше даже кода нет |
|||
77
timurhv
27.07.17
✎
21:09
|
(76) Ты старые экземпляры в диспетчере убил?
Журнал ошибок в Windows смотрел? Что пишет? |
|||
78
Cyberhawk
27.07.17
✎
21:10
|
Может у конфы не разрешена модальность. В попытку завернуть, проверить исключение.
Ну и попробовать через Documents.add и активацию конкретного документа |
|||
79
Lama12
27.07.17
✎
21:16
|
Про драйвер принтера уже говорили?
|
|||
80
Pilokarpios
27.07.17
✎
21:17
|
(65) {Форма.Форма.Форма(132)}: Ошибка при вызове метода контекста (Add)
ДокументН = Word.Application.Documents.Add(); по причине: Произошла исключительная ситуация (Microsoft Word): Не удается запустить событие. |
|||
81
Pilokarpios
27.07.17
✎
21:18
|
(77) Естественно убил
|
|||
82
Pilokarpios
27.07.17
✎
21:20
|
(77) Ошибки в журнале только после насильногозавершения процесса, ничего там нет.
|
|||
83
Pilokarpios
27.07.17
✎
21:23
|
(79) Нет
|
|||
84
Garykom
гуру
27.07.17
✎
21:29
|
(70) >Сервер закрыт для онлайн "гуляний".
ну так на этом же сервере и поднять свою веб-сервису |
|||
85
Pilokarpios
27.07.17
✎
21:34
|
(84) Я так понимаю, сервис не будет (на этом же сервере) юзать Новый COMОбъект("Word.Application"), есть какой то волшебный метод msword *.doc файл конвертировать в html без онлайн конверторов?
|
|||
86
Garykom
гуру
27.07.17
✎
21:35
|
(74) Не обязательно с MS Word, можно что угодно вплоть до LibreOffice или любого рабочего решения.
Типа https://github.com/mirkonasato/pyodconverter |
|||
87
Garykom
гуру
27.07.17
✎
21:35
|
(85) угу
|
|||
88
Garykom
гуру
27.07.17
✎
21:38
|
(86)+ или даже банально https://zalinux.ru/?p=460
|
|||
89
Pilokarpios
27.07.17
✎
21:45
|
(86) т.е. поднять сервис, который будет чисто конвертацией заниматься через внешний онлайн сервис?
|
|||
90
Garykom
гуру
27.07.17
✎
21:46
|
(89) оно локальное
короче, прочитай (88) и используй ЗапуститьПриложение или КомандаСистемы |
|||
91
Pilokarpios
27.07.17
✎
21:49
|
(90) Спасибо тебе добрый человек, ты меня направил в нужном направлении.
|
|||
92
Pilokarpios
27.07.17
✎
21:49
|
(90) а насчет ЗапуститьПриложение или КомандаСистемы отдельное спасибо
|
|||
93
Имитирующий работу
27.07.17
✎
23:33
|
(92) Прошло 4 часа после (19). Эхэх...
|
|||
94
Pilokarpios
01.08.17
✎
16:08
|
(93) прошло 4 дня, эх. Мне этот вариант сразу же не нужен был. (92) САРКАЗМ!!!
|
|||
95
lodger
01.08.17
✎
16:36
|
так кто дурак то в итоге?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |