Ошибка при вызове конструктора сомобъект 2147467262 0x80004002 интерфейс не поддерживается

Обновлено: 03.05.2024

Причины возникновения ошибки в Windows

Ошибка 2147467262 в Windows — что делать

Для начала попробуйте простые действия, которые могут решить большинство временных сбоев в системе. Прежде всего перезагрузите компьютер и попробуйте вызвать ошибку отсутствия поддержки интерфейса. Следующий шаг может помочь определить, с какой программой связано появление ошибки. Нам нужно попытаться загрузиться в «чистую» Windows. Для этого выполните следующие рекомендации:

  1. Нажмите внизу на значок «Пуск» и найдите строку поиска;
  2. В ней нужно ввести словосочетание «Конфигурация системы». Она нам необходима для настройки чистой загрузки ОС;
  3. В результатах найдите пункт «msconfig» и выберите его;
  4. В окне вверху расположены вкладки. Выберите «Общие»;
  5. Затем уберите галочку с пункта «Обычная загрузка» и переместите её на «Выборочная загрузка»;
  6. В этом разделе уберите галочку с пункта «Загружать элементы автозагрузки»;
  7. Затем выберите вверху другую вкладку «Службы» и внизу на чек-боксе поставьте галку «Не отображать службы»;
  8. Затем нажмите внизу кнопку «Применить» и подтвердите свои действия, нажав «Ок».

Во вкладке «Автозагрузки» выберите каждое приложение, которое запускается вместе с Windows и нажмите внизу кнопку «Выключить». При входе в систему способом чистой загрузки, их также нужно поочередно включить, чтобы определить причину ошибки. Когда вы определите службу, её можно временно отключить. После этого выясните, как можно устранить проблемы с этой службой. Также попробуйте переустановить или удалить программу, которую вы устанавливали на рабочую операционную систему.

Меню удаления программ Виндовс

  1. Откройте «Пуск» и нажмите справа на пункт «Панель управления»;
  2. Выберите здесь «Удаление программ» и найдите нужную в списке установленных;
  3. Нажмите на название ПО и вверху выберите мышью кнопку «Удалить»;
  4. Перезагрузите компьютер.

Восстановление системных файлов

Если предыдущий метод не помог устранить ошибку, попробуем восстановить все возможные сбои в системных файлах. Для этого в Windows есть собственные утилиты. Вам понадобится стабильное подключение к интернету, так как утилитам нужен будет доступ к серверу Майкрософт для скачивания поврежденных файлов. Выполните следующую инструкцию:

Если этот метод также не помог, как и предыдущий, попробуйте восстановить систему при помощи загрузочного диска Windows. DVD, с которого вы устанавливали систему. Чтобы загрузиться с диска, вам снова нужно будет установить параметры загрузки с дискового привода в BIOS. Следующие действия схожи с установкой. Только при выборе действий нужно указать «Восстановление системы», вместо установки. Далее следуйте подсказкам мастера.

Утилита Windows Fix

Раньше на официальном сайте Microsoft была доступна утилита от создателей Windows. Она позволяла устранять множество проблем на компьютере и называлась Windows Fix It. Разработчики утилиты реализовали её функции иначе. Уже долгое время она не доступна по адресу загрузки. В последних версиях Windows разработчики присвоили возможности когда-то существовавшей утилиты во встроенной в ОС «Устранение проблем». В ранних версиях этот пункт никогда не рассматривался пользователями как действенный. Но сегодня, запустив «Устранение неполадок» в Windows 8.1, 10, мастер действительно становится полезным.

Другие способы решения ошибки

Если появляется ошибка, и вы не можете открыть папки на своем компьютере, попробуйте создать новую учетную запись. Она не поможет решить ошибку на учетной записи администратора, но у вас будет доступ к файлам, которые можно перенести на другой диск, флэшку или в облако.

Когда вы окажитесь в системе, попробуйте открыть папки, где находятся важные данные и перенесите их. Сохранив копии файлов, систему можно попытаться восстановить или переустановить.

Есть еще один способ, который может решить ошибку 2147467262 — интерфейс не поддерживается. Он заключается в перерегистрации файлов динамической библиотеки (dll). Для его применения вам нужно вводить последовательно большое количество команд. По сложности он сопоставим с переустановкой Windows.

то что в клиенте из под Веб нельзя создавать COMОбъект - это знаю. Но НаСервере, что тоже нельзя?
Суть проблемы ОбменMSWord - общий модуль с компиляцией на сервере. В тонком работает, в в веб возвращает следующее:

: Ошибка при вызове конструктора (COMОбъект)
ОбъектВорд = Новый COMОбъект("Word.Application");
по причине:

по причине:
-2147467262(0x80004002): Интерфейс не поддерживается

(5) "локально" серверный код на файловой базе выполняется локально, а через веб-сервер к файловой базе серверный код выполняется на машине веб-сервера. И там ворда или нет или он не доступен по каким-то причинам

(13) считал, что все что предлагали прочел и погуглил.. что по вашему я пропустил?
веб - для меня тема новая, переработали конфу под веб-клиент, теперь лезут косяки связанные хз с чем (так для меня, однако). Очень бладгодарен был бы за дельный совет=помощь.

(14) Когда ответить по всем замечаниям, то наверняка придёт уточнение по тем пунктам, которые не понял или проигнорировал. Коллективный разум-это сила. Даже в мусорной куче советов может затеряться бриллиант правильного ©

(17) 1С сервера нет - база файловая.
(18) офис на компьютере где исполняется серверный код - да, установлен. В тонком клиенте все работает.
Как я понял из комментов в ветке - проблема в том, что офиса нет на веб-сервере. Не могу понять как это решить

(20) на этом компьютере он установлен . зуб даю)
в конце концов, в режиме отладки веб-клиента идет эта же ошибка:

(20) ->(19) то что пишу "Как я понял из комментов в ветке - проблема в том, что офиса нет на веб-сервере" : я так понимаю что ворд надо как-то прописать в IIS, помимо того что он просто есть на машине

(24) "Пацак", ты нормально народу опиши, что у тебя там стоит.
Вот ничерта не понял, есть у тебя на веб сервере офис или нет.

(30) это скорее относится к подсистеме Печать
ругается на СOMОбъект, а СП говорит:

COMОбъект (COMObject)
Конструкторы:
По имени приложения
Описание:
Создает COM-объект (например, Word, Excel и т.д.). Методы и свойства СОМ-объектов в дальнейшем становятся доступными через данный объект.
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.

Поставили Apache вместо IIS - CОМ объект создался. IIS как ни крутили - побороть не смогли.
Теперь как бы документ вордовский создается, создается на клиенте (через веб-клиент), записывается на диск, но процедура НачатьЗапускПриложения(,ФайлИмя) запускает этот файлик, созданный во временной папке, как я понимаю где-то в расширении браузера 1СFileExtensionChrWin32, соответственно он нигде не отображается. После закрытия сессии (закрытия формы документа недостаточно) этот вордовский файлик можно запустить.
Знает ли кто в чем тут дело?

Тут дело в том что новые технологии плохо совместимы со старыми.

Представь что веб-клиента запущена на линуксе или на макоси, что будет?

(40) уже помышляю перевести работу с договорами на html, но надо курить эту тему еще: как там с заполнением таблиц, что с печатью

(41) Там несложно оказалось. Поначалу макет можно из Word'а сохранить в html, затем вставить шаблонные поля, а для редактирования - разобрать через DOM и заменить что где надо. Word - это пройденный этап, как убрали его из продакшена - так сразу пропали вопросы с непонятками: то не открылся, то открылся, но свернутый в фоне, то заменил не в том документе.

(41) У вас много шаблонов договоров?

Только сам редактор на 1С и для применения из конфигураций 1С в основном.

Вообще то,нужно учиться генерить pdf,всякие там ворды html и мохел,это все очень сильно нестандартно,а pdf как был,так и остается.

(46) Как раз PDF намного проще генерить чем DOC, есть множество готового и бесплатного.
HTML тоже легко делать, но как оно выйдет на печать это большой вопрос.

Но требует установки Java на машину.
В принципе можно поставить на сервер и там использовать.
Когда то давно использовал для чтения/записи XLS файлов.

почему 1CFileExtensionChrWin32 может "держать" файл? косяк идет именно на этапе записи двоичных данных. При этом запись происходит (раз файл можно открыть после закрытия сеанса)

(50) Потому что такая кривая реализация.
Например 1С тоже "держит файл" после сохранения ТабДок в xls

У них,видимо,кривая сборка мусора,как в javascript,пока обьект не умер,он файл держит.
А бы попробовал через тот же обьект открыть друной файл,чтобы ему было чем заняться.

в итоге заработало так:
вместо НачатьЗапись() для веб-клиента надо идти по пути НачатьПолучениеФайлов() и все у вас будет хорошо ! ))) Причем актуально это именно для Ворд(может еще для чего - не скажу), другие типы файлов перевариваются
итого (для потомков): чтобы запускать Ворд под веб клиента 1.нужен не IIS a Apache, и 2.см.выше

Ошибка происходит при попытке загрузить из Excel в 1С, когда код обработчика выполняется не на клиенте, а на сервере и в большинстве случаев текст ошибки говорит об отсутствии прав у пользователя сервера 1С.

Особенности

Кодом со стороны 1С без изменения места исполнения не устраняется, использование других функций подключения Com также не дает положительных результатов.

Убедиться в причине ошибки возможно, если посмотреть логи системы.

Устранение:

  • на сервере убиваем excel (taskkill /im excel.exe /f)
  • открываем оснастку «Службы компонентов» (Пуск->Администрирование->Службы компонентов)
  • в ней раскрываем ветку Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM
  • справа в списке находим Microsoft Excel Application, открываем Свойства, вкладка Удостоверение, выбираем пользователя с администраторскими правами, ОК.

Может оказаться, что «Microsoft Excel Application» отсутствует в списке, в данном случае

  1. Запускаем REGEDIT
  2. Открываем ветку Computer\HKEY_CLASSES_ROOT\AppID\EXCEL.EXE, если ее нет, то создаем
  3. Создаем в ней строковый параметр AppID =
  4. Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты.
  5. После этого в Component Services должен появиться «Microsoft Excel Application»

Чтобы решить эту проблему, я включил пользователя USRV82, под которым запускается сервер приложений 1С Предприятия 8.3, в группу Distributed COM Users, но ошибка сразу не ушла, потребовалась перезагрузка.

Осложняло проблему то, что ошибка плавала: периодически выходила, либо в момент создания объекта, либо уже в момент вызова методов excel-application.

Так что нельзя однозначно сказать, что же решило проблему.

Заключение

В большинстве случаев уйти от дополнительной настройки операционной системы возможно, если использовать вызова Com-Объекта на клиенте. При правильной установке объектов они работают даже при различных по битности 1с и Excel, OS.

В моем же случае клиентские компьютеры работали на Ubuntu, поэтому вся обработка перенесена на сервер.

Бывает такое: вы прописываете для компонента пользователя и пароль.

Затем через некоторое время меняете пароль и компонент перестает работать: выходит такая же ошибка «Интерфейс не поддерживается». Следует просто вбить новый пароль.

Реклама духов принесла мне больше известности, чем любой фильм, в котором я снималась.

— Денев Катрин

Ошибка «-2147467262(0х80004002) Интерфейс не поддерживается» при выводе печатных шаблонов WORD в тонком и веб-клиенте

