Имя: Пароль:
1C
 
Работа с Active document
0 an_str
 
19.12.14
11:44
Подскажите, пожалуйста, как вывести в цикле макет в одном документе Word, для каждого сотрудника с новой страницы. Печатаю форму из документа "Кадровое перемещение организаций", для одного сотрудника все гуд, а вот когда их несколько - выводится только на одного.

Макет = ПолучитьМакет("Макет2");
    MSWord = Макет.Получить();
    MSWord.Content.Copy();
    
    //ВыборкаДляШапки = СформироватьЗапросДляПечати("ПоРеквизитамДокумента").Выбрать();
    ВыборкаРаботники = СформироватьЗапросДляПечати("ПоТабличнойЧастиДокумента").Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
    Пока ВыборкаРаботники.Следующий() Цикл
        
        ВложеннаяВыборка = ВыборкаРаботники.Выбрать();
        ВложеннаяВыборка.Следующий();
        
        Попытка
            Документ= MSWord.Range(0,0);
            Документ.Paste();
            Документ = MSWord.Application.Documents(1);
            Документ.Activate();
            
            // Получить объект, который будем использовать для поиска и замены.
            Замена = Документ.Content.Find;

            // Заменить заранее определенные ключевые конструкции на требуемый текст.
            Замена.Execute("#НомерДоговора"        , Ложь, Истина, Ложь, , , Истина, , Ложь, СокрЛП(ВложеннаяВыборка.НомерДоговора), 2);
            //Замена.Execute("#ДатаДоговора"        , Ложь, Истина, Ложь, , , Истина, , Ложь, Формат(СсылкаНаОбъект.Дата, "ДФ='дд ММММ гггг'") + "г.", 2);
          //......

            MSWord.Application.Visible = Истина;                        
            MSWord.Activate();
            

        Исключение
            // Если произойдет ошибка, выводятся данные об ошибке и объект закрывается.
            Сообщить(ОписаниеОшибки());
            MSWord.Application.Quit();
        КонецПопытки;
    КонецЦикла;
1 dk
 
19.12.14
11:57
делай 1 документ на 1 сотрудника
копируешь на 2-й документ и вставляешь разрыв страницы
2 an_str
 
19.12.14
11:59
(1) а кодом приблизительно как это должно выглядеть?
3 dk
 
19.12.14
12:37
есть куча приблизительных примеров в поиске
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший