Com sun star servicemanager 1с ошибка

Перестал создаваться СОМ объект либре офиса com.sun.star.ServiceManager ☑ 0

repin_mike

29.01.21

09:52

Перезагрузка машины не помогла.

По аналогии с СОМ объектом 1С видимо нужно зарегистрировать какую-то библиотеку через regsvr32

Никто не знает какую?

1

Aleksey

29.01.21

10:02

А что говорит яндекс?

2

Voronve

29.01.21

10:04

(0) Скрин ошибки в студию.

(1) Щас выясниться что отсутствует LO или подвисло ядро и объект не создается

3

repin_mike

29.01.21

10:13

(2) https://i.paste.pics/a92c6f4b9bb0eb81baf3b592b9c66597.png

(1) Если бы нашёл в интернете, то на форуме спрашивать бы точно не стал

4

Aleksey

29.01.21

10:13

(3) 7 бед один ресет. Машину перегружал? Пыль с монитора вытирал? По системнику ботинком стучал?

5

Aleksey

29.01.21

10:14

И что с ошибкой, почему описание ошибки заремлено?

6

repin_mike

29.01.21

10:26

(4) Перезагружал, пыль с монитора не стирал потому что монитора нет, это же сервер; по системнику тоже не стучал потому что он в 140 км от меня.

7

Voronve

29.01.21

10:41

(3) Мдээ … ну удачи чо

8

Йохохо

29.01.21

11:05

баш подавился от зависти

9

repin_mike

29.01.21

11:14

(8) Ну дык да. А по теме никто ничего, эх..

10

Aleksey

29.01.21

12:47

(9) ты форумом ошибся, тебе на forum.telepatof.net

11

hhhh

29.01.21

12:57

(9) на сервере точно этот либре офис установлен?

12

arsik

29.01.21

13:01

(3) Может жаву нужно установить?

13

rphosts

29.01.21

13:19

(0) трынделей тому кто админит сервер

14

acht

29.01.21

13:30

(9) А зачем ты перевел сервер на линукс?

15

polosov

29.01.21

13:43

(0) Имя COM-сервера для com.sun.star.ServiceManager.1 —  «LibreOffice C:\Program Files\LibreOffice\program\soffice.exe —nodefault —nologo»

Это по умолчанию

Проверь что у тебя по этому пути. Проверь в реестре поиском по «com.sun.star.ServiceManager» на что оно ссылается

16

repin_mike

29.01.21

15:53

(11) Да, 100% на этом сервере.

(14) На винде. Excel нежелательно ставить из-за лицензионных ограничений

(15) Всё проверил, все ветки в реестре на месте.

Подняли виртуальный сервер с такой же конфигурацией, накатили туда тот же дистрибутив либре офиса — всё работает («com.sun.star.ServiceManager», без точка один). На нужном сервере либре офис убивали — ставили — перезагружали.Что-то тупик пятничный.

17

repin_mike

29.01.21

16:01

Антивируса на машине нет, вообще не знаю на кого грешить.

18

polosov

29.01.21

16:35

(16) А либра 64бита стоит? Ну в качестве предположения?

Попробуй посмотреть ошибки в журнале винды.

19

Deal with it

29.01.21

16:58

(0) Саму компоненту уже смотрели? Под каким пользователем запускается? Желательно чтобы пользователь был указан отдельный с админскими правами

20

repin_mike

01.02.21

11:37

(18) За подсказку посмотреть в ЖР спасибо. Посмотрел и увидел там ошибку «Регистрация сервера {82154420-0FBF-11D4-8313-005004526AB4} DCOM не выполнена за отведенное время ожидания.»

Сразу же нагуглилась тема 1C (клиент-сервер) и Libre Office

Показал админам и они всё за 10 минут поправили.

21

repin_mike

01.02.21

11:42

(19) Вы угадали на 100%. Спасибо.


Description


Vitaly Lipatov



2009-07-31 17:49:09 MSD

При попытке открыть в 1с шаблона Word в OpenOffice, в момент выполнения
кода:

ServiceManager = СоздатьОбъект("com.sun.star.ServiceManager");
Desktop = ServiceManager.createInstance("com.sun.star.frame.Desktop");

На сервере запускается процесс:
Command C:\Program Files\OpenOffice.org 2.4\program\soffice.exe -nodefault -nologo -Embedding,

но в 1с вылетает ошибка:
Неудачная попытка создания объекта (com.sun.star.ServiceManager)

Надо проверить. Если для успешной работы нужны особые условия, давайте их задокументируем.


Comment 1


Денис Баранов



2009-07-31 18:40:22 MSD

Если запускать 1С через wine, то выдается ошибка.
Для работоспособности данной обработки нужно запускать 1С через wine98.

LarisaT
23.03.2010 16:10 Прочитано: 9036

Пыталась написать код из 1С77 для открытия документа Open Office Writer. Использовала предлагаемые коды для работы с Open Office Calc, приведенные в инете. Там есть строка

ServiceManager=СоздатьОбъект(«com.sun.star.Service Manager»);

У меня на нее выдает сообщение «Неудачная попытка создания объекта (com.sun.star.Service Manager)»

Не подскажете, почему? Что нужно доустановить в систему? Может кто выложит полный код описанной задачи.
Где можно почитать об этом вопросе подробно?

С документами из MS Word MS Excel у меня проблем не было. Там все понятно.

Yandex
Возможно, вас также заинтересует

Реклама на портале

E_Migachev
23.03.2010 17:34 Ответ № 1

Нужно писать:
Код 1C v 7.x

 ServiceManager=СоздатьОбъект("com.sun.star.ServiceManager");

вот рабочие примеры: где заполняется фразой новый документ, а потом эта фраза меняется на другую:

Код 1C v 7.x

 
Перем Док; //smaharbA

Процедура Заполним()
Перем Имя,Путь;
Поиск="Съешь ещё этих мягких французских булок, да выпей чаю";
Скрипт=СоздатьОбъект("MSScriptControl.ScriptControl");
Скрипт.language="javascript";
Математика=Скрипт.eval("Math");
Массив=Скрипт.eval("Массив=new Array()");
СервисМанагер=Скрипт.eval("СервисМанагер=new ActiveXObject('com.sun.star.ServiceManager')");
Парам=Скрипт.eval("Парам=СервисМанагер.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");
Парам.Name="Hidden";
Скрипт.eval("Парам.Value=false;");
Массив.push(Парам);
Десктоп = СервисМанагер.createInstance("com.sun.star.frame.Desktop");
//Док = Десктоп.LoadComponentFromURL("file:///"+СтрЗаменить(Путь+Имя,"\","/"), "_blank", 0, Массив );

Док = Десктоп.LoadComponentFromURL("private:factory/swriter", "_blank", 0, Массив );
Стр="";
Для к=1 По 100 Цикл
Стр=Стр+Поиск+РазделительСтрок;
КонецЦикла;
Док.getText().setString(Стр);
КонецПроцедуры

Процедура Заменим()
Поиск="Съешь ещё этих мягких французских булок, да выпей чаю";
Замена="Выпей вотки и закуси селеткой )";
Дескриптор=Док.createSearchDescriptor();
Дескриптор.SearchString = Поиск;
//Док.SearchWords = -1;

Дескриптор.SearchCaseSensitive = -1;
Дескриптор.SearchBackwards = -1;
Дескриптор.ReplaceString = Замена;
Док.ReplaceAll(Дескриптор);
КонецПроцедуры

Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему.