Платформа: 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:\WINDOWS\SysWOW64>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 по требованию клиента, чтобы пользователь не мог редактировать документ перед печатью.



У вас давно работает новая база на платформе 8.2 или даже 8.3, но бухгалтерия до сих пор сидит на платформе 7.7.
Что делать? Переводить пока не планируем, а обмен нужен в реальном времени? Так мало того, у нас новый 64-битный сервер!
Не беда, есть решение!

Справка

OLE (англ. Object Linking and Embedding ) — технология связывания и внедрения объектов в другие документы и объекты, разработанная корпорацией Майкрософт.

В 1996 году Microsoft переименовала технологию в ActiveX.

Подготовка технической части

Будем рассматривать пример на базе Windows Server 2012 R2, где уставновлена платформа 1С 8.Х для сервера 64-битная, для клиента 32-битная. Также нужно установить последний релиз платформы 1С 7.7 у нас 7.70.027.

Рабочая база 1С 7.7 расположена на другом сервере, вариант установки SQL.

Поэтому на нашем сервере также выбираем вариант установки SQL.

Установка 1С 7.7:

Запуск от имени администратора

Устанавливаем под администратором:

Далее чтобы 1С 7.7 прописалась в реестре важно запустить ее также под администратором, создать пустую базу и зайти в нее.

Так же скорее всего вам понадобится подменить в папке (BIN) " BkEnd.dll" и добавить туда пустой файл "OrdNoChk.prm" ( файлы внизу публикации ).

Далее важно, чтобы у вас в реестре появились записи:

V77.GeneralPropPage

V77.Application

V77S.Application и прочие.

А также как минимум DCOM (нужно проверить, за давностью установки, не уверен в надобности).

Пуск - Выполнить - DCOMCNFG.

Там разворачиваем "Службы компонентов" - "Компьютеры" - "Мой компьютер" - "Настройка DCOM":

V77.GeneralPropPage

Если их нет, значит у вас что-то с доступом. Настраиваем и начинаем заново установку.

Настройка Windows Server 2012 R2

Для открытия 1С 7.7 по OLE на сервере потребует больше, чем по умолчанию, памяти для запуска приложений в "не интерактивном" режиме (т.е. в регламентном задании) для этого в реестре нужно изменить/добавить запись:

HKEY_LOCAL_MACHINE>SYSTEM>CurrentControlSet>Control>Session Manager>SubSystems
Меняем значение Windows, было:
%SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512
Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3
ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16

Вот здесь редактируем 3 значение, мы поставили 5 мб (было 512 кб ). Важно чтобы 2 и 3 значение не превысило 48 мб.

Этот параметр отвечает в Windows за "кучу" для неинтерактивного сеанса.

Первый нюанс с "кучей" решили, теперь осталось разобраться с правами у пользователя, который запускает службу "Агент сервера 1С:Предприятия 8.Х (x86-64)"

Служба

Если у вас служба настроена в таком режиме, то потребуется прописать в реестре путь до базы 1С 7.7:

Для каждой новой базы, нужно создать новую запись(New->String value или Создать->Строковый параметр):
Name: Путь_и_Имя_базы
Type: REG_SZ
Data: Ваше_название_для_базы

В итоге код для системной учетной записи заработает.

Но в этом случае сеть не доступна (нам такой вариант не подходит).

В таком случае нужно выбрать конкретного пользователя и проверить чтобы у него был доступ на сеть!

Так же у этого пользователя должна быть прописана база в реестре или вы можете зайти интерактивно под этим пользователем и добавить в список нужную сетевую базу 1С 7.7.

Делаем регламентное задание

Систему к работе мы подготовили теперь дело за малым написать код!

Создаем регламентное задание и определяем процедуру в которой записан код:

Все, подключение работает!

Теперь можете написать код в 1С 7.7 при старте системы или опишите на языке 1С 7.7 нужный алгоритм прямо в 1С 8.Х.

Читайте также: