Ошибка при обнаружении метода #621962


#0 by Карась
Добрый день! Заранее прошу прощения за возможно детские вопросы. У меня стоит задача заполнения документа в 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 остается неопределенным. Пыталась исправить ошибку, но безуспешно. Надеюсь на Вашу помощь.Заранее спасибо!
#1 by vicof
Без фотки топлесс такие вопросы не решить.
#2 by Карась
Ой ошибку не дописала, вот она:"Метод объекта не обнаружен (OleFunction)    Desktop = ServiceManager.OleFunction("createInstance", "com.sun.star.frame.Desktop");"
#3 by pumbaEO
фотка уже есть?
#4 by sash-ml
ничего не выйдет, 1с такое не умеет,
#5 by EasyRider
А откуда известно,что у ServiceManager есть именно такой метод как OleFunction?
#6 by ЧеловекДуши
Щас, автор выдаст - "Сама я не по 1С, да и не программист вообще, даже не программистка. А всего лишь системный администратор" :) ...Без фото, солнечный офис не будет работать...
#7 by Карась
EasyRider вот здесь вроде вычитала. А сама я начинающий программист, поэтому не пугайте пожалуйста)
#8 by Amra
Никто не пугает, но без фото не взлетит)
#9 by Карась
Фото пока сделать не могу, не в офисе пока)
#10 by EasyRider
в ссылке написано "OpenOffice.org базируется на компонентной модели UNO",а не на сом!Поэтому подозреваю,что после строк  ServiceManager = Новый COMОбъект("com.sun.star.ServiceManager"); вы получаете в переменной ServiceManager не совсем то,что хотите.
#11 by Карась
То есть ошибка получается в ServiceManager = Новый COMОбъект("com.sun.star.ServiceManager"); Неправильно определила ServiceManager?
#12 by Карась
точнее объект
#13 by EasyRider
думаю да
#14 by EasyRider
а теперь фото в студию!!!
#15 by Карась
Глупый вопрос, знаю, фото на каком моменте программы нужно(еще раз повторюсь, я еще маленький программист))
#16 by sash-ml
Desktop = ServiceManager.createInstance("com.sun.star.frame.Desktop"); а если так?
#17 by Карась
Оооо, ура теперь надо следующую строчку исправлять, там та же ошибка, но попробую пока сама))
#18 by pumbaEO
не верю, что вконтакте нету фото или где-то еще. так не честно.
#19 by EasyRider
фото нужно на моменте себя перед фотоаппаратом
#20 by Карась
Да будет  фото,я сейчас не за своим компьютером,вечером выложу)
#21 by Карась
пока вот)
#22 by pumbaEO
Конфигурация Библиотека стандартных подсистем ОбщийМодуль.УправлениеПечатьюOOWriterКлиент - там найдешь многие ответы на свои вопросы.
#23 by SherifSP
+++
#24 by SherifSP
Как для программиста очень даже ничего
#25 by Карась
Спасибо)
#26 by Карась
Проверила, действительно неправильно определила переменную док,переписала. Док=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!" и вот это я уже, честно говоря в ступоре, сначала я не указывала параметры, и он жаловался на не совпадение типов, пока пытаюсь в режиме отладки, но безуспешно...
#27 by Карась
Посидела еще немного, посмотрела, в моем случае я в переменную FilePath передаю ссылку на уже существующий файл,то есть мне надо будет обрабатывать ее с помощью функции ConvertToUrl, но что-то мне подсказывает что я ушла далеко в сторону, плюс еще я не стала передавать вид массива, опять же не уверена, что это правильно.
#28 by dangerouscoder
#29 by Карась
Спасибо большое, буду пробовать)
#30 by Карась
Фотографию, как обещала, загрузила)
#31 by Карась
С этим вариантом пока тоже исключительная ошибка, я немного не пойму похоже дело в указании массива, я его не использую,но как поняла, что без этого никак...
#32 by Карась
Я попыталась сделать кусок кода как в этой ссылке, но у меня пока не работает 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-адрес
#33 by Карась
Прошла еще немного, без функции ConvertToURL работать не будет, то есть надо путь к файлу обрабатывать там, как это сделать пока не поняла, нашла, что надо использовать Стр.Заменить, опять же еще не совсем понимаю, как в данном случае ей воспользоваться, если не сложно, помогите пожалуйста.
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям

Похожие вопросы 1С

В этой группе 1С