Имя: Пароль:
1C
1С v8
Com Connect Отказано в доступе
0 Eskeych
 
01.11.22
17:10
Привет, сделал печать договоров WORD из 1с. На локальной базе все работает. Но если заливаем базу на скуль выдает ошибку, что отказано в доступе и ругается на строку Новый COMОбъект("Word.Application"). Компонента зарегистрирована. Права на ком дал для всех пользователей. В чем может быть проблема?
1 DayDreamer
 
01.11.22
17:13
(0) ты же права на ком дал пользователю от которого запущен сервер 1С? И компоненту зарегистрировал на сервере 1С?
2 Eskeych
 
01.11.22
17:16
(1) Сервер 1с запущен от UCR1CV8 и он не админ. Да, компоненту прописал через командную строку на сервере и клиенте.
3 Eskeych
 
01.11.22
17:22
(2) дал ему админа и перезапустил службу сервер 1с и не помогло
4 Eskeych
 
01.11.22
17:35
Up :)
5 Kassern
 
01.11.22
17:36
(3) COMОбъект где создаете, на клиенте, или на сервере?
6 Kassern
 
01.11.22
17:37
Если на сервере, то там ворд вообще стоит?)
7 Kassern
 
01.11.22
17:39
И еще вопрос, ворд 32х, или 64х? Если 64х, то скорее всего придется обертку делать на сервере, как для экселя, чтобы его запустить.
8 Kassern
 
01.11.22
17:40
Почитайте эту ветку https://forum.infostart.ru/forum9/topic128552/
9 Eskeych
 
01.11.22
17:53
одну строку прошли теперь вот это: Метод объекта не обнаружен (Activate)
10 Kassern
 
01.11.22
18:01
(9) надеюсь не так прошли?)
Попытка
Ворд=Новый COMОбъект("Word.Application");
Исключение
Ворд=Неопределено;
КонецПопытки

А дальше Ворд.Activate =)
11 lEvGl
 
гуру
01.11.22
18:29
(10) бгага
12 Eskeych
 
02.11.22
08:55
(10) ХАха нет, добавил папочку Desktop. Она меня когда-то спасла уже. теперь почти спасла)
13 Eskeych
 
02.11.22
08:56
(7) Обертку? Kassern
14 Kassern
 
02.11.22
09:02
(13) Для того же экселя 64х нужно через службу компонентов библиотеку регать, возможно еще в DCOM добавить строчку. Как с вордом я хз, давно его не использовал по COM в 1с.
15 Kassern
 
02.11.22
09:13
(14) насчет компоненты, это я с ком коннектором 1с спутал, а для экселя примерно по такой инструкции делал в свое время https://infostart.ru/1c/articles/325873/
16 Eskeych
 
02.11.22
12:39
(15) После действий по инструкции все еще не работает. Может ли быть проблема в том, что в разделе Настройка DCOM единственное что связано с вордом это "Документ Microsoft Word 97–2003" ?
17 Eskeych
 
02.11.22
13:02
Up
18 Kassern
 
02.11.22
13:12
(16) А файл как открываете вордовский? Скиньте кусок кода
19 Eskeych
 
02.11.22
13:15
(18)     Шаблон = ПолучитьМакет(ИмяМакета);
    ИмяФайла = ПолучитьИмяВременногоФайла(".docx");
    Шаблон.Записать(ИмяФайла);
    ОбъектВорд = Новый COMОбъект("Word.Application");
    ОбъектВорд.Documents.Add(ИмяФайла);
    ДокументВорд = ОбъектВорд.Application.Documents(1);
    ДокументВорд.Activate();
20 Kassern
 
02.11.22
13:22
(19) А почему вы Activate() запускаете у  ДокументВорд, а не у ОбъектВорд?
21 Kassern
 
02.11.22
13:23
Вы же писали, что у вас "На локальной базе все работает", а сами вызываете метод не у того объекта. Как так?
Глянул старую обработку у себя в архиве, там как раз у основного ком объекта этот метод вызывается
22 Kassern
 
02.11.22
13:24
Кусок кода

        Макет    = ПолучитьИзВременногоХранилища(Адрес); //получить макет из временного хранилища
        Макет.Записать(ИмяВременногоФайла); //создать документ на основе макета в TEMP клиента
        Word = Новый COMОбъект("Word.Application");  ///создаем COMОбъект
        Документ = Word.Documents.Open(ИмяВременногоФайла);  //подключаем макет к созданному COMОбъект
        
        
        ДокументЗаполнения = Документ.Application.Documents(1);
        
        Для Каждого Стр ИЗ ТЗп Цикл
            ПоискИЗаменаВВорде(ДокументЗаполнения,Стр.Значение,Стр.Представление);        
        КонецЦикла;
        
        Word.Application.Visible = Истина;//установить видимость документа
        Word.Activate();//открыть документ пользователю
23 Kassern
 
02.11.22
13:25
Прикольно, при вставке куска кода, пропали точки с запятой, там где комментарии идут)
24 Eskeych
 
02.11.22
13:35
(22) Попробовал ваш вариант кода - ошибка Поле объекта не обнаружено (Application), в моем варианте запускаю Activate у ОбъектВорд - ошибка (Microsoft Word): Не удается активизировать приложение. Еще глянул сервер, а там куча процессов ворда, причем 32-битных, а платформа на сервере и клиенте 64-битная, может ли в этом быть проблема?
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший