Имя: Пароль:
1C
 
Создание документа в опен офис
0 protsenkodv
 
07.09.15
12:00
Приветствую! Нужно сформировать документ в опен офис из 1С.

    ИмяФайла = КаталогВременныхФайлов() + "ИП.tmp";
    ВремФайл=Новый Файл(ИмяФайла);                                                                                      
    Файл="file:///" + СтрЗаменить(ВремФайл.ПолноеИмя, "\", "/");
    Handler = Новый Структура("ServiceManager,Desktop,Document,ИмяФайла");
    Попытка
        ServiceManager = Новый COMОбъект("com.sun.star.ServiceManager");
    Исключение
        ВызватьИсключение(НСтр("ru = 'Ошибка при связи с сервис менеджером (com.sun.star.ServiceManager). Обратитесь к администратору системы.'"));
    КонецПопытки;
    Попытка
        Desktop = ServiceManager.CreateInstance("com.sun.star.frame.Desktop");
    Исключение
        ВызватьИсключение(НСтр("ru = 'Ошибка при запуске сервиса Desktop (com.sun.star.frame.Desktop). Обратитесь к администратору системы.'"));
    КонецПопытки;
    Параметры = ПолучитьComSafeArray();
    Параметры.SetValue(0, СвойствоЗначение(ServiceManager, "Hidden", Истина));
    Document = Desktop.LoadComponentFromURL(Файл, "_blank", 0, Параметры);

На последней строке ошибка:
Произошла исключительная ситуация ([automation bridge] ): com.sun.star.lang.IllegalArgumentException: URL seems to be an unsupported one.
Что не так?
1 aka AMIGO
 
07.09.15
12:04
у меня так, сохраняет:
    scr.eval("Массив[0]=ServiceManager.Bridge_GetStruct('com.sun.star.beans.PropertyValue')");
    scr.eval("Массив[0].Name='FilterName'");
    scr.eval("Массив[0].Value='MS Excel 97'");
    Document.storeToURL("file:///" + "C:/ЫЫЫ/ДругоеСТО/"+"Отчет.xls",Массив);
2 protsenkodv
 
07.09.15
17:00
(0) был косяк с путем к шаблону документа.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.