Имя: Пароль:
1C
 
УФ Внешняя печатная форма с макетами word
0 bard666
 
25.03.16
14:14
Здравствуйте!
Цель такая - создать внешнюю печатную форму к трудовому договору на упр. формах. Типовой не подходит, менять конфу не хочу. Конфа ЗУП 3.0. Идея - создать внешнюю обработку, припилить как печатную форму. В ней есть макеты ActiveDocument - вордовские файлы с закладками, которые будут заполняться в зависимости от параметров документа.
Затык в том, что заранее не известно какую форму ТД выбрать. Можно ли добавить в обработку форму и открывать её прежде чем формировать табличный док для печати? Не могу найти пример и способ как это сделать.
1 Cyberhawk
 
25.03.16
14:15
Можно.
Документация по подсистеме БСП "Дополнительные отчеты и обработки" на ИТС тебе в помощь
2 zak555
 
25.03.16
14:16
можно создать макет с двоичными данными и туда запихнуть свой макет
3 bard666
 
25.03.16
14:16
(1)Видел такую ссылку, но нет доступа.
4 Cyberhawk
 
25.03.16
14:52
(3) Найди там ссылку-картинку http://its.1c.ru/db/content/aboutits/src/_img/test-drive.png?_=1458220260
и воспользуйся ею
5 bard666
 
25.03.16
18:04
Нашёл как можно сделать, но похоже способ устарел. Или есть ньюансы.

Процедура Печать(ИдентификаторКоманды, МассивОбъектов) Экспорт
    Для каждого Док Из МассивОбъектов Цикл
        Данные = ПолучитьДанные(Док);
        Если данные <> Неопределено Тогда
            Word = Новый COMОбъект("Word.Application");
            Макет = ПолучитьМакетСервер();
            временныйПуть = "D:\";
            имяВременногоФайла = временныйПуть + "пр.doc";
            
                
            Макет.Записать(имяВременногоФайла);
            ТекДок = Word.Documents.ADD(имяВременногоФайла);
                        
            ТекДок.Variables("DogNum").Value = "№" + Данные.DogNum;
            //ТекДок.Variables("orgNameS").Value=Данные.ОргКртако;
            //ТекДок.Variables("DocDate").Value=Данные.Дата;
            //ТекДок.Variables("fio").Value=Данные.ФИО;
            //ТекДок.Variables("orgNameLong").Value=Данные.ОргДлинно;
            
            
            ТекДок.Fields.Update();
            Word.ActiveWindow.View.ShowFieldCodes = False;
            Word.Visible=Истина;
        
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры


Такая процедура в форме. Двоичные данные в макете. При нажатии на печать ничего не показывается, при повторном жмакании говорит Ошибка совместного доступа к файлу. В целевой папке ничего не создается. Стоит win7 2007 офис
6 bard666
 
25.03.16
18:26
Разобрался
7 totparen
 
25.03.16
18:50