Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Печать документов по шаблогу Word, используя Open Office? (http://forums.kuban.ru/f1040/pechat-_dokumentov_po_shablogu_word_ispol-zuya_open_office-3535764.html)

romba 11.01.2013 16:56

Печать документов по шаблогу Word, используя Open Office?
 
Народ, подскажите как быть. В v8 часть печатных форм имеют шаблон в Word. Печать документа идет примерно вот так:
MSWord = Новый COMОбъект("Word.Application");
НовыйДокумент = MSWord .Documents.Add(ПутьКШаблону);
...
Замена(НовыйДокумент,"<<Фирма>>",ПолнИмяОрг);
...
MSWord.Application.Visible = Истина;
MSWord.Activate();

Теперь Word заменили на Open Office, и печати настал "привет".
Можно ли в этой ситуации как-то подружить 1С, шаблоны Word и Open Office?

Uho 11.01.2013 17:06

глянь подсистему Печать в БСП на ИТС

shotsdv2008 14.01.2013 08:10

Вот сюда ещё глянь. Прога бесплатная.
[url]http://etersoft.ru/products/unioffice[/url]

Самарочка 14.01.2013 12:31

можно...

ШаблонДоговора = ПолучитьМакет(ИмяМакета);
ИмяФайла = КаталогВременныхФайлов()+ИмяМакета+".doc";
ФайлШаблона = Новый Файл(ИмяФайла);
Если ФайлШаблона.Существует() тогда
ФайлШаблона.УстановитьТолькоЧтение(ложь);
КонецЕсли;
ШаблонДоговора.Записать(ИмяФайла);
ФайлШаблона.УстановитьТолькоЧтение(Истина);

ServiceManager = Новый COMОбъект("com.sun.star.ServiceManager");
Reflection = ServiceManager.createInstance("com.sun.star.reflection.CoreReflection");
Desktop = ServiceManager.createInstance("com.sun.star.frame.Desktop");

Args = Новый COMSafeArray("VT_DISPATCH", 1);
OOДокумент = Desktop.loadComponentFromURL(ПреобразоватьВURL(ИмяФайла), "_blank", 0, Args);

Попытка

OOЗамена = OOДокумент.CreateReplaceDescriptor();
Для каждого СтрокаПараметров Из ТаблицаПараметров Цикл
// Заменить заранее определенные ключевые конструкции на требуемый текст.
OOЗамена.SearchString = "["+СтрокаПараметров.Имя+"]";
OOЗамена.ReplaceString = СтрокаПараметров.Значение;
OOДокумент.ReplaceAll(OOЗамена);
КонецЦикла;
OOДокумент.getCurrentController().getFrame().getContainerWindow().setFocus();

Исключение
Предупреждение(ОписаниеОшибки());
КонецПопытки;


Текущее время: 17:00. Часовой пояс GMT +3.