Имя: Пароль:
1C
1С v8
Текстовый макет
0 GENN
 
20.06.12
19:57
Всем привет!!!

1С:Предприятие 8.2 (8.2.15.310)
Управляемое приложение

Сделал текстовый макет по распечатке договора все печатает,но шрифт обычный как 10 лет из ДОС-овских программ редакторов.
Вопрос:

1. Можно ли сделать что бы договор печатался так же красиво как и из Worda (разным жирным шрифтом с полями и колонтитулами)
2. Можно ли что бы договор печатался не пустой а заполнялись нужные места и как задать в текстовом макете эти поля или области для заполнения?
3. Если в текстовом макете это невозможно то может кто знает другие методы и способы как из 1С 8.2 красиво как в Worde печатать документы(например Договор)?
Заранее спасибо за помощь.
1 Mashinist
 
20.06.12
20:01
Использовать word как шаблон
2 GENN
 
20.06.12
20:06
(1) Хороший ответ. А немножко поподробней
3 Хрущёв
 
20.06.12
23:23
Вот пример кода, может поможет

// получение COM объекта
               MSWord = Новый COMОбъект("Word.Application");
               
               // запись временного файла
               ДвоичныйФайл = МакетПечатнойФормы.АктивныйДокумент.Получить();
               ИмяВременногоФайла = ПолучитьИмяВременногоФайла("doc");
               ДвоичныйФайл.Записать(ИмяВременногоФайла);    
               
               // открытие файла
               Приложение =  MSWord.Application;
               Документ = MSWord.Documents.Open(ИмяВременногоФайла);
               
               // замена параметров
               Для Каждого СтрокаТЧ Из МакетПечатнойФормы.ПараметрыАктивногоДогумента Цикл
                   
                   СтрокаЗамены = Выборка[СтрЗаменить(СтрокаТЧ.ПолеНастройки,".","")];
                   Если ТипЗнч(СтрокаЗамены) = Тип("Дата") Тогда
                       СтрокаЗамены = Формат(СтрокаЗамены,"ДФ=dd.MM.yyyy");
                   Иначе
                       СтрокаЗамены = Строка(СтрокаЗамены);
                   КонецЕсли;    
                               
                   Замена = Документ.Content.Find;
                   Замена.Execute(СтрокаТЧ.ИмяПараметра, Ложь, Истина, Ложь, , , Истина, , Ложь, СтрокаЗамены,2);
                   
               КонецЦикла;    
                       
               // печать/показать
               Если ПечататьНаПринтер Тогда
                   MSWord.Application.PrintOut(,,,,,,,1,,,,,,,,,,,);        
               Иначе
                   MSWord.Application.Visible = Истина;
                   MSWord.Activate();        
               КонецЕсли;
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший