|
Ошибка при обнаружении метода | ☑ | ||
---|---|---|---|---|
0
Карась
25.07.12
✎
11:37
|
Добрый день! Заранее прошу прощения за возможно детские вопросы.
У меня стоит задача заполнения документа в 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
vicof
25.07.12
✎
11:38
|
Без фотки топлесс такие вопросы не решить.
|
|||
2
Карась
25.07.12
✎
11:38
|
Ой ошибку не дописала, вот она:"Метод объекта не обнаружен (OleFunction)
Desktop = ServiceManager.OleFunction("createInstance", "com.sun.star.frame.Desktop");" |
|||
3
pumbaEO
25.07.12
✎
11:41
|
фотка уже есть?
|
|||
4
sash-ml
25.07.12
✎
12:57
|
(2) ничего не выйдет, 1с такое не умеет,
|
|||
5
EasyRider
25.07.12
✎
13:10
|
А откуда известно,что у ServiceManager есть именно такой метод как OleFunction()?
|
|||
6
ЧеловекДуши
25.07.12
✎
13:24
|
Щас, автор выдаст - "Сама я не по 1С, да и не программист вообще, даже не программистка. А всего лишь системный администратор" :)
...Без фото, солнечный офис не будет работать... |
|||
7
Карась
25.07.12
✎
13:33
|
EasyRider вот здесь вроде вычитала.
http://www.ishodniki.ru/art/art_progr/builder/236.html А сама я начинающий программист, поэтому не пугайте пожалуйста) |
|||
8
Amra
25.07.12
✎
13:35
|
(7) Никто не пугает, но без фото не взлетит)
|
|||
9
Карась
25.07.12
✎
13:38
|
Фото пока сделать не могу, не в офисе пока)
|
|||
10
EasyRider
25.07.12
✎
13:40
|
(7)в ссылке написано "OpenOffice.org базируется на компонентной модели UNO",а не на сом!Поэтому подозреваю,что после строк ServiceManager = Новый COMОбъект("com.sun.star.ServiceManager"); вы получаете в переменной ServiceManager не совсем то,что хотите.
|
|||
11
Карась
25.07.12
✎
13:43
|
То есть ошибка получается в
ServiceManager = Новый COMОбъект("com.sun.star.ServiceManager"); Неправильно определила ServiceManager? |
|||
12
Карась
25.07.12
✎
13:43
|
точнее объект
|
|||
13
EasyRider
25.07.12
✎
13:47
|
думаю да
|
|||
14
EasyRider
25.07.12
✎
13:48
|
а теперь фото в студию!!!
|
|||
15
Карась
25.07.12
✎
13:50
|
Глупый вопрос, знаю, фото на каком моменте программы нужно(еще раз повторюсь, я еще маленький программист))
|
|||
16
sash-ml
25.07.12
✎
13:50
|
Desktop = ServiceManager.createInstance("com.sun.star.frame.Desktop"); а если так?
|
|||
17
Карась
25.07.12
✎
13:53
|
Оооо, ура теперь надо следующую строчку исправлять, там та же ошибка, но попробую пока сама))
|
|||
18
pumbaEO
25.07.12
✎
13:53
|
не верю, что вконтакте нету фото или где-то еще.
(16) так не честно. |
|||
19
EasyRider
25.07.12
✎
13:54
|
(15)фото нужно на моменте себя перед фотоаппаратом
|
|||
20
Карась
25.07.12
✎
13:57
|
Да будет фото,я сейчас не за своим компьютером,вечером выложу)
|
|||
21
Карась
25.07.12
✎
13:58
|
http://www.stihi.ru/avtor/heshirochka
пока вот) |
|||
22
pumbaEO
25.07.12
✎
14:07
|
Конфигурация Библиотека стандартных подсистем
ОбщийМодуль.УправлениеПечатьюOOWriterКлиент - там найдешь многие ответы на свои вопросы. |
|||
23
SherifSP
25.07.12
✎
14:08
|
(1) +++
|
|||
24
SherifSP
25.07.12
✎
14:11
|
(21)Как для программиста очень даже ничего
|
|||
25
Карась
25.07.12
✎
14:16
|
Спасибо)
|
|||
26
Карась
25.07.12
✎
15:03
|
Проверила, действительно неправильно определила переменную док,переписала.
Док=Desktop.LoadComponentFromURL("C:\\dvstmp\\qqqq.odt", "_blank", 0,Параметры); Но теперь он пишет: "{Справочник.ДоговорыКонтрагентов.Форма.ФормаЭлемента.Форма(420)}: Ошибка при вызове метода контекста (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
Карась
25.07.12
✎
17:13
|
Посидела еще немного, посмотрела, в моем случае я в переменную FilePath передаю ссылку на уже существующий файл,то есть мне надо будет обрабатывать ее с помощью функции ConvertToUrl, но что-то мне подсказывает что я ушла далеко в сторону, плюс еще я не стала передавать вид массива, опять же не уверена, что это правильно.
|
|||
28
dangerouscoder
25.07.12
✎
17:22
|
||||
29
Карась
25.07.12
✎
21:37
|
Спасибо большое, буду пробовать)
|
|||
30
Карась
25.07.12
✎
21:42
|
Фотографию, как обещала, загрузила)
|
|||
31
Карась
26.07.12
✎
09:48
|
С этим вариантом пока тоже исключительная ошибка, я немного не пойму похоже дело в указании массива, я его не использую,но как поняла, что без этого никак...
|
|||
32
Карась
26.07.12
✎
10:36
|
Я попыталась сделать кусок кода как в этой ссылке, но у меня пока не работает
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 он выдает ошибку: "{Справочник.ДоговорыКонтрагентов.Форма.ФормаЭлемента.Форма(434)}: Ошибка при вызове метода контекста (LoadComponentFromURL) Document=Desktop.LoadComponentFromURL( ВременныйФайлXLS_какУРЛ, "_blank", 0,НастройкиОткрытия); по причине: Произошла исключительная ситуация ([automation bridge] ): com.sun.star.lang.IllegalArgumentException: URL seems to be an unsupported one." Возможно я неправильно указала URL-адрес |
|||
33
Карась
26.07.12
✎
12:02
|
Прошла еще немного, без функции ConvertToURL работать не будет, то есть надо путь к файлу обрабатывать там, как это сделать пока не поняла, нашла, что надо использовать Стр.Заменить, опять же еще не совсем понимаю, как в данном случае ей воспользоваться, если не сложно, помогите пожалуйста.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |