Ошибка при создании com объекта 1с 2147467262

Автор Истребитель, 22 июл 2015, 17:48

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

При попытке создать COM объект Excel.Application вылезает стандартная ошибка:
Ошибка получения объекта COM: -2147467262(0x80004002): No such interface support

Однако, если открыть диспетчер задач, то приложение excel.exe запускается!
Приложение excel x32, 1Cка тоже x32.
В списках классов (HKLMSoftwareClasses) класс Excel.Application присутствует.
Права на Distributed COM дал своему юзеру, перелогинился, не помогло, дал всем (Everyone), не помогло.
База файловая.


Попробуйте так


Попытка
ОбъектЭксель = ПолучитьCOMОбъект(СокрЛП(ФайлЗагрузки));//ФайлЗагрузки - путь к файлу. строка
Исключение
Сообщить("Неудачная попытка открытия файла:"+СокрЛП(ФайлЗагрузки));
Возврат;
КонецПопытки;


КомОбъектЗагрузки = ОбъектЭксель.WorkSheets(1);


Очень забавно. Если перед вызовом функции с параметрами (Путь,Excel.Application) вызвать её без указания Excel.Application то повторный вызов уже с указанием Excel.Application работает!

Т.е. так работает:

ПолучитьCOMОбъект(ИмяФайла,)
ПолучитьCOMОбъект(ИмяФайла,"Excel.Application")

Так не работает:

ПолучитьCOMОбъект(ИмяФайла,"Excel.Application")

В любом случае, в дальнейшем вылезает вообще непонятная ошибка:

{Форма.Форма.Форма(47)}: Ошибка при вызове метода контекста (ПрочитатьЛистExcel)
ПрочитатьЛистExcel(,ПолучитьCOMОбъект(ИмяФайла));
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
форма: Элемент
имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'COMОбъект'


Поздравляю, походу вы открыли для себя впервые особенности управляемого приложения.


Ок, где мне почитать про эти «особенности» чтобы разобраться как выполнить такое простое задание, как чтение excel файла?


Путем проб и ошибок
Пробуйте «&НаСервере» всё это делать

Помогли — Скажи спасибо! Решил сам — поделись решением!
:)


Не сочтите за издевательство: http://v8.1c.ru/metod/faq2/
&НаКлиенте — это только форма, видимость,доступность, условное офомление и т.д.
&НаСервере — это работа с объектами. Добавить строки, заполнить объект и т.д.

С клиента можно вызывать сервер, наоборот — нельзя.

Все прочие особенности = интернет большой, уверен справитесь


Дааа. Простейшие вещи теперь хрен сделаешь. Почитал я это. Замечательно! Погуглил даже. Простейшая задача, неясно как решать.

Я хочу создать программно документ, заполнить его на основании данных из экселя, и открыть.

На клиенте я это сделать не могу, на клиенте «Документы» неопределена (нельзя создать документ). На сервере тоже не могу, нельзя открыть форму. На клиент нельзя передать ссылку на документ (когда пытаюсь сделать «Возврат Док», где Док это новый документ, вылезает ошибка передачи данных). Гугл «1с 8.3 передача документа с сервера на клиент» ничего не дал.

Что делать?


Остается сесть в углу и плакать.
На клиенте формируете структуры с простыми данными (строки, даты и т.д.) передаете на сервер. Создаете/ищите  документ на сервере и возвращаете ссылку на документ.


Я
   Palll

15.08.17 — 14:16

Всем добрый день. Столкнулись со следующей проблемой. Есть сервер на Windows Server 2012 R2 x64. На нём установлен сервер и клиент 1с версии 8.3.10.2466 x64 и платформа 1с 7.7.

При попытке создания нового COM объекта получаем ошибку — Не удалось выполнить команду.

-2147221005(0x800401F3): Недопустимая строка с указанием класса

{ВнешняяОбработка.cl_ПолучитьОстаткиПоставщиков.МодульОбъекта(328)}: Ошибка при вызове конструктора (COMОбъект) V7 = Новый COMОбъект(«V77.Application»);;

по причине:

-2147221005(0x800401F3): Недопустимая строка с указанием класса

comcntr.dll зарегистрирована. Так же регистрировали её через службы компонентов. Результата это не принесло, подскажите что ещё можно попробовать?

   Tateossian

1 — 15.08.17 — 14:17

Я вот это 2147221005 вставляю в поиск и боже мой — сколько ответов я вижу. Рекомендую!

   Palll

2 — 15.08.17 — 14:27

(1) Только все они сводятся в основном к «Зарегестрируйте comcntr.dll». Либо к 1с не имеют отношения.

   Имитация работы

3 — 15.08.17 — 14:28

(0)

> V7 = Новый COMОбъект(«V77.Application»);

> comcntr.dll зарегистрирована.

Ничего не смущает?

   Palll

4 — 15.08.17 — 15:08

(3)На другой машине всё нормально работает. Там стоит тот же самый дистрибутив 7.7.

   Имитация работников

5 — 15.08.17 — 17:14

(4) Открой, пожалуйста, каталог приложения 1Сv77. Найди там comcntr.dll. Подумай. Подумай еще раз.

   Asmody

6 — 15.08.17 — 17:20

(4) На другой машине тоже x64?

   Palll

7 — 16.08.17 — 10:27

(6) Да, только там соединение создавали на клиенте.

(5) Если все эти намёки на v7plus.dll, то она зарегистрирована. Так же устанавливали 7ку через 1cv7.7.027_win7.exe, но установленная таким образом платформа не работает.

   DrShad

8 — 16.08.17 — 10:34

(7) намеки именно на нее, а она кстати х32

   DrShad

9 — 16.08.17 — 10:34

и клиенты у 1С на 8.х все х32

   DrShad

10 — 16.08.17 — 10:39

хотя вру, вроде уже выпускали х64

   ManyakRus

11 — 16.08.17 — 11:26

надо запустить 1С 7.7 и 8.3 от имени администратора компьютера

   Palll

12 — 16.08.17 — 11:50

(7) По поводу этого, https://efsaver.ru/docs/reshenie-problemy-nedopustimaya-stroka-s-ukazaniem-klassa.html

Сделали по мануалу, так же не помогло.

(9),(10) Клиент 8ки стоит x64.

(11) Пользователь под которым запускается клиент администратор домена.

   craxx

13 — 16.08.17 — 11:53

(12) >> Клиент 8ки стоит x64

Ну вот и ответ на твой вопрос

а 64-битных 7.7 не бывает, хоть разбейся

   DrShad

14 — 16.08.17 — 11:54

(12) нужно научить приложение х32 работать в х64 клиенте

   Palll

15 — 16.08.17 — 12:00

(13),(14) На рабочем компе стоит Windiws 7 x64, та же x64 платформа 8ки и платфлома x32 7ки (просто скопированный каталаог). В режиме клиента COM соединение создаётся без проблем.

  

Palll

16 — 16.08.17 — 14:06

Поставил платформу через 1Cv_77_27_Unisetup.exe. На клиенте заработало, на сервере новая ошибка Не удалось выполнить команду.

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

{ВнешняяОбработка.cl_ПолучитьОстаткиПоставщиков.МодульОбъекта(329)}: Ошибка при вызове конструктора (COMОбъект) V7 = Новый COMОбъект(«V77.Application»);;

по причине:

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

