Ошибка при вызове конструктора comобъект 2147467262 0x80004002 no such interface supported

   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

ок. спасибо. Будем разбираться…

Автор mobic, 16 мар 2023, 09:53

0 Пользователей и 1 гость просматривают эту тему.

{ВнешняяОбработка.загрузка_из_XLS.Форма.Форма.Форма(94)}: Ошибка при вызове конструктора (COMОбъект): -2147467262(0x80004002): Интерфейс не поддерживается

Уже видел и читал аналогичные темы на форуме, делал всё как писали, дал все права на пользователей, и на USRS1c8, и все равно ничего.
Дело такое, открываю базу локально, все работает, отладка читает excel.
Недавно перенесли базу на Postgres и после этого все отладки связанные с excel, word и прочим, просто престали работать. Уже перечитал кучу тем, ничего пока что не помогло.


mobic, как вариант, не используйте СОМ объект, а читайте данные из Екселя самой 1С
ТабличныйДокумент.Прочитать(ИмяФайла);

если помогло нажмите: Спасибо!


LexaK, Это как? А то человек который администрировал 1с, благополучно свалил, а я практически без опыта работы


Цитата: mobic от 16 мар 2023, 10:25а я практически без опыта работы

— тогда никак!
(нужен опыт)

или еще как вариант, здесь, на сайте, есть Фрилансеры, попробуйте обратиться к ним!

если помогло нажмите: Спасибо!


 

B) так а на сервере у вас Эксель установлен?

и проверьте где у вас КОм объект создаетс я — на клиенте или на сервере, эксель должен быть  установлен там где он создается


Если кому поможет, решение оказалось максимально банальным. во Вкладке Свойства / Удостоверения / поставил галочку на «Запускающий пользователь» в службе компонентов, и все заработало.

  • 1 пользователь сказал спасибо!


После обновления платформы 1С Предприятие 8.2 на сервере приложений я стал получать в логах служебной базы ошибку

{Обработка.СборДанных.МодульОбъекта(7)}: Ошибка при вызове конструктора (COMObject)
по причине:
No such interface supported
по причине:
No such interface supported

Где в строке 7 строяла следующая инструкция :

Excel = Новый COMObject(«Excel.Application»);

Соответственно, обработка вследствие этой ошибки не работала как положено.

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

Запись опубликована в рубрике Программное обеспечение с метками 1С, com-соединение, ЗУП. Добавьте в закладки постоянную ссылку.

Настройка COM Объекта «Excel.Application» на сервере 1С, настройка поможет обработать большие файлы Excel на сервере 1C, в том числе через фоновые задания.
Та же данная настройка может решить проблему с ошибкой 1С:

ошибка -2147467262(0x80004002): Интерфейс не поддерживается
  1. Заходим на сервер приложений 1С под локальным админом или администратором домена
  2. Запускаем DCOMCNFG (Консоль настроек «Службы компонентов»)
    1. Открываем ветку Корень консоли -> Службы компонентов -> Компьютеры -> Мой компьютер -> Настройка DCOM
    2. Ищем «Microsoft Excel Application»
    3. Если запись существует, то переходим к пункту 4
    4. Закрываем «Службы компонентов»
  3. Настройка реестра
    1. Запускаем REGEDIT
    2. Открываем ветку КомпьютерHKEY_CLASSES_ROOTAppIDEXCEL.EXE, если ее нет, то создаем
    3. Создаем в ней строковый параметр AppID = {00020812-0000-0000-C000-000000000046}
    4. Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты
    5. После этого в Component Services должен появиться «Microsoft Excel Application»
  4. Настраиваем свойства DCOM компонента «Microsoft Excel Application»
    1. Заходим в «Свойства», закладка «Безопасность»
      1. «Разрешения на запуск и активацию» — Настроить — Изменить
        1. Добавляем пользователя, под которым запускается агент сервера 1С
        2. Назначаем ему только следующие права (Разрешить):
          1. Локальный запуск
          2. Локальная активация
      2. «Разрешения на доступ» -Настроить — Изменить
        1. Добавляем пользователя, под которым запускается агент сервера 1С
        2. Назначаем ему только следующие права (Разрешить):
          1. Локальный доступ
    2. Переходим на вкладку «Удостоверение»
      1. Выбираем «Запускающий пользователь»
  5. Настройка системных папок
    1. Папка «C:WindowsSysWOW64configsystemprofileDesktop»
      1. Проверяем наличие папки , если нет -то создаем
      2. Заходим в «Свойства» этой папки, закладка «Безопасность»
      3. Добавляем, если нет, пользователя, под которым запускается агент сервера 1С
      4. Добавляем права «Чтение» и «Запись»
    2. Папка «C:WindowsSystem32configsystemprofileDesktop»
      1. Проверяем наличие папки , если нет -то создаем.
      2. Заходим в «Свойства» этой папки, закладка «Безопасность»
      3. Добавляем, если нет, пользователя, под которым запускается агент сервера 1С
      4. Добавляем права «Чтение» и «Запись»
  1. Приветствую.

    Столкнулся с проблемой:
    Создал обработку, которая запускает Excel, читает файл, заполняет его и записывает.
    На клиенте все великолепно выполняется.
    Создал регламентное задание, которое запускает в определенное время это на сервере.
    При выполнении на сервере вылезает ошибка про то, что типа MS Excel не удалось получить доступ к файлу. При этом доподлинно известно, что ком. объект Excel даже не создался (нет его в процессах диспетчера задач).
    Примечательно, что если запустить обработку клиентом с машины, где установлен сервер 1С, то все выполняется.

    Excel = Новый COMОбъект("Excel.Application");
    Книга = Excel.WorkBooks.Open("D:DstOrder.xls");
    

    Чувствую, что дело тут в том, что при работе с клиента Excel запускается из-под пользователя в реальном сеансе, а в случае сервера — под пользователем хоть и с полными правами, но без запущенного сеанса.

    Сервер Windows Server 2008 R2 Standart. Service Pack 1
    Как это обойти?


  2. shurikvz

    Offline

    shurikvz
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104

    1) Файл D:DstOrder.xls действительно существует на сервере?
    2) У пользователя под которым запущен сервер есть право доступа к каталогу D:Dst?

  3. 1. Да, файл существует. Обработка при запуске на этом же сервере из-под клиента выполняется без проблем.
    2. Доступ есть. Пользователь — администратор. Пробовал файл в разные папки класть.

    — Объединение сообщений, 15 авг 2014

    Полный текст ошибки. Ошибка от имени Microsoft Excel, однако процесса EXCEL в диспетчере задач нет!

    Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу «D:DstOrder.xls». Это может быть вызвано одной из следующих причин.

    • Указан несуществующий файл или путь.
    • Файл используется другой программой.
    • Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.

    — Объединение сообщений, 15 авг 2014

    8.3.4.496

    Последнее редактирование: 15 авг 2014

  4. shurikvz

    Offline

    shurikvz
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104

    Т.е. сервер (ragent.exe и т.д.) стартует от имени Администратора? Или все же от USR1CV82 (не знаю как там по умолчанию под 8.3 пользователь называется).

  5. У меня пользователь USR1CV81 со старых времен. Он входит в группу Администраторы.

    Сейчас провел эксперимент. Зашел на сервер от имени этого пользователя и в клиенте запустил обработку — без проблем.

  6. Попробовал вместо COMОбъект использовать ПолучитьCOMОбъект. Вот результат

    Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: -2147221021(0x800401E3): Операция недоступна


  7. shurikvz

    Offline

    shurikvz
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104


  8. shurikvz

    Offline

    shurikvz
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104


  9. shurikvz

    Offline

    shurikvz
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104


    likalim и Mark768 нравится это.
  10. Спасибо тебе, добрый человек. Сам бы не допер…


  11. shurikvz

    Offline

    shurikvz
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.547
    Симпатии:
    344
    Баллы:
    104

    Да не за что.
    Не совсем я это, разум это коллективный.. :)

  12. Небольшое уточнение:
    При выборе «Текущий пользователь», обработка на сервере запускает Excel только в том случае, если на сервер выполнил вход кто-нибудь из пользователей.
    Если это условие не выполняется, то получаем ошибку:

    Ошибка при вызове конструктора (COMОбъект): -2147467262(0x80004002): Интерфейс не поддерживается

    На вкладке «Удостоверения» есть 3-й вариант запуска — указать конкретного пользователя и пароль.
    Я указал пользователя, от имени которого работает сервер 1С (USR1CV81).
    В таком варианте обработка запускает Excel при отсутствии работающих пользователей на сервере.
    Это меня устраивает.

    В моем случае не бывает работающих пользователей на сервере и тем более, запускающих Excel
    Могу предположить, что при запуске Excel любым пользователем (не USR1CV81) могут возникнуть проблемы.
    Например, Excel запускается и работает, однако при старте выдает «Невозможно использовать связывание и внедрение объектов».

  13. Приветствую.

    Когда в этой теме мне очень помогли. Восстановили сервер после аварии. Теперь восстанавливаю возможность работы пользователя USR1CV81 с Excel.
    Столкнулся с тем, что в Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM теперь нет ветки Microsoft Excel Application, хотя сам Excel установлен.
    Что я сделал не так?


  14. alexburn

    Offline

    alexburn
    Модераторы
    Команда форума
    Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    15.150
    Симпатии:
    560
    Баллы:
    204

    Переустанавливать эксель пробовали ?

  15. Да, уже несколько раз и разные версии.
    Вычитал в сети, что если нет ветки явно, то нужно в реестре найти его наименование в виде кода. В реестре нашел, но его кода в Настройка DCOM тоже нет.


  16. Ardak

    Offline

    Ardak

    Регистрация:
    21 дек 2015
    Сообщения:
    1
    Симпатии:
    1
    Баллы:
    1

    Вдруг кому понадобится
    Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты.


  17. limus80

    Offline

    limus80

    Регистрация:
    30 май 2013
    Сообщения:
    5
    Симпатии:
    0
    Баллы:
    1

    важное как мне кажется дополнение
    ко всему вышесказанному надо добавить учетке права входа в качестве сервиса на компьютер
    без этого у меня не работало на W2K12R2


  18. Gucci76

    Offline

    Gucci76
    Опытный в 1С

    Регистрация:
    9 мар 2008
    Сообщения:
    75
    Симпатии:
    0
    Баллы:
    26

    Здравствуйте.
    У меня похожая проблема, но только с ВОРДом
    В файловом варианте я могу Новый COMОбъект(«Word.Application»), а в клиент-серверном нет.
    Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM тут НЕ нашел ворда (открывал через команду «mmc comexp.msc /32»).


1C-pro.ru - форум по 1С:Предприятию 7.7, 8.0, 8.1, 8.2, 8.3

  • Ошибка при вызове cryptmsgopentoencode 80070057
  • Ошибка при вызове конструктора comобъект 2147221164 0x80040154 класс не зарегистрирован
  • Ошибка при вызове api lsacallauthenticationpackage подсостояние getticket 0x6fb
  • Ошибка при вызове конструктора comобъект 2147221005 0x800401f3 invalid class string
  • Ошибка при вызове 1004 bigbluebutton