Добрый день! Заранее прошу прощения за возможно детские вопросы. У меня стоит задача заполнения документа в open office из формы документа 1с. Я создала кнопку «Печать», после чего начала описывать процедуру. ServiceManager = Новый COMОбъект(«com.sun.star.ServiceManager»);     Desktop = ServiceManager.OleFunction(«createInstance», «com.sun.star.frame.Desktop»);     Док = Desktop.OleFunction(«LoadComponentFromURL», «C:\…», 0 ); На этом участке кода у меня система выдает ошибку: «Desktop = ServiceManager.OleFunction(«createInstance», «com.sun.star.frame.Desktop»);» В режиме отладки проверяла ServiceManager заполняется, а вот Desktop остается неопределенным. Пыталась исправить ошибку, но безуспешно. Надеюсь на Вашу помощь.Заранее спасибо!

Без фотки топлесс такие вопросы не решить.

Ой ошибку не дописала, вот она:»Метод объекта не обнаружен (OleFunction)    Desktop = ServiceManager.OleFunction(«createInstance», «com.sun.star.frame.Desktop»);»

ничего не выйдет, 1с такое не умеет,

А откуда известно,что у ServiceManager есть именно такой метод как OleFunction?

Щас, автор выдаст — «Сама я не по 1С, да и не программист вообще, даже не программистка. А всего лишь системный администратор» :) …Без фото, солнечный офис не будет работать…

EasyRider вот здесь вроде вычитала. А сама я начинающий программист, поэтому не пугайте пожалуйста)

Никто не пугает, но без фото не взлетит)

Фото пока сделать не могу, не в офисе пока)

в ссылке написано «OpenOffice.org базируется на компонентной модели UNO»,а не на сом!Поэтому подозреваю,что после строк  ServiceManager = Новый COMОбъект(«com.sun.star.ServiceManager»); вы получаете в переменной ServiceManager не совсем то,что хотите.

То есть ошибка получается в ServiceManager = Новый COMОбъект(«com.sun.star.ServiceManager»); Неправильно определила ServiceManager?

а теперь фото в студию!!!

Глупый вопрос, знаю, фото на каком моменте программы нужно(еще раз повторюсь, я еще маленький программист))

Desktop = ServiceManager.createInstance(«com.sun.star.frame.Desktop»); а если так?

Оооо, ура теперь надо следующую строчку исправлять, там та же ошибка, но попробую пока сама))

не верю, что вконтакте нету фото или где-то еще. так не честно.

фото нужно на моменте себя перед фотоаппаратом

Да будет  фото,я сейчас не за своим компьютером,вечером выложу)

Конфигурация Библиотека стандартных подсистем ОбщийМодуль.УправлениеПечатьюOOWriterКлиент — там найдешь многие ответы на свои вопросы.

Как для программиста очень даже ничего

Проверила, действительно неправильно определила переменную док,переписала. Док=Desktop.LoadComponentFromURL(«C:\dvstmp\qqqq.odt», «_blank», 0,Параметры); Но теперь он пишет: «{Справочник.ДоговорыКонтрагентов.Форма.ФормаЭлемента.Форма}: Ошибка при вызове метода контекста (LoadComponentFromURL)      Док=Desktop.LoadComponentFromURL(«C:\advastmp\qqqq.odt», «_blank», 0,Параметры); по причине: Произошла исключительная ситуация ([automation bridge] ): [automation bridge] UnoConversionUtilities<T>::dispatchExObject2Sequence Conversion of dispatch object to Sequence failed! Произошла исключительная ситуация ([automation bridge] ): [automation bridge] UnoConversionUtilities<T>::dispatchExObject2Sequence Conversion of dispatch object to Sequence failed!» и вот это я уже, честно говоря в ступоре, сначала я не указывала параметры, и он жаловался на не совпадение типов, пока пытаюсь в режиме отладки, но безуспешно…

Посидела еще немного, посмотрела, в моем случае я в переменную FilePath передаю ссылку на уже существующий файл,то есть мне надо будет обрабатывать ее с помощью функции ConvertToUrl, но что-то мне подсказывает что я ушла далеко в сторону, плюс еще я не стала передавать вид массива, опять же не уверена, что это правильно.

