|
в веб клиенте (на стороне сервера) не взлетает ОбъектВорд.Documents.Open | ☑ | ||
---|---|---|---|---|
0
Игорь_МММ
14.01.25
✎
20:11
|
почему?
суть: в общем модуле (Сервер, ВнешнееСоединение) имеем код: ШаблонФайлИмя = ПолучитьИмяВременногоФайла(".docx"); Шаблон.Записать(ШаблонФайлИмя); ОбъектВорд = Новый COMОбъект("Word.Application"); ОбъектВорд.ScreenUpdating = Ложь; ДокументВорд = ОбъектВорд.Documents.Open(ШаблонФайлИмя); при вызове из тонкого клиента - работает, из веб-клиента - не работает (ДокументВорд = неопределено, временный файл при этом записывается). Полдня изучаю сеть ... в чем разница, если код исполняется на сервере, то как влияет в каком режиме запущен клиент? |
|||
1
timurhv
14.01.25
✎
20:51
|
(0) Было давно такое при обращении веб-сервисов. Попробуйте шаблон скопировать/переместить в какую-нибудь папку и потом уже его открывать.
И если есть БСП, то надежнее будет переделать под распаковку docx в виде zip, вставку текста и сборку docx обратно. |
|||
2
Игорь_МММ
14.01.25
✎
21:30
|
(1) "Шаблон" - это двоичные данные. Изначальный шаблон договора в виде ДД передается в эту функцию.
|
|||
3
AutoAns
14.01.25
✎
21:50
|
(0) Вроде бы как, чтоб открыть новый файл Word на основе шаблона надо вызывать не .Open(ШаблонФайлИмя) , а .Add(ШаблонФайлИмя), если, конечно, идет речь о создании и заполнеии нового документа из шаблона.
На вопрос о разных точках запуска и разном поведении MSWorda - не знаю. |
|||
4
Волшебник
14.01.25
✎
21:51
|
(3) А Вы тут при чём?
|
|||
5
Игорь_МММ
14.01.25
✎
23:58
|
(3) Add не взлетает и на тонком клиенте (
|
|||
6
AutoAns
15.01.25
✎
00:20
|
(5) Наверное, .add - это когда использовать именно шаблон Worda .dots, чтобы из него создать копию для редактирования и сохранения нового документа в обычный .docx.
Я с ходу не обратил внимания, что у тебя другой механизм создания нового документа Ворд. |
|||
7
AutoAns
15.01.25
✎
00:21
|
(6) *.dotx, а не .dots
|
|||
8
Волшебник
модератор
15.01.25
✎
01:34
|
Общаетесь, да? А ничего, что я тоже здесь?!
|
|||
9
sikuda
15.01.25
✎
09:06
|
(0) И тут Игорь с десятилетним опытом понял, что COMОбъект не работает в Вэб-клиенте.
|
|||
10
Игорь_МММ
15.01.25
✎
10:02
|
(9) собственно понятно что проблема в вебклиенте и COMОбъекте. Но код же исполняется на стороне сервера ... я где-то тут туплю, поэтому и основной вопрос, который хотел прояснить для себя:
(0) "... если код исполняется на сервере, то как влияет в каком режиме запущен клиент? " |
|||
11
sikuda
15.01.25
✎
10:38
|
(10) Ну если у тебя Windows сервер и на нем установлен MS Office(был зарегистрирован Com объект на сервере) то все будет работать.
|
|||
12
timurhv
15.01.25
✎
10:47
|
(2) Так скопируйте\переместите после:
Шаблон.Записать(ШаблонФайлИмя); Особо не разбирался когда с подобным столкнулся, но предположу что файл блокирутся платформой 1С и разное поведение тонкого клиента и веб-клиента (веб-сервисов в моем случае). С ИТС: Кроме того, при использовании метода ПолучитьИмяВременногоФайла платформа 1С:Предприятие сохраняет контроль над такими файлами и автоматически удаляет их |
|||
13
arsik
гуру
15.01.25
✎
10:53
|
(0) Вы сюда пришли поиздеваться?
COMОбъект и веб клиент |
|||
14
Garykom
гуру
15.01.25
✎
11:06
|
(0) Расширение от 1С в браузере поставь, должно помочь
|
|||
15
Игорь_МММ
15.01.25
✎
14:18
|
(14) стоит
(11) собственно, я веду разработку в файловой базе. Но есть куча клиентов с самыми разными вариантами подключения - ошибка одна. (12) идея хорошая была - но не помогло, пробовал также не временный файл брать, а созданный для этой цели - не канает (13) там почитайте - проблема решена была. Если у вас есть понимание, то просто поделитесь - плюс вам в карму будет |
|||
16
arsik
гуру
15.01.25
✎
14:53
|
(15) Так у вас сейчас апач или иис?
|
|||
17
sikuda
15.01.25
✎
14:58
|
(15) А точно надо такое извращение испытывать ВнешнееСоединение + Вэбклиент
Насколько я понимаю ВнешнееСоединение это COM соединение из клиента компьютера пользователя. https://v8.1c.ru/platforma/vneshnee-soedinenie/ |
|||
18
stix2010
15.01.25
✎
15:03
|
(0) а для чего Вы вообще для docx COM используете? в БСП давно все завезли кроссплатформенное.
|
|||
19
Игорь_МММ
15.01.25
✎
16:00
|
(16) Апач
(18) перепиливую уже по схеме docx -> zip -> преобразование xml, в БСП кстати где там? собственно для себя я вопрос закрыл, приобрел в помощь вот это: https://infostart.ru/1c/tools/675307/?ysclid=m5xjkmv5l6171872948 но осадочек, так сказать остался )) ... почему таки серверная процедура по -разному отрабатывает? пс. спасибо также (1) |
|||
20
Fragster
гуру
15.01.25
✎
16:11
|
для файловой базы:
сторона сервера в тонком клиенте - это клиентский процесс 1с сторона сервера в веб клиенте - это процесс веб сервера соответственно надо чтобы у пользователя, под которым запускается веб сервер (для IIS это обычно IUSR) был доступ к соответствующим COM-объектам для серверной базы сторона сервера - это rphost, соответственно, у пользователя, под которым он стартует должен быть этот доступ. как дать доступ - в поиск. |
|||
21
Fragster
гуру
15.01.25
✎
16:13
|
а, еще если процесс 64битный, а ком объекты 32битные - нужны доп заморочки
|
|||
22
stix2010
15.01.25
✎
16:47
|
||||
23
Игорь_МММ
15.01.25
✎
16:58
|
(20) (21) (22) спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |