Ошибка при вызове конструктора (COMObject) по причине: Интерфейс не поддерживается
Ошибка происходит при попытке загрузить из Excel в 1С, когда код обработчика выполняется не на клиенте, а на сервере и в большинстве случаев текст ошибки говорит об отсутствии прав у пользователя сервера 1С.
Быстрый переход
- Особенности
- Устранение:
- Может оказаться, что «Microsoft Excel Application» отсутствует в списке, в данном случае
- Заключение
Особенности
Кодом со стороны 1С без изменения места исполнения не устраняется, использование других функций подключения Com также не дает положительных результатов.
Убедиться в причине ошибки возможно, если посмотреть логи системы.
Устранение:
- на сервере убиваем excel (taskkill /im excel.exe /f)
- открываем оснастку «Службы компонентов» (Пуск->Администрирование->Службы компонентов)
- в ней раскрываем ветку Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM
- справа в списке находим Microsoft Excel Application, открываем Свойства, вкладка Удостоверение, выбираем пользователя с администраторскими правами, ОК.
Может оказаться, что «Microsoft Excel Application» отсутствует в списке, в данном случае
- Запускаем REGEDIT
- Открываем ветку ComputerHKEY_CLASSES_ROOTAppIDEXCEL.EXE, если ее нет, то создаем
- Создаем в ней строковый параметр AppID = {00020812-0000-0000-C000-000000000046}
- Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты.
- После этого в Component Services должен появиться «Microsoft Excel Application»
Чтобы решить эту проблему, я включил пользователя USRV82, под которым запускается сервер приложений 1С Предприятия 8.3, в группу Distributed COM Users, но ошибка сразу не ушла, потребовалась перезагрузка.
Для правки использовалась оснастка Локальные пользователи и группы (lusrmgr.msc) — это инструмент, предназначенный для управления локальными пользователями и группами. Локальный пользователь или группа — это учетная запись, которой могут быть предоставлены разрешения и права на вашем компьютере.
Осложняло проблему то, что ошибка плавала: периодически выходила, либо в момент создания объекта, либо уже в момент вызова методов excel-application.
Так что нельзя однозначно сказать, что же решило проблему.
Заключение
В большинстве случаев уйти от дополнительной настройки операционной системы возможно, если использовать вызова Com-Объекта на клиенте. При правильной установке объектов они работают даже при различных по битности 1с и Excel, OS.
В моем же случае клиентские компьютеры работали на Ubuntu, поэтому вся обработка перенесена на сервер.
Бывает такое: вы прописываете для компонента пользователя и пароль.
Затем через некоторое время меняете пароль и компонент перестает работать: выходит такая же ошибка «Интерфейс не поддерживается». Следует просто вбить новый пароль.
Половина денег, которые идут на рекламу, выбрасываются впустую; но как узнать, какая именно половина?
0
1С 8.x : Ошибка при вызове конструктора (COMОбъект): Интерфейс не поддерживается
Подключение к 7.7 через OLE в регламентном задании из 8.2
Если во время выполнения задания, при попытке подключиться через OLE из 8.2 к 7.7 возникает ошибка:
Ошибка при вызове конструктора (COMОбъект): Интерфейс не поддерживается.
поможет следующее
Пуск — Выполнить — DCOMCNFG.
«Службы компонентов» — «Компьютеры» — «Мой компьютер» — «Настройка DCOM».
V77.GeneralPropPage и V77.SalaryPropPage.
На закладке «Безопасность» установить необходимые права для того, от чьего имени запускается сервер 1С (8.2)
val245
03.04.18 — 20:24
Здравствуйте
Стоит УТ 11. Клиент-серверный вариант. Загружаю данные из Excel. При попытке открыть файл конструктором
Ex=Новый ComОбъект(«Excel.Application»);
Work = Ex.workbooks.Open(СокрЛП(ПутьКФайлу));
Входит ошибка
{Обработка.ЗагрузкаНоменклатурыИзЭкзель.Форма.Форма.Форма(25)}: Ошибка при вызове конструктора (ComОбъект): -2147467262(0x80004002): No such interface supported
Обработку разрабатывал в фаловом варианте. В файловом варианте обработка проходит нормально. Excel на сервере установлен.
Кто знает, почему файл не хочет читаться в клиент-серверном варианте?
shuhard
1 — 03.04.18 — 20:27
(0)[Кто знает, почему] Все знают
100500 раз писалось про пути и учетные записи
Darych
2 — 03.04.18 — 20:28
права
val245
3 — 03.04.18 — 20:32
права в 1с или права учетных записей Windows?
Darych
4 — 03.04.18 — 20:32
вин
MaxS
5 — 03.04.18 — 20:33
Открывайте 1С-ом через Файл-Открыть
val245
6 — 03.04.18 — 20:34
(1) Ну я пока с такой проблемой не сталкивался
shuhard
7 — 03.04.18 — 20:34
(3) права учетной записи, от которой крутиться rphost
+ ну и конечно для загрузки из xls ставить на сервер эксель плохое решение, пару раз зависнет и сожрёт всю память
Cool_Profi
8 — 03.04.18 — 20:35
(7) Твой вариант решения?
tesseract
9 — 03.04.18 — 20:35
Почему просто в ТД не читать? Зачем Excel дергать?
val245
10 — 03.04.18 — 20:37
(5) Открывать 1С-ом что? обработку или Excel? Экзель открывается, правда, конечно, не читабельно..
Darych
11 — 03.04.18 — 20:37
(9) не всегда в ТД получается
val245
12 — 03.04.18 — 20:38
(9) ТД — это что?
piter3
13 — 03.04.18 — 20:38
Взять типовую загрузку из йокселя,загрузить,закрыть,забыть.
val245
14 — 03.04.18 — 20:38
табличный документ?
val245
15 — 03.04.18 — 20:39
ну так у пользователей данные в экзеле.. приходится загружать из экзель
tesseract
16 — 03.04.18 — 20:39
(14) Да он давно и Excel и ods нормально грузит.
piter3
17 — 03.04.18 — 20:39
shuhard
18 — 03.04.18 — 20:39
(8) adodb однозначно
shuhard
19 — 03.04.18 — 20:40
(16) многостраничные стал грузить совсем не давно
Darych
20 — 03.04.18 — 20:41
(18) а у него думаешь не адо?
Cool_Profi
21 — 03.04.18 — 20:41
(18) И тут мы вам покажем, как вы думаете, что?
Правильно… Вот эту ссылку
https://www.forum.mista.ru/topic.php?id=815766
shuhard
22 — 03.04.18 — 20:42
(20) ты это о чем ?
ComОбъект(«Excel.Application»);
shuhard
23 — 03.04.18 — 20:43
(21) ты неудачник и что ?
Cool_Profi
24 — 03.04.18 — 20:44
(23) А с какого перепою я неудачник? Можешь обосновать внятно?
Или у тебя перепой?
shuhard
25 — 03.04.18 — 20:47
(24) хвостик отрасти для объяснений
val245
26 — 03.04.18 — 20:48
а с чем эта ошибка связана? почему в файловом варианте читает, а в клиент-серверном читать не хочет?
shuhard
27 — 03.04.18 — 20:49
(26) пипец
ты чё, ответы не читаешь ?
ДенисЧ
28 — 03.04.18 — 20:49
(25) Так лучше видно?
tesseract
29 — 03.04.18 — 20:52
(26) Сервер и клиент находятся в разных местах. Если на одном — у них разные пользователи. См НачатьПомещениеФайла для начала.
shuhard
30 — 03.04.18 — 20:53
(28) =)
Darych
31 — 03.04.18 — 20:54
все ж написано: «No such interface supported
«
val245
32 — 03.04.18 — 20:55
сейчас пользователи подключаются через rdp. Все действия происходят на сервере..
shuhard
33 — 03.04.18 — 20:57
val245
34 — 03.04.18 — 21:01
ок. спасибо. Будем разбираться…
Платформа: 1С:Предприятие 8.3 (8.3.6.2100)
Конфигурация:Риэлтор. Управление продажами недвижимости для «1С:Управление торговлей 8», редакция 11.1 (11.1.10.145/2.7.3.42)
Проблема:Файловая база размещена на сервере, опубликована на веб-сервере. Пользователи подключаются через тонкого клиента к веб-серверу. При печати шаблона WORD база выдает ошибку -2147467262(0х80004002) Интерфейс не поддерживается.
Сложности в процессе решения:
Согласно инструкции разработчиков, по словам ошибки «интерфейс не поддерживается» проделали следующее:
1. Пользователю USR1CV82, от имени которого запускается сервер 1С, дать права на запуск DCOM MicrosoftWord и DCOM Microsoft Excel (при необходимости).
Для этого нужно:
1.1. Запустить службу компонентов. Из командной строки набрать
mmccomexp.msc
и найти компоненту Word или Excel. Пример для Word представлен на рисунке ниже:
При запуске службы компонентов на 64-х разрядной машине, 32-х разрядные компоненты могут не отображаться, тогда запуск нужно осуществить через команду:
C:WINDOWSSysWOW64>mmc comexp.msc /32
1.2. Открыть свойства компоненты и перейти на закладку Безопасность.
1.3. В разделе Разрешения на запуск выбрать пункт Настроить и нажать кнопку Изменить. Добавить пользователя USR1CV82.
Не помогло, база выдавала ошибку: Данная команда недоступна, так как не открыт ни один документ.
В ходе работ закончилась лицензия на MS Office, и в конфигурации после создания COM-объекта «Word.Application» на каждом шаге в отладке ОС запускает процесс завершения установки и активации MS Office. Клиент купил лицензию для сервера на MS Office.
После установки лицензий вернулась ошибка -2147467262(0х80004002) Интерфейс не поддерживается.
По словам разработчиков, перевод обработки Word на клиента не решит проблему. Судя по предоставленным нами логам — ошибка возникает в режиме веб-клиента. В этом режиме программная обработка Word на клиенте не возможна, только серверная обработка.
Но для работы базы необходимо было решить данную проблему. Мы вернули все изменения, которые сделали по инструкции разработчика. Долго прорабатывали доступы к папкам временного хранилища для пользователей извне. Создали еще одного администратора без пользовательских настроек, для него заново настраивали IIS.
Решение:
Настроили работу сервера через Apache. Создали папку, в которой находятся редактируемые шаблоны Word, дали общий доступ к этой папке, для пользователя IUSR и группы пользователей IIS_users.
На Windows Server 2012 (64 разрядности) установлен Word 2013 (32 разрядности), а у пользователей установлен Adobe Reader. Шаблон договора заполняется в 1С на сервере и конвертируется в PDF, сохраняется во временную папку на сервере.
Мы переписали обработку, чтобы документ сохранился в формат PDF (по требованию клиента для запрета редактирования, изменения документа) и сохранялся во временное хранилище 1С. Из хранилища документ/файл передается на указанный нами путь (во временные папки у клиента), как для тонкого клиента, так и для веб-клиента. Открывается файл именно из этой временной папки. Ниже пример кода, который мы дописали для передачи файла с сервера на клиент.
&НаКлиенте
Попытка
ЗапуститьПриложение(ПолноеИмяФайлаНаКлиенте);
Исключение
Адрес = УПН_ОбщиеПроцедуры.ПолучитьФайл(ПолноеИмяФайлаНаКлиенте);
Описание = Новый ОписаниеПередаваемогоФайла(«C:doc» + ДанныеФайла.ИмяФайла,Адрес);
МассивОписаний=Новый Массив;
МассивОписаний.Добавить(Описание);
ПолучитьФайлы(МассивОписаний,,,Ложь);
ЗапуститьПриложение(«C:doc» + ДанныеФайла.ИмяФайла);
КонецПопытки;
&НаСервере
Функция ПолучитьФайл(ПолноеИмяФайлаНаКлиенте) Экспорт
Двоичное = Новый ДвоичныеДанные(ПолноеИмяФайлаНаКлиенте);
Адрес = ПоместитьВоВременноеХранилище(Двоичное);
Возврат Адрес
КонецФункции
В настроках Панель управления, далее путь: Администрирование->Управление групповой политикой->Домены – выбираем наш сервер и во вкладке «Делегирование» добавляем группу IIS_users и пользователя IUSR (через которого подключаются внешние пользователи).
В веб-клиенте после отправки документа на печать браузе попросит установить расширение. Нужно установить, и все заработает:
Предпочтительнее использовать Internet Explorer (IE) не ниже 8 версии. При использовании Google Chrome (гугл хром) возникает ошибка: Использование модальных окон в данном режиме запрещено.
Если Internet Explorer не запускает документ на печать, можно принудительно запустить браузер от имени администратора:
В тонком клиенте сразу открывается заполненный шаблон (на примере ниже стерты данные клиента). Форма открывается в формате PDF по требованию клиента, чтобы пользователь не мог редактировать документ перед печатью.
1
2
Показывать по
10
20
40
сообщений
Новая тема
Ответить
pentanom
Дата регистрации: 09.04.2014
Сообщений: 40
Необходимо сравнить данные в трех базах: УТ 10.3, БП 2.0 и Бух 7.7
Хочу использовать для этого COM-подключение к базам 7.7 и 2.0 из УТ.
Если базы поставить на Win XP, то COM-подключение работает.
Начинается лето и некоторое время я хотел поработать на даче. Перенес базы на ноутбук с Win 8.1. Отдельно все базы доступны и с ними можно делать что угодно. Но COM-подключение не работает
Выдается ошибка:
Ошибка при вызове конструктора (COMОбъект)
БазаОлеТек= Новый COMОбъект(«V77.Application»);
по причине:
-2147467262(0x80004002): Интерфейс не поддерживается
Что можно (нужно) сделать чтобы все-таки COM-подключение заработало ?
Платформа 7.7 устанавливалась копированием.
Для УТ и БП использовалась платформа 8.2 и 8.3
Консультант 1С
Дата регистрации: 06.09.2008
Сообщений: 300
pentanom пишет:
Цитата |
---|
Платформа 7.7 устанавливалась копированием |
Я впервые слышу об установке копированием.
Почему бы не установить штатно?
Рисовод
Дата регистрации: 26.12.2007
Сообщений: 25776
Геннадий Новосибрск пишет:
Цитата | ||
---|---|---|
pentanom пишет:
Я впервые слышу об установке копированием. |
но бесплатно …
pentanom
Дата регистрации: 09.04.2014
Сообщений: 40
Геннадий Новосибрск, На Win 8 (а также и на Win 7) штатно не устанавливается
Почитайте об этом в интернете
pentanom
Дата регистрации: 09.04.2014
Сообщений: 40
Рисовод, Про «бесплатно» не понятно. Из установочного комплекта 7.7 в Win 8 не устанавливается
Рекомендуют установить платформу на XP, а потом скопировать каталог, в который установлена 7.7, скопировать на компьютер с Win 8.
Так и было сделано. Отдельно все базы доступны работают, а COM-подключение не работает.
И причем здесь «бесплатно» ?
Консультант 1С
Дата регистрации: 06.09.2008
Сообщений: 300
pentanom пишет:
Цитата |
---|
Геннадий Новосибирск , На Win 8 (а также и на Win 7) штатно не устанавливается Почитайте об этом в интернете |
Как-то странноватенько — задавать один вопрос, под которым закамуфлирован на самом деле — другой, для разгадывания которого отсылать в интернет без конкретных ссылок
Там же в интернете и пишут — что делать… надо было очень постараться, чтобы понять это так, чтобы не работало и не устанавливалось…
Первые 2 самых очевидных способа, среди множества других без установок копированием, которые находятся сразу поиском в интернете:
- поднять виртуальную машину с Windows XP из под Windows 8.1 и там всё устанавливать без копирования
- в свойствах файла запуска в разделе Совместимость отметить:
— запустить программу в режиме совместимости c:
Windows XP (Пакет Обновления 3)
— Выполнять эту программу от имени администратора
pentanom
Дата регистрации: 09.04.2014
Сообщений: 40
Геннадий Новосибирск, Вопрос был: «Что можно (нужно) сделать чтобы все-таки COM-подключение заработало ? «
И хотелось бы получить ответ на этот вопрос.
А если вы что-то советуете по поводу установки 7.7 на Вин 8, то сначала попробуйте сделать это.
А если нечего ответить на мой вопрос, то и не надо отвечать вообще.
pentanom
Дата регистрации: 09.04.2014
Сообщений: 40
Копировать нужно в каталог Program Files (x86). Тогда COM-подключение работает. В XP можно копировать в любое место (хотя можно и установить из установочного комплекта).
Денис (САМАРА)
Дата регистрации: 09.04.2008
Сообщений: 8351
Цитата |
---|
В XP можно копировать в любое место |
Это от того, что теперь есть разница между х86 и х64 приложениями. К какой категории относится 7.7 думаю сами догадаетесь…
pentanom
Дата регистрации: 09.04.2014
Сообщений: 40
Денис (САМАРА), теперь -то все умные. А что бы вначале об этом не сказать ?
Лучше подскажите как эту тему закрыть.
Ошибка при вызове конструктора (COMObject) по причине: Интерфейс не поддерживается
Ошибка происходит при попытке загрузить из Excel в 1С, когда код обработчика выполняется не на клиенте, а на сервере и в большинстве случаев текст ошибки говорит об отсутствии прав у пользователя сервера 1С.
Быстрый переход
- Особенности
- Устранение:
- Может оказаться, что «Microsoft Excel Application» отсутствует в списке, в данном случае
- Заключение
Особенности
Кодом со стороны 1С без изменения места исполнения не устраняется, использование других функций подключения Com также не дает положительных результатов.
Убедиться в причине ошибки возможно, если посмотреть логи системы.
Устранение:
- на сервере убиваем excel (taskkill /im excel.exe /f)
- открываем оснастку «Службы компонентов» (Пуск->Администрирование->Службы компонентов)
- в ней раскрываем ветку Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM
- справа в списке находим Microsoft Excel Application, открываем Свойства, вкладка Удостоверение, выбираем пользователя с администраторскими правами, ОК.
Может оказаться, что «Microsoft Excel Application» отсутствует в списке, в данном случае
- Запускаем REGEDIT
- Открываем ветку ComputerHKEY_CLASSES_ROOTAppIDEXCEL.EXE, если ее нет, то создаем
- Создаем в ней строковый параметр AppID = {00020812-0000-0000-C000-000000000046}
- Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты.
- После этого в Component Services должен появиться «Microsoft Excel Application»
Чтобы решить эту проблему, я включил пользователя USRV82, под которым запускается сервер приложений 1С Предприятия 8.3, в группу Distributed COM Users, но ошибка сразу не ушла, потребовалась перезагрузка.
Для правки использовалась оснастка Локальные пользователи и группы (lusrmgr.msc) — это инструмент, предназначенный для управления локальными пользователями и группами. Локальный пользователь или группа — это учетная запись, которой могут быть предоставлены разрешения и права на вашем компьютере.
Осложняло проблему то, что ошибка плавала: периодически выходила, либо в момент создания объекта, либо уже в момент вызова методов excel-application.
Так что нельзя однозначно сказать, что же решило проблему.
Заключение
В большинстве случаев уйти от дополнительной настройки операционной системы возможно, если использовать вызова Com-Объекта на клиенте. При правильной установке объектов они работают даже при различных по битности 1с и Excel, OS.
В моем же случае клиентские компьютеры работали на Ubuntu, поэтому вся обработка перенесена на сервер.
Бывает такое: вы прописываете для компонента пользователя и пароль.
Затем через некоторое время меняете пароль и компонент перестает работать: выходит такая же ошибка «Интерфейс не поддерживается». Следует просто вбить новый пароль.
Впервые в истории планеты Земля все люди во всех странах задались единой целью: заработать столько денег, чтобы уподобиться героям рекламы.
-
13.11.2018, 09:23
#31
Пришел за помощью
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от avm3110
А сколько есть попыток угадать какую именно библиотеку ставил «2 раза»? Где ставил (на клиенте или на сервере)? под какими правами (пользователя или админа)?
Да и по синтаксису… У тебя в диагностике:
Что явно указывает на ошибку — «лишняя запятая». Параметр «Excel.Application» должен быть
первым
правильно:
ExcelApplication = Новый COMObject(«Excel.Application»);Теперь ошибка немного другая
{ВнешняяОбработка.Загрузка ВITIL.Форма.Форма.Форма(123)}: Ошибка при вызове конструктора (COMObject)
ExcelApplication = Новый COMObject(«Excel.Application»);
по причине:
-2147024891(0x80070005): Отказано в доступе.
-
13.11.2018, 12:13
#32
Гордость форума PRO
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от Akbar11
Регистрировал библиотеку на клиенте, под администратором. Той платформы которую запускаю
Продолжаю занудно. Какую библиотеку регистрируете? Какой командой? У вас база файловая или клиент-сервер?
Опишите поподробнее — как именно регистрируете «под администратором».
-
14.11.2018, 06:04
#33
Пришел за помощью
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от avm3110
Продолжаю занудно. Какую библиотеку регистрируете? Какой командой? У вас база файловая или клиент-сервер?
Опишите поподробнее — как именно регистрируете «под администратором».Регистрация библиотеки командой regsvr32 «C:Program Files1cv88.3.10.2466bincomcntr.dll»
Клиент — сервер
Процес, нажимаю вин + Q, пишу командная строка строка, контекстное меню запустить от имени админа, запускаю, Логин + пароль и регистрирую библиотеку
-
14.11.2018, 07:05
#34
Гордость форума PRO
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от Akbar11
Регистрация библиотеки командой regsvr32 «C:Program Files1cv88.3.10.2466bincomcntr.dll»
Клиент — сервер
Процес, нажимаю вин + Q, пишу командная строка строка, контекстное меню запустить от имени админа, запускаю, Логин + пароль и регистрирую библиотекуМдя-я-я… все как в анекдоте…
«Пьяный ходит вокруг фонаря ночью и о чем-то материться. Прохожий хочет помочь и участливо спрашивает в чем дело.
Да я ключи потерял и уже полчаса не могу найти — следует ответ.
прохожий оглядывает место под фонарем и удивляется. Да тут же ровный асфальт, сухо и отлично видно что ключей тут нет. Ты уверен что именно тут потерял?
Да нет.. потерял я в грязной луже, вон там в подворотне. Но там же очень темно искать и очень грязно и очень мокро — поэтому я ищу именно тут».Уважаемый… У Вас диагностика «не зарегистрирован класс Excel.Application». Ну и что же вы хотите добиться «упорством достойного лучшего применения» регистрируя библиотеку 1с предприятия????
-
Пользователь сказал cпасибо:
-
14.11.2018, 07:10
#35
Гордость форума PRO
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от Akbar11
Теперь ошибка немного другая
{ВнешняяОбработка.Загрузка ВITIL.Форма.Форма.Форма(123)}: Ошибка при вызове конструктора (COMObject)
ExcelApplication = Новый COMObject(«Excel.Application»);
по причине:
-2147024891(0x80070005): Отказано в доступе.А эта ошибка показывает, что пользователю под которым выполняется строка
ExcelApplication = Новый COMObject(«Excel.Application»);
нет прав на создание ком-объекта.У вас база клиент-серверная или файловая? Для файловой запустите 1с с правами администратора и попробуйте выполнить внешнюю обработку под админом с полными правами и правами администрирования.
-
14.11.2018, 08:14
#36
Пришел за помощью
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от avm3110
А эта ошибка показывает, что пользователю под которым выполняется строка
ExcelApplication = Новый COMObject(«Excel.Application»);
нет прав на создание ком-объекта.У вас база клиент-серверная или файловая? Для файловой запустите 1с с правами администратора и попробуйте выполнить внешнюю обработку под админом с полными правами и правами администрирования.
В файловой все работает, даже не под админимон
-
14.11.2018, 13:33
#37
Гордость форума PRO
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от Akbar11
В файловой все работает, даже не под админимон
Поднимите файловую на сервере и там попробуйте.
Если интерактивно в файловой будет работать, а в запущенном клиенте на сервере в клиент-сервере — нет. нужно смотреть права пользователя под которым работает 1С предприятие. А есть еще ряд настоек которые нужно будет проверять.
Пришлите вначале результаты этого тестирования
-
27.11.2018, 03:06
#38
Пришел за помощью
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от avm3110
Поднимите файловую на сервере и там попробуйте.
Если интерактивно в файловой будет работать, а в запущенном клиенте на сервере в клиент-сервере — нет. нужно смотреть права пользователя под которым работает 1С предприятие. А есть еще ряд настоек которые нужно будет проверять.
Пришлите вначале результаты этого тестирования
Здравствуйте. В файловой на сервере все работает
Последний раз редактировалось Akbar11; 27.11.2018 в 03:23.
-
27.11.2018, 03:26
#39
Пришел за помощью
Re: Ошибка при вызове конструктора (COMObject)
На сервере ошибка
{ВнешняяОбработка.Загрузка ВITIL.Форма.Форма.Форма(123)}: Ошибка при вызове конструктора (COMObject)
ExcelApplication = Новый COMObject(«Excel.Application»);
по причине:
-2147467262(0x80004002): Интерфейс не поддерживается
-
27.11.2018, 07:59
#40
Гордость форума PRO
Re: Ошибка при вызове конструктора (COMObject)
Сообщение от Akbar11
В файловой на сервере все работает
На сервере ошибкану е-е-е-е… еще раз.. выше уже писал… Если на одном и том же компе одна и та же база поднята в файловом режиме, а затем в клиент-серверном (когда и сервер и клиент это один и тот же ком). И при этом на файловом «все работает», а на клиент-сервере подобная ошибка — следовательно проблема в правах под которым работает база.
При файл серверном — это права пользователя под которым идет запуск базы, а на клиент сервере это права пользователя под которым крутиться сервер 1С предприятия.
Решение — смотреть и фиксить эти права. Например как описано тут: — http://buh.ruboard.ru/public/196323/
Похожие темы
-
Ответов: 1
Последнее сообщение: 08.06.2017, 00:12
-
Ответов: 9
Последнее сообщение: 16.04.2014, 12:50
-
Ответов: 0
Последнее сообщение: 27.02.2014, 22:04
-
Ответов: 2
Последнее сообщение: 12.08.2013, 13:34
-
Ответов: 1
Последнее сообщение: 27.06.2013, 19:33
Социальные закладки
Социальные закладки

Ваши права
- Вы не можете создавать новые темы
- Вы не можете отвечать в темах
- Вы не можете прикреплять вложения
- Вы не можете редактировать свои сообщения
- BB коды Вкл.
- Смайлы Вкл.
- [IMG] код Вкл.
- [VIDEO] код Вкл.
- HTML код Выкл.
Правила форума
09.03.19 — 16:00
то что в клиенте из под Веб нельзя создавать COMОбъект — это знаю. Но НаСервере, что тоже нельзя?
Суть проблемы ОбменMSWord — общий модуль с компиляцией на сервере. В тонком работает, в в веб возвращает следующее:
{ОбщийМодуль.ОбменMSWord.Модуль(6)}: Ошибка при вызове конструктора (COMОбъект)
ОбъектВорд = Новый COMОбъект(«Word.Application»);
по причине:
по причине:
-2147467262(0x80004002): Интерфейс не поддерживается
1 — 09.03.19 — 16:24
Сервер на линуксе?
2 — 09.03.19 — 18:18
(1) Не то сообщение
(0) А там вообще ворд есть?
3 — 09.03.19 — 19:01
(1) база файловая
(2) да, в тонком же работает
4 — 09.03.19 — 19:06
(3) А в тонком через веб-сервер работает?
5 — 09.03.19 — 19:12
(4) нет, локально
6 — 09.03.19 — 19:20
(5) «локально» серверный код на файловой базе выполняется локально, а через веб-сервер к файловой базе серверный код выполняется на машине веб-сервера. И там ворда или нет или он не доступен по каким-то причинам
7 — 09.03.19 — 19:52
если я правильно копаю, то у меня в DCOM нет Ворда. Как понять есть ворд на web-сервере? у меня IIS.
8 — 09.03.19 — 20:01
(7) Обычно Word появляется на машине после того, как кто-нибудь установит туда MS Office
9 — 09.03.19 — 21:09
(0) Похоже COM не установлен на Сервер. Он не ставиться по умолчанию как устаревшая технология.
10 — 09.03.19 — 23:12
(9) можно поподробнее? что делать то?
11 — 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 — 10.03.19 — 15:56
(0) Сервер Вынь х64? Сервер 1С х64 ?
18 — 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 — 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
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 — 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 — 18.03.19 — 18:02
Тут дело в том что новые технологии плохо совместимы со старыми.
Представь что веб-клиента запущена на линуксе или на макоси, что будет?
39 — 18.03.19 — 18:06
(38) без понятия.
40 — 18.03.19 — 18:19
(37) Чего вы так к этому Word’у прицепились? Автоматизировать надо по-нормальному, тогда не будет необходимости править документ после формирования.
41 — 18.03.19 — 18:25
(40) уже помышляю перевести работу с договорами на html, но надо курить эту тему еще: как там с заполнением таблиц, что с печатью
42 — 18.03.19 — 18:29
(41) Там несложно оказалось. Поначалу макет можно из Word’а сохранить в html, затем вставить шаблонные поля, а для редактирования — разобрать через DOM и заменить что где надо. Word — это пройденный этап, как убрали его из продакшена — так сразу пропали вопросы с непонятками: то не открылся, то открылся, но свернутый в фоне, то заменил не в том документе…
43 — 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 — 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 — 18.03.19 — 20:54
(46) Как раз PDF намного проще генерить чем DOC, есть множество готового и бесплатного.
HTML тоже легко делать, но как оно выйдет на печать это большой вопрос.
48 — 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 — 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.см.выше
Вопрос При работе с Excel из 1С возникает сообщение: «Ошибка при вызове конструктора (COMОбъект): Интерфейс не поддерживается». Что делать?
Ответ Подробнее:
При использовании:
Excel = Новый COMОбъект("Excel.Application"); WB = Excel.Workbooks.Open(ИмяФайла);
Выдает ошибку – Ошибка при вызове конструктора (COMОбъект): Интерфейс не поддерживается.
Или другой метод:
Объект = ПолучитьCOMОбъект(ИмяФайла);
— сообщение: «Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: Класс не зарегистрирован»
или
Объект = ПолучитьCOMОбъект(ИмяФайла, "Excel.Application");
— сообщение: «Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: Сервер RPC недоступен»
Причин всех этих ошибок может быть несколько.
У службы «Запуск серверных процессов DCOM» тип запуска должен быть «Авто».
Кроме того, если служба «Агент сервера 1С:Предприятия 8.2» запускается от имени специального пользователя, то у него должны быть права на запуск компоненты «Приложение Microsoft Excel»
Служба «Агент сервера 1С:Предприятия 8.2» не должна запускаться от имени пользователя с ограниченными правами, у него должны быть права на запуск компоненты «Приложение Microsoft Excel».
Другая возможная причина: 1С предприятие установлено в 64-битном варианте, а Excel — в 32-битном. Может помочь установка 1С в 32-битном варианте (это может быть проще, чем найти 64-битный Excel)
У службы «Запуск серверных процессов DCOM» тип запуска необходимо установить в «Авто». После чего желательно перезагрузить компьютер.
Ну и как вариант, быть может поврежден установленный пакет MS Office. Необходимо попробовать переустановить его.
Next Post
-
v8
-
Программисту 1C
Пт Май 14 , 2010
Вопрос Как в запросе использовать «СокрЛП», «Лев», «Прав», т.е. как отсечь нужное количество символов? Ответ Использовать конструкцию «ВЫРАЗИТЬ»: … ГДЕ (ВЫРАЗИТЬ(усЕдиницыХранения.Владелец.Наименование КАК СТРОКА(4))) «Груз» |ГДЕ | (ВЫРАЗИТЬ(усЕдиницыХранения.Владелец.Наименование КАК СТРОКА(4))) &Груз … Запрос.УстановитьПараметр(«Груз»,»Груз»);