TurboConf — расширение возможностей Конфигуратора 1С

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Настройка 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С:Предприятие 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. 13.11.2018, 09:23

    #31

    Akbar11 вне форума


    Пришел за помощью


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от avm3110
    Посмотреть сообщение

    А сколько есть попыток угадать какую именно библиотеку ставил «2 раза»? Где ставил (на клиенте или на сервере)? под какими правами (пользователя или админа)?

    Да и по синтаксису… У тебя в диагностике:

    Что явно указывает на ошибку — «лишняя запятая». Параметр «Excel.Application» должен быть

    первым :mad:
    правильно:
    ExcelApplication = Новый COMObject(«Excel.Application»);

    Теперь ошибка немного другая

    {ВнешняяОбработка.Загрузка ВITIL.Форма.Форма.Форма(123)}: Ошибка при вызове конструктора (COMObject)
    ExcelApplication = Новый COMObject(«Excel.Application»);
    по причине:
    -2147024891(0x80070005): Отказано в доступе.


  2. 13.11.2018, 12:13

    #32

    avm3110 вне форума


    Гордость форума PRO


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от Akbar11
    Посмотреть сообщение

    Регистрировал библиотеку на клиенте, под администратором. Той платформы которую запускаю

    Продолжаю занудно. Какую библиотеку регистрируете? Какой командой? У вас база файловая или клиент-сервер?
    Опишите поподробнее — как именно регистрируете «под администратором».


  3. 14.11.2018, 06:04

    #33

    Akbar11 вне форума


    Пришел за помощью


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от avm3110
    Посмотреть сообщение

    Продолжаю занудно. Какую библиотеку регистрируете? Какой командой? У вас база файловая или клиент-сервер?
    Опишите поподробнее — как именно регистрируете «под администратором».

    Регистрация библиотеки командой regsvr32 «C:Program Files1cv88.3.10.2466bincomcntr.dll»
    Клиент — сервер
    Процес, нажимаю вин + Q, пишу командная строка строка, контекстное меню запустить от имени админа, запускаю, Логин + пароль и регистрирую библиотеку


  4. 14.11.2018, 07:05

    #34

    avm3110 вне форума


    Гордость форума PRO


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от Akbar11
    Посмотреть сообщение

    Регистрация библиотеки командой regsvr32 «C:Program Files1cv88.3.10.2466bincomcntr.dll»
    Клиент — сервер
    Процес, нажимаю вин + Q, пишу командная строка строка, контекстное меню запустить от имени админа, запускаю, Логин + пароль и регистрирую библиотеку

    Мдя-я-я… все как в анекдоте…
    «Пьяный ходит вокруг фонаря ночью и о чем-то материться. Прохожий хочет помочь и участливо спрашивает в чем дело.
    Да я ключи потерял и уже полчаса не могу найти — следует ответ.
    прохожий оглядывает место под фонарем и удивляется. Да тут же ровный асфальт, сухо и отлично видно что ключей тут нет. Ты уверен что именно тут потерял?
    Да нет.. потерял я в грязной луже, вон там в подворотне. Но там же очень темно искать и очень грязно и очень мокро — поэтому я ищу именно тут».

    Уважаемый… У Вас диагностика «не зарегистрирован класс Excel.Application». Ну и что же вы хотите добиться «упорством достойного лучшего применения» регистрируя библиотеку 1с предприятия???? :mad:


  5. Пользователь сказал cпасибо:


  6. 14.11.2018, 07:10

    #35

    avm3110 вне форума


    Гордость форума PRO


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от Akbar11
    Посмотреть сообщение

    Теперь ошибка немного другая
    {ВнешняяОбработка.Загрузка ВITIL.Форма.Форма.Форма(123)}: Ошибка при вызове конструктора (COMObject)
    ExcelApplication = Новый COMObject(«Excel.Application»);
    по причине:
    -2147024891(0x80070005): Отказано в доступе.

    А эта ошибка показывает, что пользователю под которым выполняется строка
    ExcelApplication = Новый COMObject(«Excel.Application»);
    нет прав на создание ком-объекта.

    У вас база клиент-серверная или файловая? Для файловой запустите 1с с правами администратора и попробуйте выполнить внешнюю обработку под админом с полными правами и правами администрирования.


  7. 14.11.2018, 08:14

    #36

    Akbar11 вне форума


    Пришел за помощью


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от avm3110
    Посмотреть сообщение

    А эта ошибка показывает, что пользователю под которым выполняется строка
    ExcelApplication = Новый COMObject(«Excel.Application»);
    нет прав на создание ком-объекта.

    У вас база клиент-серверная или файловая? Для файловой запустите 1с с правами администратора и попробуйте выполнить внешнюю обработку под админом с полными правами и правами администрирования.

    В файловой все работает, даже не под админимон


  8. 14.11.2018, 13:33

    #37

    avm3110 вне форума


    Гордость форума PRO


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от Akbar11
    Посмотреть сообщение

    В файловой все работает, даже не под админимон

    Поднимите файловую на сервере и там попробуйте.

    Если интерактивно в файловой будет работать, а в запущенном клиенте на сервере в клиент-сервере — нет. нужно смотреть права пользователя под которым работает 1С предприятие. А есть еще ряд настоек которые нужно будет проверять.

    Пришлите вначале результаты этого тестирования


  9. 27.11.2018, 03:06

    #38

    Akbar11 вне форума


    Пришел за помощью


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от avm3110
    Посмотреть сообщение

    Поднимите файловую на сервере и там попробуйте.

    Если интерактивно в файловой будет работать, а в запущенном клиенте на сервере в клиент-сервере — нет. нужно смотреть права пользователя под которым работает 1С предприятие. А есть еще ряд настоек которые нужно будет проверять.

    Пришлите вначале результаты этого тестирования

    Здравствуйте. В файловой на сервере все работает

    Последний раз редактировалось Akbar11; 27.11.2018 в 03:23.


  10. 27.11.2018, 03:26

    #39

    Akbar11 вне форума


    Пришел за помощью


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    На сервере ошибка

    {ВнешняяОбработка.Загрузка ВITIL.Форма.Форма.Форма(123)}: Ошибка при вызове конструктора (COMObject)
    ExcelApplication = Новый COMObject(«Excel.Application»);
    по причине:
    -2147467262(0x80004002): Интерфейс не поддерживается


  11. 27.11.2018, 07:59

    #40

    avm3110 вне форума


    Гордость форума PRO


    По умолчанию Re: Ошибка при вызове конструктора (COMObject)

    Цитата Сообщение от Akbar11
    Посмотреть сообщение

    В файловой на сервере все работает
    На сервере ошибка

    ну е-е-е-е… еще раз.. выше уже писал… Если на одном и том же компе одна и та же база поднята в файловом режиме, а затем в клиент-серверном (когда и сервер и клиент это один и тот же ком). И при этом на файловом «все работает», а на клиент-сервере подобная ошибка — следовательно проблема в правах под которым работает база.

    При файл серверном — это права пользователя под которым идет запуск базы, а на клиент сервере это права пользователя под которым крутиться сервер 1С предприятия.

    Решение — смотреть и фиксить эти права. Например как описано тут: — http://buh.ruboard.ru/public/196323/


