Имя: Пароль:
IT
Админ
Открытие документа Open Office из 1с, проблема с выводом документа.
, ,
0 Карась
 
27.07.12
11:50
Еще раз здравствуйте! Похоже я буду частым посетителем на Вашем форуме, меня здесь уже не раз выручали и очень даже здорово выручали!У меня стоит задача заполнения документа в open office из формы документа 1с.
На места закладок должны записываться данные из реквизитов документа.
Я создала кнопку в форме документа и описала процедуру. Вот она:

&НаКлиенте
Процедура ПечатьДокумента(Команда)
   Печать();
КонецПроцедуры
&НаСервере
Процедура Печать()
   
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);
ФайлПрайса="C:/dvstmp/qqqq.odt";
URL = ConvertToURL(ФайлПрайса);

           

Document=Desktop.LoadComponentFromURL(URL,"_blank",0,НастройкиОткрытия);
Закладки=Document.getBookmarks();
   
   
Попытка  
   Для ПеременнаяСчетчик=0 По 1 Цикл
Закладка=Закладки.getByName("bm1");
         КонецЦикла;
Исключение
Сообщить("Фигня какая то с закладкой """+"Закладка"+"""!!!");
Возврат;
       
КонецПопытки;
Якорь=Закладка.getAnchor();
   
   
Document = Desktop.loadComponentFromURL(URL, "_blank", 0, НастройкиОткрытия);
   

КонецПроцедуры

функция convertToURL(FileName)
   __ =  стрзаменить(FileName," ","%20" );
   __ =  стрзаменить(__,"\","/" );
   возврат "file:/" + "/localhost/"+__;
   
КонецФункции

Закладки из документа он получает, но при нажатии на кнопку печать не выводит сам документ в отдельное окно, не открывает его, я пока не знаю как это сделать,если не трудно, помогите пожалуйста.
1 Карась
 
27.07.12
12:36
надо сделать что-то наподобие
Sheet = Sheets.OleFunction("getByName", “Sheet1”);

Cell = Sheet.OleFunction("getCellByPosition", 0, 0);

Но это именно для OO ,не из 1с, и для calc, может кто-то знает, как это сделать именно для OO writer?
2 Карась
 
27.07.12
12:37
Как сделать  Sheet = Sheets.OleFunction("getByName", “Sheet1”);
я поняла, а как именно Cell = Sheet.OleFunction("getCellByPosition", 0, 0); пока не знаю...
3 v4442
 
27.07.12
12:41
Какая версия Open Office ?
Обновили на 3.4 и перестал открывать Open Office из 1с, вернули на 3.3.
Есть кто заполнят документ Open Office 3.4  из 1с V77?
4 Карась
 
27.07.12
12:46
Версию OO посмотрю.
У нас стоит восьмерка уже, подобных задач на 7.7 никто не делал мне дали делать все с нуля,я пока создала файлик для тренировки и пытаюсь открыть документ, раньше таких задач не решала к сожалению
5 Карась
 
27.07.12
12:47
Версия 3.3
6 Карась
 
27.07.12
12:49
Но мне кажется я что-то в коде записать забыла
7 Карась
 
27.07.12
13:15
http://forum-1c.ru/index.php?topic=6981.0
нашла вариант, но мне кажется, что это не совсем то
8 Карась
 
27.07.12
14:32
Попробовала еще
Document.getCurrentController().getFrame().getContainerWindow().GetVisible = Истина;
Но опять без результатов, честно я уже в растерянности(((
9 Карась
 
27.07.12
14:36
Ура-ура получилось))))
Document.getCurrentController().getFrame().getContainerWindow().setVisible(Истина);
10 Карась
 
27.07.12
15:21
А как мне теперь из реквизита документа в эту закладку текст передать?
11 Карась
 
27.07.12
15:51
Идея появилась,

Стр=Элементы.(вот здесь надо обратиться к тексту реквизита);
       
Закладки=Стр.Наименование;
Курсор.gotoRange(Якорь, 0);
Текст.insertString(Курсор, ""+Закладки+"""", 0 );
12 Карась
 
27.07.12
15:58
Не запросом же мне это получать
13 Карась
 
27.07.12
16:13
И снова вышло урааа)))
Закладки=Объект.Наименование;
Курсор.gotoRange(Якорь, 0);
Текст.insertString(Курсор, ""+Закладки+"", 0 );
14 xantimans
 
27.07.12
16:25
15 EasyRider
 
27.07.12
16:31
Тема больше похожа на блог
16 Карась
 
27.07.12
17:30
Я сама уже когда тут отписывалась, думала, что как то это странно со стороны выглядит)))Но мне так нравилось)))
xantimans
Я не думаю, что мой уровень квалификации Вам подходит ,Вам будет нужен программист по опытнее меня)
17 Voronve
 
27.07.12
17:35
Тетка у тя мч то есть ?
18 xantimans
 
27.07.12
17:39
(16) опыт дело наживное, мне просто понравился ваш блог, ищу в коллеги неординарного человека
19 Карась
 
27.07.12
17:44
Я студентка, поэтому не смогу работать целый день и в 1с я месяц,но спасибо за предложение)
20 Карась
 
27.07.12
17:45
Если мч - молодой человек, то я замужем)
21 Voronve
 
27.07.12
17:46
(20) Видать муж у тебя кремень ;)
22 Карась
 
27.07.12
17:46
Почему?))
23 xantimans
 
27.07.12
17:49
(22) не ведитесь на троллей
24 Карась
 
27.07.12
17:51
Да я  не на кого и не ведусь.
25 Карась
 
27.07.12
17:56
Просто наконец получила моральное удовлетворение от сделанной работы и очень рада этому)
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс