Имя: Пароль:
1C
1С v8
Добавить страницы Word из нескольких макетов Active Document
0 Надмозг
 
21.09.17
15:38
Делаю внешнюю печатную форму на обычных формах.
Есть два макета Active document Word
В зависимости от данных таб части макеты может быть один макет, второй или оба сразу.

Делаю запрос по ТЧ, в выборку попадает одна или две строки.
Вот код для вывода в разные документы Word

        Если ВыборкаДетальныеЗаписи.ПолеТЧ = ЗначениеПоля1 Тогда
            Макет     = ПолучитьМакет("Макет1");
        Иначе
            Макет     = ПолучитьМакет("Макет2");
        КонецЕсли;    
        
        MsWord     = Макет.Получить();
        
        
        Попытка
            MsWord.Application.Visible     = Истина;
            Word                         = MsWord.Application;
            Док                            = Word.Documents(1);
            
            Замена = Док.Content.Find;
            Замена.Execute("<Контрагент>", Ложь, Истина, Ложь, , , Истина, , Ложь, СокрЛП(СсылкаНаОбъект.Контрагент.НаименованиеПолное));
            
            
            ///... и так далее
        Исключение    
            
        КонецПопытки;


Как добавить страницу и заполнить ее по другому макету?
1 Надмозг
 
21.09.17
15:41
Кривовато описал, но думаю, суть должна быть ясна. В печатной форме два макета, нужно заполнить один файл Word из двух макетов на разных страницах
2 Надмозг
 
21.09.17
16:08
По идее, можно создать макет с двумя страницами и одну удалять. Правда, я тоже не знаю, как удалить :)
3 ДядяМитяй
 
21.09.17
17:21
вторую страницу во временный файл, в первом файле "разрыв страницы" и копипастить из временного.
Это для тех, кто как я, не силен в VB ))
4 Вафель
 
21.09.17
17:34
(3) временный файл не нужен. А так все верно
5 Надмозг
 
21.09.17
18:44
(3) (4) Это ясно, но есть небольшая проблема: как этот код написать

Вообще, мне подсказали гениальное решение сделать третий макет, который состоит из двух страниц, и определять, какой макет нужен в данный момент: один из одностраничных или двустраничный. Это не сложно.

Но вообще, интересно, если бы было бы n-ное количество макетов, а не точно один или два
6 Надмозг
 
21.09.17
18:45
+(5) на данный момент проблему решил, но другим способом