Похожие темы

  1. Ответов: 1

    Последнее сообщение: 08.06.2017, 00:12

  2. Ответов: 9

    Последнее сообщение: 16.04.2014, 12:50

  3. Ответов: 0

    Последнее сообщение: 27.02.2014, 22:04

  4. Ответов: 2

    Последнее сообщение: 12.08.2013, 13:34

  5. Ответов: 1

    Последнее сообщение: 27.06.2013, 19:33

Социальные закладки

Социальные закладки


Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
  • BB коды Вкл.
  • Смайлы Вкл.
  • [IMG] код Вкл.
  • [VIDEO] код Вкл.
  • HTML код Выкл.

Правила форума

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 пишет:

Цитата
Платформа 7.7 устанавливалась копированием

Я впервые слышу об установке копированием.
Почему бы не установить штатно?

но бесплатно … :-)

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

Денис (САМАРА), теперь -то все умные. А что бы вначале об этом не сказать ?
Лучше подскажите как эту тему закрыть.

Часто пользователи при входе в личный кабинет клиентов, таких как 1C, ЕГАИС и т.д. сталкиваются с ошибкой «интерфейс не поддерживается». Эта ошибка также может возникать во многих других ситуациях, например во время открытия Excel-документа или даже при входе в электронный кошелек типа WebMobey. Сегодня мы постараемся максимально кратко и емко рассказать, как решить эту проблему.

Причины ошибки

Для отправки отчетных деклараций клиенту надо войти в личный кабинет, но иногда при входе возникает ошибка следующего содержания:

Объект: undefined
Номер ошибки : 2146828275
Описание : Несоответствие типа

Ошибка имеет общий характер, по одному лишь коду сложно определить точные причины проблемы. Все зависит от того, в каком приложении или портале у вас возникает данная ошибка. Первостепенно советуем обратиться в соответствующую техподдержку, где специалисты смогут помочь в конкретной ситуации. Сейчас мы рассмотрим только общий алгоритм на примере портала ЕГАИС и ФСРАР.

Внешний вид ошибки

Внешний вид ошибки

Способы решения

  1. Убедитесь, что у вас имеются все необходимые компоненты для входа в личный кабинет egais.ru по аппаратному ключу (такие как ФСРАР Крипто 2 и ФСРАР Крипто 3). Вход в ЕГАИС должен производиться только в браузере Internet Explorer с помощью лицензионных и актуальных ключей, например, Jacata или Rutoken ECP 2.0. Если вы не можете войти в личный кабинет портала egais.ru или ФСРАР с помощью аппаратного ключа (не электронной копии), то попробуйте выполнить следующее:
  • На компьютере зайдите в «Панель управления» — «Установка и удаление программ» и удалите клиент ClientSetup и ФСРАР Крипто 2;
  • Зайти на официальный сайт egais.ru. После этого в верхней части экрана нажмите на пункт «Войти в личный кабинет». Далее перейдите в раздел «Ознакомиться с условиями и проверить их выполнение» и нажмите «Начать проверку». Во время проверки вам предложат скачать ФСРАР Крипто 3. Загрузите его на ваш компьютер и установите;
  • После того как установка будет завершена перезагрузите браузер Internet Explorer. Далее нажмите на символ шестеренки, перейдите в раздел «Свойства браузера» — «Безопасность». Пролистайте список в самый низ и активируйте пункт «Включить защитный режим». После этого во вкладке «Безопасность» снова проскрольте страницу в самый низ и нажмите на пункт «Включить блокирование всплывающих окон». После этого попробуйте снова осуществить вход в личный кабинет egais.ru или ФСРАР. Часто на этом этапе ошибка перестает появляться.

Включение защитного режима в Windows

Включение защитного режима в Windows

  1. Если у вас имеется специальное программное обеспечение для распознавания сертификатов, например, КриптоПРО 4.0, то для корректной работы клиента необходимо наличие официальной и действующей лицензии, приобретенной в удостоверяющем центре. Данное программное обеспечение не подходит для работы совместно с аппаратными ключами. КриптоПРО 4.0 используется в том случае, если вы купили сертификаты для сдачи отчетов по ГОСТ 2012. Данное ПО может быть записано на Рутокен, eToken, либо, как это часто бывает, на обычные usb-накопители.
  1. Если вы не можете войти в личный кабинет ФСРАР по ГОСТ 2012 при наличии лицензионного программного обеспечения, то необходимо выполнить следующее:
  • Запустите браузер Google Chrome (если браузер не установлен на компьютер, то установите с официального сайта.
  • По ссылке https://chrome.google.com/webstore/cate войдите в магазин расширений Google. В поиске введите cades browser plug и установите его;
  • После этого перейдите в расширения браузера и включите CryptoPro Extension for CAdES Browser plug;
  • Попробуйте снова войти в личный кабинет ФСРАР.

Итог

Надеемся, данный материал помог вам решить ошибку 2147467262 «интерфейс не поддерживается». Если проблема осталась актуальной, то обратитесь за помощью к специалисту, либо оставьте контактный телефон в службе поддержки.

Оценка статьи:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (3 оценок, среднее: 5,00 из 5)

Загрузка…

Самое читаемое:

Как установить дополнительные виджеты на экран телефона Андроид

17.03.2022

Как установить дополнительные виджеты на экран телефона Андроид

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

Далее

Как очистить кэш телеграмма на телефоне Андроид

17.03.2022

Как очистить кэш телеграмма на телефоне Андроид

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

Далее

Как скопировать ссылку на свой телеграмм Андроид

17.03.2022

Как скопировать ссылку на свой телеграмм Андроид

Любой из пользователей мессенджера Телеграм в тот или иной момент времени задавался вопросом, как узнать, где…

Далее

Ошибка 104101 в Zoom – как исправить

02.03.2022

Ошибка 104101 в Zoom – как исправить

Содержание1 Ошибка 104101 в Zoom – как исправить1.1 Причины ошибки1.2 Смена параметров брандмауэра Windows1.2.1 Отключение…

Далее

  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. 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. Offline

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

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

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

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

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

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

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

  7. Offline

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

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

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

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

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

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


    likalim и Mark768 нравится это.

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

  11. 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. Offline

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

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

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

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

  16. Offline

    Ardak

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

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

  17. Offline

    limus80

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

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

  18. Offline

    Gucci76
    Опытный в 1С

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

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

Автор Истребитель, 22 июл 2015, 17:48

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

При попытке создать COM объект Excel.Application вылезает стандартная ошибка:
Ошибка получения объекта COM: -2147467262(0x80004002): No such interface support

Однако, если открыть диспетчер задач, то приложение excel.exe запускается!
Приложение excel x32, 1Cка тоже x32.
В списках классов (HKLMSoftwareClasses) класс Excel.Application присутствует.
Права на Distributed COM дал своему юзеру, перелогинился, не помогло, дал всем (Everyone), не помогло.
База файловая.


Попробуйте так


Попытка
ОбъектЭксель = ПолучитьCOMОбъект(СокрЛП(ФайлЗагрузки));//ФайлЗагрузки - путь к файлу. строка
Исключение
Сообщить("Неудачная попытка открытия файла:"+СокрЛП(ФайлЗагрузки));
Возврат;
КонецПопытки;


КомОбъектЗагрузки = ОбъектЭксель.WorkSheets(1);


Очень забавно. Если перед вызовом функции с параметрами (Путь,Excel.Application) вызвать её без указания Excel.Application то повторный вызов уже с указанием Excel.Application работает!

Т.е. так работает:

ПолучитьCOMОбъект(ИмяФайла,)
ПолучитьCOMОбъект(ИмяФайла,"Excel.Application")

Так не работает:

ПолучитьCOMОбъект(ИмяФайла,"Excel.Application")

В любом случае, в дальнейшем вылезает вообще непонятная ошибка:

{Форма.Форма.Форма(47)}: Ошибка при вызове метода контекста (ПрочитатьЛистExcel)
ПрочитатьЛистExcel(,ПолучитьCOMОбъект(ИмяФайла));
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'param':
форма: Элемент
имя: {http://v8.1c.ru/8.2/managed-application/modules}param
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'COMОбъект'


Поздравляю, походу вы открыли для себя впервые особенности управляемого приложения.


Ок, где мне почитать про эти «особенности» чтобы разобраться как выполнить такое простое задание, как чтение excel файла?


Путем проб и ошибок
Пробуйте «&НаСервере» всё это делать

Помогли — Скажи спасибо! Решил сам — поделись решением!
:)


Не сочтите за издевательство: http://v8.1c.ru/metod/faq2/
&НаКлиенте — это только форма, видимость,доступность, условное офомление и т.д.
&НаСервере — это работа с объектами. Добавить строки, заполнить объект и т.д.

С клиента можно вызывать сервер, наоборот — нельзя.

Все прочие особенности = интернет большой, уверен справитесь


Дааа. Простейшие вещи теперь хрен сделаешь. Почитал я это. Замечательно! Погуглил даже. Простейшая задача, неясно как решать.

Я хочу создать программно документ, заполнить его на основании данных из экселя, и открыть.

На клиенте я это сделать не могу, на клиенте «Документы» неопределена (нельзя создать документ). На сервере тоже не могу, нельзя открыть форму. На клиент нельзя передать ссылку на документ (когда пытаюсь сделать «Возврат Док», где Док это новый документ, вылезает ошибка передачи данных). Гугл «1с 8.3 передача документа с сервера на клиент» ничего не дал.

Что делать?


Остается сесть в углу и плакать.
На клиенте формируете структуры с простыми данными (строки, даты и т.д.) передаете на сервер. Создаете/ищите  документ на сервере и возвращаете ссылку на документ.


Настройка 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. Добавляем права «Чтение» и «Запись»
   Игорь_МММ

09.03.19 — 16:00

то что в клиенте из под Веб нельзя создавать COMОбъект — это знаю. Но НаСервере, что тоже нельзя?

Суть проблемы ОбменMSWord — общий модуль с компиляцией на сервере. В тонком работает, в в веб возвращает следующее:

{ОбщийМодуль.ОбменMSWord.Модуль(6)}: Ошибка при вызове конструктора (COMОбъект)

    ОбъектВорд = Новый COMОбъект(«Word.Application»);

по причине:

по причине:

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

   Garykom

1 — 09.03.19 — 16:24

Сервер на линуксе?

   ДенисЧ

2 — 09.03.19 — 18:18

(1) Не то сообщение

(0) А там вообще ворд есть?

   Игорь_МММ

3 — 09.03.19 — 19:01

(1) база файловая

(2) да, в тонком же работает

   RomanYS

4 — 09.03.19 — 19:06

(3) А в тонком через веб-сервер работает?

   Игорь_МММ

5 — 09.03.19 — 19:12

(4) нет, локально

   RomanYS

6 — 09.03.19 — 19:20

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

   Игорь_МММ

7 — 09.03.19 — 19:52

если я правильно копаю, то у меня в DCOM нет Ворда. Как понять есть ворд на web-сервере? у меня IIS.

   Asmody

8 — 09.03.19 — 20:01

(7) Обычно Word появляется на машине после того, как кто-нибудь установит туда MS Office

   Patriot1C

9 — 09.03.19 — 21:09

(0) Похоже COM не установлен на Сервер. Он не ставиться по умолчанию как устаревшая технология.

   Игорь_МММ

10 — 09.03.19 — 23:12

(9) можно поподробнее? что делать то?

   Garykom

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

*ответишь

   DrZombi

17 — 10.03.19 — 15:56

(0) Сервер Вынь х64?  Сервер 1С х64 ?

   DrZombi

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С.

   DrZombi

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

Если права, то права пользователя, под которым запущена служба веб-сервера

   dmpl

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, соответственно он нигде не отображается. После закрытия сессии (закрытия формы документа недостаточно) этот вордовский файлик можно запустить.

Знает ли кто в чем тут дело?

   Garykom

38 — 18.03.19 — 18:02

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

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

   Игорь_МММ

39 — 18.03.19 — 18:06

(38) без понятия.

   dmpl

40 — 18.03.19 — 18:19

(37) Чего вы так к этому Word’у прицепились? Автоматизировать надо по-нормальному, тогда не будет необходимости править документ после формирования.

   Игорь_МММ

41 — 18.03.19 — 18:25

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

   dmpl

42 — 18.03.19 — 18:29

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

   Garykom

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С в основном.

   Garykom

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 как был,так и остается.

   Garykom

47 — 18.03.19 — 20:54

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

HTML тоже легко делать, но как оно выйдет на печать это большой вопрос.

   Garykom

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 может «держать» файл? косяк идет именно на этапе записи двоичных данных. При этом запись происходит (раз файл можно открыть после закрытия сеанса)

   Garykom

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.см.выше

  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

  • Ошибка при скачивании файла на андроид
  • Ошибка при создании apple id неверная дата рождения
  • Ошибка при скачивании торрента системе не удается найти указанный путь
  • Ошибка при создании apple id на iphone
  • Ошибка при скачивании торрента не смонтирован предшествующий том