#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 остается неопределенным. Пыталась исправить ошибку, но безуспешно. Надеюсь на Вашу помощь.Заранее спасибо!
#2
by Карась
Ой ошибку не дописала, вот она:"Метод объекта не обнаружен (OleFunction) Desktop = ServiceManager.OleFunction("createInstance", "com.sun.star.frame.Desktop");"
#6
by ЧеловекДуши
Щас, автор выдаст - "Сама я не по 1С, да и не программист вообще, даже не программистка. А всего лишь системный администратор" :) ...Без фото, солнечный офис не будет работать...
#7
by Карась
EasyRider вот здесь вроде вычитала. А сама я начинающий программист, поэтому не пугайте пожалуйста)
#10
by EasyRider
в ссылке написано "OpenOffice.org базируется на компонентной модели UNO",а не на сом!Поэтому подозреваю,что после строк ServiceManager = Новый COMОбъект("com.sun.star.ServiceManager"); вы получаете в переменной ServiceManager не совсем то,что хотите.
#11
by Карась
То есть ошибка получается в ServiceManager = Новый COMОбъект("com.sun.star.ServiceManager"); Неправильно определила ServiceManager?
#15
by Карась
Глупый вопрос, знаю, фото на каком моменте программы нужно(еще раз повторюсь, я еще маленький программист))
#17
by Карась
Оооо, ура теперь надо следующую строчку исправлять, там та же ошибка, но попробую пока сама))
#22
by pumbaEO
Конфигурация Библиотека стандартных подсистем ОбщийМодуль.УправлениеПечатьюOOWriterКлиент - там найдешь многие ответы на свои вопросы.
#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, но что-то мне подсказывает что я ушла далеко в сторону, плюс еще я не стала передавать вид массива, опять же не уверена, что это правильно.
#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С
- Необъяснимая ошибка метода "Записать()" или ошибка в ДНК?
- Ошибка при вызове метода контекста (Подключиться): Неизвестная ошибка (SMTP erro
- Странная ошибка "ошибка формата потока" с вылетом из сеанса
- Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту): Ошибка при
- Ошибка выполнения запроса "Ошибка при выполнении операции над данными: Ошибка SQL: Де
- v7: Ошибка СУБД.Внутренняя ошибка dbeng 8
- При отправке сообщения произошла ошибка : Общая ошибка MAPI
- Ошибка при вызове метода контекста (ПрочитатьИзменения): Ошибка преобразования данны
- v8: Ошибка СУБД. Внутренняя ошибка компоненты DBENG8 при обмене данными
- Ошибка при попытке выгрузить данные из УТ в БП. интересная необычная ошибка
- Ошибка при вызове web-сервиса 1C 8.3 (Внутренняя ошибка. Ошибка инициализации б)
- Ошибка при вызове метода контекста (Записать) Ошибка при выполнении файловой опе
В этой группе 1С
- как изменять значение экспортной переменной в модуле документа?
- СКД - среднее без пустых значений в ресурсе
- Тормозит Консоль Заданий
- как настроить Posiflex MR-2000 в 1с 8.2
- УПП: Отчет "Ведомость по учету МПЗ"
- Как произвести списание денежных средств со счета в кассу в УТ 10?
- Объединение нескольких табличных документов в один
- Кузнечик хочет попасть в лунку
- Как в УПП списать с 10.01 на 26 сумму без количества
- Как в СКД программно выбрать вариант настройки
- Как заполнить поле вида HTML документ в УФ?
- УПП, Авансовый отчет, печатная форма
- Графа 6 и 7 КУДиР
- Как заполнить таблицу SQL из 1С???
- Программно создать документ на основании
- Выводятся разные данные в консоли запросов и отчете на скд
- Расчеты по кредитам и займам с контрагентами УПП
- Длина значения показателя "Отчетный период" меньше минимально возможной
- Выгрузка иерархического справочника в Конвертации данных
- Где устанавливаются права на ввод на основании?