03.04.18 — 20:24
Здравствуйте
Стоит УТ 11. Клиент-серверный вариант. Загружаю данные из Excel. При попытке открыть файл конструктором
Ex=Новый ComОбъект(«Excel.Application»);
Work = Ex.workbooks.Open(СокрЛП(ПутьКФайлу));
Входит ошибка
{Обработка.ЗагрузкаНоменклатурыИзЭкзель.Форма.Форма.Форма(25)}: Ошибка при вызове конструктора (ComОбъект): -2147467262(0x80004002): No such interface supported
Обработку разрабатывал в фаловом варианте. В файловом варианте обработка проходит нормально. Excel на сервере установлен.
Кто знает, почему файл не хочет читаться в клиент-серверном варианте?
1 — 03.04.18 — 20:27
(0)[Кто знает, почему] Все знают
100500 раз писалось про пути и учетные записи
2 — 03.04.18 — 20:28
права
3 — 03.04.18 — 20:32
права в 1с или права учетных записей Windows?
4 — 03.04.18 — 20:32
вин
5 — 03.04.18 — 20:33
Открывайте 1С-ом через Файл-Открыть
6 — 03.04.18 — 20:34
(1) Ну я пока с такой проблемой не сталкивался
7 — 03.04.18 — 20:34
(3) права учетной записи, от которой крутиться rphost
+ ну и конечно для загрузки из xls ставить на сервер эксель плохое решение, пару раз зависнет и сожрёт всю память
8 — 03.04.18 — 20:35
(7) Твой вариант решения?
9 — 03.04.18 — 20:35
Почему просто в ТД не читать? Зачем Excel дергать?
10 — 03.04.18 — 20:37
(5) Открывать 1С-ом что? обработку или Excel? Экзель открывается, правда, конечно, не читабельно..
11 — 03.04.18 — 20:37
(9) не всегда в ТД получается
12 — 03.04.18 — 20:38
(9) ТД — это что?
13 — 03.04.18 — 20:38
Взять типовую загрузку из йокселя,загрузить,закрыть,забыть.
14 — 03.04.18 — 20:38
табличный документ?
15 — 03.04.18 — 20:39
ну так у пользователей данные в экзеле.. приходится загружать из экзель
16 — 03.04.18 — 20:39
(14) Да он давно и Excel и ods нормально грузит.
17 — 03.04.18 — 20:39
18 — 03.04.18 — 20:39
(8) adodb однозначно
19 — 03.04.18 — 20:40
(16) многостраничные стал грузить совсем не давно
20 — 03.04.18 — 20:41
(18) а у него думаешь не адо?
21 — 03.04.18 — 20:41
(18) И тут мы вам покажем, как вы думаете, что?
Правильно… Вот эту ссылку
https://www.forum.mista.ru/topic.php?id=815766
22 — 03.04.18 — 20:42
(20) ты это о чем ?
ComОбъект(«Excel.Application»);
23 — 03.04.18 — 20:43
(21) ты неудачник и что ?
24 — 03.04.18 — 20:44
(23) А с какого перепою я неудачник? Можешь обосновать внятно?
Или у тебя перепой?
25 — 03.04.18 — 20:47
(24) хвостик отрасти для объяснений
26 — 03.04.18 — 20:48
а с чем эта ошибка связана? почему в файловом варианте читает, а в клиент-серверном читать не хочет?
27 — 03.04.18 — 20:49
(26) пипец
ты чё, ответы не читаешь ?
28 — 03.04.18 — 20:49
(25) Так лучше видно?
29 — 03.04.18 — 20:52
(26) Сервер и клиент находятся в разных местах. Если на одном — у них разные пользователи. См НачатьПомещениеФайла для начала.
30 — 03.04.18 — 20:53
(28) =)
31 — 03.04.18 — 20:54
все ж написано: «No such interface supported
«
32 — 03.04.18 — 20:55
сейчас пользователи подключаются через rdp. Все действия происходят на сервере..
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а я практически без опыта работы
— тогда никак!
(нужен опыт)
или еще как вариант, здесь, на сайте, есть Фрилансеры, попробуйте обратиться к ним!
если помогло нажмите: Спасибо!
так а на сервере у вас Эксель установлен?
и проверьте где у вас КОм объект создаетс я — на клиенте или на сервере, эксель должен быть установлен там где он создается
Если кому поможет, решение оказалось максимально банальным. во Вкладке Свойства / Удостоверения / поставил галочку на «Запускающий пользователь» в службе компонентов, и все заработало.
- 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С под локальным админом или администратором домена
- Запускаем DCOMCNFG (Консоль настроек «Службы компонентов»)
- Открываем ветку Корень консоли -> Службы компонентов -> Компьютеры -> Мой компьютер -> Настройка DCOM
- Ищем «Microsoft Excel Application»
- Если запись существует, то переходим к пункту 4
- Закрываем «Службы компонентов»
- Настройка реестра
- Запускаем REGEDIT
- Открываем ветку КомпьютерHKEY_CLASSES_ROOTAppIDEXCEL.EXE, если ее нет, то создаем
- Создаем в ней строковый параметр AppID = {00020812-0000-0000-C000-000000000046}
- Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты
- После этого в Component Services должен появиться «Microsoft Excel Application»
- Настраиваем свойства DCOM компонента «Microsoft Excel Application»
- Заходим в «Свойства», закладка «Безопасность»
- «Разрешения на запуск и активацию» — Настроить — Изменить
- Добавляем пользователя, под которым запускается агент сервера 1С
- Назначаем ему только следующие права (Разрешить):
- Локальный запуск
- Локальная активация
- «Разрешения на доступ» -Настроить — Изменить
- Добавляем пользователя, под которым запускается агент сервера 1С
- Назначаем ему только следующие права (Разрешить):
- Локальный доступ
- «Разрешения на запуск и активацию» — Настроить — Изменить
- Переходим на вкладку «Удостоверение»
- Выбираем «Запускающий пользователь»
- Заходим в «Свойства», закладка «Безопасность»
- Настройка системных папок
- Папка «C:WindowsSysWOW64configsystemprofileDesktop»
- Проверяем наличие папки , если нет -то создаем
- Заходим в «Свойства» этой папки, закладка «Безопасность»
- Добавляем, если нет, пользователя, под которым запускается агент сервера 1С
- Добавляем права «Чтение» и «Запись»
- Папка «C:WindowsSystem32configsystemprofileDesktop»
- Проверяем наличие папки , если нет -то создаем.
- Заходим в «Свойства» этой папки, закладка «Безопасность»
- Добавляем, если нет, пользователя, под которым запускается агент сервера 1С
- Добавляем права «Чтение» и «Запись»
- Папка «C:WindowsSysWOW64configsystemprofileDesktop»
-
Приветствую.
Столкнулся с проблемой:
Создал обработку, которая запускает Excel, читает файл, заполняет его и записывает.
На клиенте все великолепно выполняется.
Создал регламентное задание, которое запускает в определенное время это на сервере.
При выполнении на сервере вылезает ошибка про то, что типа MS Excel не удалось получить доступ к файлу. При этом доподлинно известно, что ком. объект Excel даже не создался (нет его в процессах диспетчера задач).
Примечательно, что если запустить обработку клиентом с машины, где установлен сервер 1С, то все выполняется.Excel = Новый COMОбъект("Excel.Application"); Книга = Excel.WorkBooks.Open("D:DstOrder.xls");
Чувствую, что дело тут в том, что при работе с клиента Excel запускается из-под пользователя в реальном сеансе, а в случае сервера — под пользователем хоть и с полными правами, но без запущенного сеанса.
Сервер Windows Server 2008 R2 Standart. Service Pack 1
Как это обойти? -
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
1) Файл D:DstOrder.xls действительно существует на сервере?
2) У пользователя под которым запущен сервер есть право доступа к каталогу D:Dst? -
1. Да, файл существует. Обработка при запуске на этом же сервере из-под клиента выполняется без проблем.
2. Доступ есть. Пользователь — администратор. Пробовал файл в разные папки класть.— Объединение сообщений, 15 авг 2014 —
Полный текст ошибки. Ошибка от имени Microsoft Excel, однако процесса EXCEL в диспетчере задач нет!
Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Excel): Приложению Microsoft Excel не удается получить доступ к файлу «D:DstOrder.xls». Это может быть вызвано одной из следующих причин.
• Указан несуществующий файл или путь.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем другой книги, открытой в данный момент.— Объединение сообщений, 15 авг 2014 —
8.3.4.496
Последнее редактирование: 15 авг 2014 -
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
Т.е. сервер (ragent.exe и т.д.) стартует от имени Администратора? Или все же от USR1CV82 (не знаю как там по умолчанию под 8.3 пользователь называется).
-
У меня пользователь USR1CV81 со старых времен. Он входит в группу Администраторы.
Сейчас провел эксперимент. Зашел на сервер от имени этого пользователя и в клиенте запустил обработку — без проблем.
-
Попробовал вместо COMОбъект использовать ПолучитьCOMОбъект. Вот результат
Ошибка при вызове метода контекста (ПолучитьCOMОбъект): Ошибка получения объекта COM: -2147221021(0x800401E3): Операция недоступна
-
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
-
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
-
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
likalim и Mark768 нравится это.
-
Спасибо тебе, добрый человек. Сам бы не допер…
-
Offline
shurikvz
Модераторы
Команда форума
Модератор- Регистрация:
- 1 окт 2009
- Сообщения:
- 8.547
- Симпатии:
- 344
- Баллы:
- 104
Да не за что.
Не совсем я это, разум это коллективный.. -
Небольшое уточнение:
При выборе «Текущий пользователь», обработка на сервере запускает Excel только в том случае, если на сервер выполнил вход кто-нибудь из пользователей.
Если это условие не выполняется, то получаем ошибку:Ошибка при вызове конструктора (COMОбъект): -2147467262(0x80004002): Интерфейс не поддерживается
На вкладке «Удостоверения» есть 3-й вариант запуска — указать конкретного пользователя и пароль.
Я указал пользователя, от имени которого работает сервер 1С (USR1CV81).
В таком варианте обработка запускает Excel при отсутствии работающих пользователей на сервере.
Это меня устраивает.В моем случае не бывает работающих пользователей на сервере и тем более, запускающих Excel
Могу предположить, что при запуске Excel любым пользователем (не USR1CV81) могут возникнуть проблемы.
Например, Excel запускается и работает, однако при старте выдает «Невозможно использовать связывание и внедрение объектов». -
Приветствую.
Когда в этой теме мне очень помогли. Восстановили сервер после аварии. Теперь восстанавливаю возможность работы пользователя USR1CV81 с Excel.
Столкнулся с тем, что в Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM теперь нет ветки Microsoft Excel Application, хотя сам Excel установлен.
Что я сделал не так? -
Offline
alexburn
Модераторы
Команда форума
Модератор- Регистрация:
- 5 янв 2009
- Сообщения:
- 15.150
- Симпатии:
- 560
- Баллы:
- 204
Переустанавливать эксель пробовали ?
-
Да, уже несколько раз и разные версии.
Вычитал в сети, что если нет ветки явно, то нужно в реестре найти его наименование в виде кода. В реестре нашел, но его кода в Настройка DCOM тоже нет. -
Offline
Ardak
- Регистрация:
- 21 дек 2015
- Сообщения:
- 1
- Симпатии:
- 1
- Баллы:
- 1
Вдруг кому понадобится
Выполняем команду «mmc comexp.msc /32», которая делает то же что и DCOMCONFIG, но позволяет видеть 32 битные компоненты. -
Offline
limus80
- Регистрация:
- 30 май 2013
- Сообщения:
- 5
- Симпатии:
- 0
- Баллы:
- 1
важное как мне кажется дополнение
ко всему вышесказанному надо добавить учетке права входа в качестве сервиса на компьютер
без этого у меня не работало на W2K12R2 -
Offline
Gucci76
Опытный в 1С- Регистрация:
- 9 мар 2008
- Сообщения:
- 75
- Симпатии:
- 0
- Баллы:
- 26
Здравствуйте.
У меня похожая проблема, но только с ВОРДом
В файловом варианте я могу Новый COMОбъект(«Word.Application»), а в клиент-серверном нет.
Службы компонентов->Компьютеры->Мой компьютер->Настройка DCOM тут НЕ нашел ворда (открывал через команду «mmc comexp.msc /32»).