Спасибо большое, буду пробовать)

Фотографию, как обещала, загрузила)

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

Я попыталась сделать кусок кода как в этой ссылке, но у меня пока не работает ServiceManager = Новый COMОбъект(«com.sun.star.ServiceManager»);     Desktop = ServiceManager.createInstance(«com.sun.star.frame.Desktop»);     НастройкиОткрытия = Новый COMSafeArray(«VT_VARIANT», 1); PropertyValue = ServiceManager.Bridge_GetStruct(«com.sun.star.beans.PropertyValue»);    PropertyValue.Name = «Hidden»;    PropertyValue.Value = Истина;    НастройкиОткрытия.SetValue(0, PropertyValue);    ВременныйФайлXLS_какУРЛ = // «file:///» +  СтрЗаменить(«C:\dvstmp\qqqq.odt», «», «/»); // приводим путь к файлу из виндового формата в опен офисный Document=Desktop.LoadComponentFromURL( ВременныйФайлXLS_какУРЛ, «_blank», 0,НастройкиОткрытия); На месте определения Document он выдает ошибку: «{Справочник.ДоговорыКонтрагентов.Форма.ФормаЭлемента.Форма}: Ошибка при вызове метода контекста (LoadComponentFromURL)      Document=Desktop.LoadComponentFromURL( ВременныйФайлXLS_какУРЛ, «_blank», 0,НастройкиОткрытия); по причине: Произошла исключительная ситуация ([automation bridge] ): com.sun.star.lang.IllegalArgumentException: URL seems to be an unsupported one.» Возможно я неправильно указала URL-адрес

Прошла еще немного, без функции ConvertToURL работать не будет, то есть надо путь к файлу обрабатывать там, как это сделать пока не поняла, нашла, что надо использовать Стр.Заменить, опять же еще не совсем понимаю, как в данном случае ей воспользоваться, если не сложно, помогите пожалуйста.

Тэги: Админ

Комментарии доступны только авторизированным пользователям

Рекомендовать в новости

Гость

0

10.09.2014 — 23:01


Через кнопку печати в заказе хочу заполнить шаблон опен офис. Выдает ошибку
Ошибка при вызове конструктора (COMОбъект)
ServiceManager = Новый COMОбъект(«com.sun.star.ServiceManager»);
по причине:
-2147024891(0x80070005): Отказано в доступе.
Эта же конструкция отрабатывается если использовать в этой же базе как дополнительную обработку.

Гость

1

11.09.2014 — 07:47

Компилиться этот код где?

Гость

2

11.09.2014 — 14:16

права пользователя винды?

Гость

3

11.09.2014 — 17:00

это правда не ОПЕНофис, но может и в тему
http://prntscr.com/4lsi7n

Гость

4

11.09.2014 — 17:01

хотя навряд ли

Гость

5

19.09.2014 — 12:24

Код вероятно на сервере, допетрил, просто тут нубов щимят, можно раз в 24 часа постить. Не понимаю как из модуля внешней обработки перейти на выполнение на клиенте. Открытием формочки? Подскажите если сталкивались. Винда не имеет значения, т.к. из БП2 все работает, да и из 11 через форму с разделом Клиент тоже

Гость

6

20.09.2014 — 00:05

а зачем ком объект на сервере создавать, кстати? работай с ним на клиенте

Гость

7

22.09.2014 — 21:15

Основная идея что на кнопке «Печать» должна висеть функция вывода бланка. Как передать управление с этой кнопки на клиент я не знаю. Пока не знаю.

Гость

8

22.09.2014 — 21:47

так кнопка на клиенте же

Понравилась статья? Поделить с друзьями:

Интересное по теме:

  • Com mstar tv service ошибка
  • Com mobilus cafri service vehicle произошла ошибка
  • Com google process gapps произошла ошибка при включении
  • Com google process gapps произошла ошибка на телевизоре
  • Com google process gapps произошла ошибка как исправить

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии