Ошибка конструктора любого COMОбъекта (автономный сервер ibsrv.exe)

1. 02.05.21 23:14 Сейчас в теме
При создании любого COMОбъект`а &НаСервере при запуске через автономный сервер (8.3.19.1079)

Например:
WshShell = Новый COMОбъект("WScript.Shell");
Сообщить(WshShell.CurrentDirectory);


Всегда возникает ошибка:
-2147221008(0x800401F0): Не был произведен вызов CoInitialize.


Запускал ibsrv.exe от Администратора и как приложение, и в качестве службы.
Словно ibsrv.exe ограничен в правах или в нём отсутствует работа с Component Object Model.
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. user856012 13 03.05.21 01:29 Сейчас в теме
(1)
Словно ibsrv.exe ограничен в правах или в нём отсутствует работа с Component Object Model.
Именно так, RTFM:
Автономный сервер не поддерживает следующие возможности:
...
Работу с информационной базой с использованием внешнего соединения (COM-соединение).
...
Управление сервером с помощью COM-объекта V83.ComConnector.

Источник:
https://its.1c.ru/db/v8314doc/bookmark/adm/TI000000894
https://infostart.ru/1c/articles/1165658/
3. morozow 03.05.21 11:18 Сейчас в теме
(2) Но ведь я и не пытаюсь использовать внешнее соединее для программного доступа к данным 1С:Предприятия из внешних приложений, не использую COM-объект V83.COMConnector.

В мануале, в обоих случаях идёт речь о подключении к 1С:Предприятие (работа с ИБ, использование конкретного объекта V83.ComConnector)?
4. user856012 13 03.05.21 12:27 Сейчас в теме
(3)
В мануале, в обоих случаях идёт речь о подключении к 1С:Предприятие
Разве? А вот это о чем:
Управление сервером с помощью COM-объекта V83.ComConnector.

Вы с помощью WScript.Shell что собираетесь делать? Не сервером управлять? И, может быть, документирован только запрет на V83.COMConnector, а другие виды COM отрубили "за компанию"?

Впрочем, я лишь делаю предположения, а вы - видите результат. ;)
5. morozow 03.05.21 13:29 Сейчас в теме
(4) Изначально меня интересовал
ОбъектВорд = Новый COMОбъект("Word.Application")

он такWже не работает, Script.Shell я указал в качестве примера работы с любым ComОбъект'ом, что бы исключить рассуждения об MS Office.

Или я не верно трактую ограничения и они наложены на все COM?
6. user856012 13 03.05.21 14:29 Сейчас в теме
(5)
Или я не верно трактую ограничения и они наложены на все COM?
Понятия не имею - как и вы, могу только гадать.

Но, думаю, что на все - то ли случайно так у 1С получилось, то ли специально решили на корню зарубить всех "хитрецов", которые неизбежно будут пытаться обойти неполные ограничения.
8. morozow 03.05.21 15:26 Сейчас в теме
(6) Я и не пытался хитрить, мне нужна работа с Word. :-(
11. user856012 13 03.05.21 15:34 Сейчас в теме
(8)
мне нужна работа с Word. :-(
"Работа" - понятие растяжимое, не зная точно вашу задачу, могу предложить как вариант - попробовать обойтись вообще без COMОбъект: https://infostart.ru/1c/articles/590918/
7. spacecraft 03.05.21 14:54 Сейчас в теме
(1) так автономный сервер и не должен работать с хостом напрямую. Это же вид виртуализации. Не удивлюсь, если он сделан на базе openVZ или docker. И не факт, что там усеченная версия винды, а не линукса. Последнее наиболее вероятно.
9. morozow 03.05.21 15:29 Сейчас в теме
(7) Извечный вопрос - и что делать?
Ведь к файлам же автономный сервер на хосте имеет полный доступ... Как бы прокинуть и Com
10. spacecraft 03.05.21 15:31 Сейчас в теме
(9) не упираться в СОМ и искать решение делать другими методами.
starik-2005; +1 Ответить
14. starik-2005 2301 04.05.21 14:46 Сейчас в теме
(1)
автономный сервер (8.3
В настоящее время автономный сервер находится в статусе бета-версии.

Вообще, а что мешает поставить обычный IIS или Apache? И проблема с лицухой серверной (не более 3-х подключений) пропадет, и с СОМами проблем не будет (он сам по себе та еще проблема).
12. morozow 03.05.21 17:13 Сейчас в теме
Спасибо за Ваши ответы, но вопрос всё ещё актуален. Мне нужно много Com'ов )))
13. starik-2005 2301 04.05.21 14:43 Сейчас в теме
(12)
Мне нужно много Com'ов
Да нахрен они не нужны. Стоит переформулировать задачу и пересобрать в голове вариант решения, обойдясь без СОМов.
15. morozow 04.05.21 16:10 Сейчас в теме
(13) Все так. И Linux будет рад отсутствию Com.
Но все костылики - отнимают много времени, например, COMОбъект("VBScript.RegExp") для парсинга полноценно вообще сложно заменить, читать .doc (не .docx) тоже ещё та затея...
Да, всё можно, но по соотношению затраченное время и результат, - иногда дешевле ComОбъект'ы
А так да! Лучше бы без них ))
16. starik-2005 2301 04.05.21 16:17 Сейчас в теме
(15)
апример, COMОбъект("VBScript.RegExp") для парсинга полноценно вообще сложно заменить, читать .doc (не .docx) тоже ещё та затея...

По поводу регулярок, то не совсем понятно, зачем они для парсинга - есть XPATH в DOM, хотя для HTML это работает очень относительно (придется выкидывать половину текста и дополнять незакрытые теги). С другой стороны, часто и СтрНайти оказывается достаточно. Но да, с регулярками тут проще.

По поводу ворда, то не совсем понятен смысл. Если заполнить документ, то сохранить в ворде можно и средствами 1С. А если что-то прочитать оттуда, то и XML запарсить (благо тут уже не одна библиотека для этого есть, да и XPATH тот же).

Но все эти DOC(X)/XLS(X) - это какая-то системная проблема, т.к. пользователю приходится зачем-то помимо учетной системы использовать офисные пакеты. Обычно это или большая OLAP-таблица, которую крутят ТОПы, или это договор в ворде, который с какой-то целью будет исправляться (тогда непонятно, зачем тут 1С вообще?)
17. morozow 05.05.21 01:37 Сейчас в теме
(16) Прямо как в воду смотрите :-)
Между тем, пытаюсь найти альтернативу Com. На Ваш взгляд есть что-то интереснее RegEx1CAddin?
Оставьте свое сообщение
Вопросы с вознаграждением