|
COMОбъект и веб клиент | ☑ | ||
---|---|---|---|---|
0
Игорь_МММ
09.03.19
✎
16:00
|
то что в клиенте из под Веб нельзя создавать COMОбъект - это знаю. Но НаСервере, что тоже нельзя?
Суть проблемы ОбменMSWord - общий модуль с компиляцией на сервере. В тонком работает, в в веб возвращает следующее: {ОбщийМодуль.ОбменMSWord.Модуль(6)}: Ошибка при вызове конструктора (COMОбъект) ОбъектВорд = Новый COMОбъект("Word.Application"); по причине: по причине: -2147467262(0x80004002): Интерфейс не поддерживается |
|||
1
Garykom
гуру
09.03.19
✎
16:24
|
Сервер на линуксе?
|
|||
2
ДенисЧ
09.03.19
✎
18:18
|
(1) Не то сообщение
(0) А там вообще ворд есть? |
|||
3
Игорь_МММ
09.03.19
✎
19:01
|
(1) база файловая
(2) да, в тонком же работает |
|||
4
RomanYS
09.03.19
✎
19:06
|
(3) А в тонком через веб-сервер работает?
|
|||
5
Игорь_МММ
09.03.19
✎
19:12
|
(4) нет, локально
|
|||
6
RomanYS
09.03.19
✎
19:20
|
(5) "локально" серверный код на файловой базе выполняется локально, а через веб-сервер к файловой базе серверный код выполняется на машине веб-сервера. И там ворда или нет или он не доступен по каким-то причинам
|
|||
7
Игорь_МММ
09.03.19
✎
19:52
|
если я правильно копаю, то у меня в DCOM нет Ворда. Как понять есть ворд на web-сервере? у меня IIS.
|
|||
8
Asmody
09.03.19
✎
20:01
|
(7) Обычно Word появляется на машине после того, как кто-нибудь установит туда MS Office
|
|||
9
Patriot1C
09.03.19
✎
21:09
|
(0) Похоже COM не установлен на Сервер. Он не ставиться по умолчанию как устаревшая технология.
|
|||
10
Игорь_МММ
09.03.19
✎
23:12
|
(9) можно поподробнее? что делать то?
|
|||
11
Garykom
гуру
09.03.19
✎
23:26
|
Объясни нафуя тебе Word на сервере? Есть куча библиотек которые умеют файлы Word'а писать же
|
|||
12
Игорь_МММ
10.03.19
✎
08:49
|
(11) на сервере лежит шаблон договора в ворде. Клиенты соответственно заполняют его своими данными.
|
|||
13
Мимохожий Однако
10.03.19
✎
10:00
|
(12) Ответь на ВСЕ вопросы и замечания.
|
|||
14
Игорь_МММ
10.03.19
✎
10:20
|
(13) считал, что все что предлагали прочел и погуглил.. что по вашему я пропустил?
веб - для меня тема новая, переработали конфу под веб-клиент, теперь лезут косяки связанные хз с чем (так для меня, однако). Очень бладгодарен был бы за дельный совет=помощь. |
|||
15
Мимохожий Однако
10.03.19
✎
10:33
|
(14) Когда ответить по всем замечаниям, то наверняка придёт уточнение по тем пунктам, которые не понял или проигнорировал. Коллективный разум-это сила. Даже в мусорной куче советов может затеряться бриллиант правильного ©
|
|||
16
Мимохожий Однако
10.03.19
✎
10:33
|
*ответишь
|
|||
17
DrZombi
гуру
10.03.19
✎
15:56
|
(0) Сервер Вынь х64? Сервер 1С х64 ?
|
|||
18
DrZombi
гуру
10.03.19
✎
15:57
|
+ и да, офис на сервере установлен?
Версия офиса х64? |
|||
19
Игорь_МММ
10.03.19
✎
16:12
|
(17) 1С сервера нет - база файловая.
(18) офис на компьютере где исполняется серверный код - да, установлен. В тонком клиенте все работает. Как я понял из комментов в ветке - проблема в том, что офиса нет на веб-сервере. Не могу понять как это решить |
|||
20
Мимохожий Однако
10.03.19
✎
16:16
|
(19)Упроси админов на компьютере, где веб-сервер запущен установить Word. Это же очевидно.
|
|||
21
Игорь_МММ
10.03.19
✎
16:48
|
(20) на этом компьютере он установлен ... зуб даю)
в конце концов, в режиме отладки веб-клиента идет эта же ошибка: {ОбщийМодуль.ОбменMSWord.Модуль(6)}: Ошибка при вызове конструктора (COMОбъект) ОбъектВорд = Новый COMОбъект("Word.Application"); : Интерфейс не поддерживается |
|||
22
Игорь_МММ
10.03.19
✎
16:49
|
+ я сам сижу сейчас за этим компьютером))
|
|||
23
Игорь_МММ
10.03.19
✎
16:59
|
(20) ->(19) то что пишу "Как я понял из комментов в ветке - проблема в том, что офиса нет на веб-сервере" : я так понимаю что ворд надо как-то прописать в IIS, помимо того что он просто есть на машине
|
|||
24
Игорь_МММ
10.03.19
✎
17:02
|
+ короче, машина на которой установлен Веб-сервер и есть машина где лежит база 1С.
|
|||
25
DrZombi
гуру
10.03.19
✎
17:16
|
(24) "Пацак", ты нормально народу опиши, что у тебя там стоит.
Вот ничерта не понял, есть у тебя на веб сервере офис или нет. |
|||
26
Мимохожий Однако
10.03.19
✎
17:17
|
Разрядность 1С какая? Word как СОМ зарегистрирован? Зря не расписываешь подробно
|
|||
27
Игорь_МММ
10.03.19
✎
17:24
|
(25) -> (7) я же писал "как понять стоит он на веб-сервере?". вы под веб сервером что понимаете: физическую машину, железо или программное обеспечение (в моем случае IIS)? на физической машине (где лежит база 1С и IIS) ворд стоит.
(26) 1С 32, судя по диспетчеру задач. "Word как СОМ зарегистрирован?" - это как понять,где посмотреть ))? |
|||
28
Мимохожий Однако
10.03.19
✎
17:31
|
(27) Попробуй зарегистрировать файл comcntr.dll в папке bin твоей 1С
|
|||
29
Игорь_МММ
10.03.19
✎
17:42
|
(28) https://hostingkartinok.com/show-image.php?id=4a45a22dbac8ec7ed68ab9c08fa0db23
поробовал запустить: ошибка выходит таже |
|||
30
Мимохожий Однако
10.03.19
✎
17:45
|
https://its.1c.ru/db/bsp246doc#content:52:hdoc:_top:соединение%20word
Возможно, зря бьёшся с веб-клиентом. Вот цитата из ссылки:"Важно! Печать из макетов офисных документов в форматах Microsoft Word и OpenOffice.org Writer не доступна в веб-клиенте." |
|||
31
Игорь_МММ
10.03.19
✎
17:55
|
(30) это скорее относится к подсистеме Печать
ругается на СOMОбъект, а СП говорит: COMОбъект (COMObject) Конструкторы: По имени приложения Описание: Создает COM-объект (например, Word, Excel и т.д.). Методы и свойства СОМ-объектов в дальнейшем становятся доступными через данный объект. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. |
|||
32
Игорь_МММ
10.03.19
✎
17:57
|
+ все больше склоняюсь, что с правами что-то .. но уже плясал вокруг этого, но не поборол
|
|||
33
Мимохожий Однако
10.03.19
✎
18:01
|
Если права, то права пользователя, под которым запущена служба веб-сервера
|
|||
34
dmpl
10.03.19
✎
20:13
|
(12) Преобразуй в HTML и вставляй данные клиентов по шаблону.
|
|||
35
Игорь_МММ
14.03.19
✎
10:46
|
(33) в DCOM дал права на пользователя Все по такой схеме http://catalog.mista.ru/public/325873/. Но не помогает. Есть еще какие-нибудь идеи?
|
|||
36
Игорь_МММ
14.03.19
✎
10:57
|
+ млин, сделал симетричные действия только с Excel - отработало корректно
ОбъектВорд = Новый COMОбъект("Excel.Application"); сообщить("объект excel создан"); |
|||
37
Игорь_МММ
18.03.19
✎
17:55
|
Поставили Apache вместо IIS - CОМ объект создался. IIS как ни крутили - побороть не смогли.
Теперь как бы документ вордовский создается, создается на клиенте (через веб-клиент), записывается на диск, но процедура НачатьЗапускПриложения(,ФайлИмя) запускает этот файлик, созданный во временной папке, как я понимаю где-то в расширении браузера 1СFileExtensionChrWin32, соответственно он нигде не отображается. После закрытия сессии (закрытия формы документа недостаточно) этот вордовский файлик можно запустить. Знает ли кто в чем тут дело? |
|||
38
Garykom
гуру
18.03.19
✎
18:02
|
Тут дело в том что новые технологии плохо совместимы со старыми.
Представь что веб-клиента запущена на линуксе или на макоси, что будет? |
|||
39
Игорь_МММ
18.03.19
✎
18:06
|
(38) без понятия.
|
|||
40
dmpl
18.03.19
✎
18:19
|
(37) Чего вы так к этому Word'у прицепились? Автоматизировать надо по-нормальному, тогда не будет необходимости править документ после формирования.
|
|||
41
Игорь_МММ
18.03.19
✎
18:25
|
(40) уже помышляю перевести работу с договорами на html, но надо курить эту тему еще: как там с заполнением таблиц, что с печатью
|
|||
42
dmpl
18.03.19
✎
18:29
|
(41) Там несложно оказалось. Поначалу макет можно из Word'а сохранить в html, затем вставить шаблонные поля, а для редактирования - разобрать через DOM и заменить что где надо. Word - это пройденный этап, как убрали его из продакшена - так сразу пропали вопросы с непонятками: то не открылся, то открылся, но свернутый в фоне, то заменил не в том документе...
|
|||
43
Garykom
гуру
18.03.19
✎
18:52
|
(41) У вас много шаблонов договоров?
Просто я сейчас решение-конфу делаю аля "Конструктор документов" для сложных изменяемых шаблонов, которые динамически формируются. Нечто вроде https://www.freshdoc.ru/dogovor/dogovory_arendy/_dogovor_arendy_nejilogo_pomescheniya/ https://helpcenter.doc.one/hc/ru/articles/360002486873-Создание-и-удаление-условий-отображения Только сам редактор на 1С и для применения из конфигураций 1С в основном. |
|||
44
Garykom
гуру
18.03.19
✎
18:53
|
И кстати да столкнулся что с xls(x) есть много чего для работы из 1С, а вот для doc(x) почти нет.
|
|||
45
Игорь_МММ
18.03.19
✎
20:39
|
(42) (40) Word в плане возможностей оформления побогаче же будет нежели HTML? у нас было все сделано по вот этому типу:http://hj.net.ua/bounties/1С/MSWordPrint/MSWordPrint.html. Пока за веб не взялись все было замечательно. А с печатью HTML из под тонкого/толстого клиента заморотов нет?
(43) да нет - порядка десятка |
|||
46
Сияющий в темноте
18.03.19
✎
20:49
|
Вообще то,нужно учиться генерить pdf,всякие там ворды html и мохел,это все очень сильно нестандартно,а pdf как был,так и остается.
|
|||
47
Garykom
гуру
18.03.19
✎
20:54
|
(46) Как раз PDF намного проще генерить чем DOC, есть множество готового и бесплатного.
HTML тоже легко делать, но как оно выйдет на печать это большой вопрос. |
|||
48
Garykom
гуру
18.03.19
✎
21:19
|
Из бесплатного что умеет с DOC работать есть Apache POI
https://poi.apache.org/ Но требует установки Java на машину. В принципе можно поставить на сервер и там использовать. Когда то давно использовал для чтения/записи XLS файлов. |
|||
49
Игорь_МММ
18.03.19
✎
22:36
|
и все-таки насчет описанного в (37) никаких нет мнений?
|
|||
50
Игорь_МММ
19.03.19
✎
08:24
|
почему 1CFileExtensionChrWin32 может "держать" файл? косяк идет именно на этапе записи двоичных данных. При этом запись происходит (раз файл можно открыть после закрытия сеанса)
|
|||
51
Garykom
гуру
19.03.19
✎
11:58
|
(50) Потому что такая кривая реализация.
Например 1С тоже "держит файл" после сохранения ТабДок в xls |
|||
52
Сияющий в темноте
19.03.19
✎
12:26
|
У них,видимо,кривая сборка мусора,как в javascript,пока обьект не умер,он файл держит.
А бы попробовал через тот же обьект открыть друной файл,чтобы ему было чем заняться. |
|||
53
Игорь_МММ
19.03.19
✎
16:24
|
в итоге заработало так:
вместо НачатьЗапись() для веб-клиента надо идти по пути НачатьПолучениеФайлов() и все у вас будет хорошо ! ))) Причем актуально это именно для Ворд(может еще для чего - не скажу), другие типы файлов перевариваются итого (для потомков): чтобы запускать Ворд под веб клиента 1.нужен не IIS a Apache, и 2.см.выше |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |