Печать документов по шаблогу Word, используя Open Office? Народ, подскажите как быть. В v8 часть печатных форм имеют шаблон в Word. Печать документа идет примерно вот так: MSWord = Новый COMОбъект("Word.Application"); НовыйДокумент = MSWord .Documents.Add(ПутьКШаблону); ... Замена(НовыйДокумент,"<<Фирма>>",ПолнИмяОрг); ... MSWord.Application.Visible = Истина; MSWord.Activate(); Теперь Word заменили на Open Office, и печати настал "привет". Можно ли в этой ситуации как-то подружить 1С, шаблоны Word и Open Office? |
глянь подсистему Печать в БСП на ИТС |
Вот сюда ещё глянь. Прога бесплатная. [url]http://etersoft.ru/products/unioffice[/url] |
можно... ШаблонДоговора = ПолучитьМакет(ИмяМакета); ИмяФайла = КаталогВременныхФайлов()+ИмяМакета+".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. |