|
Работа с 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
|
есть куча приблизительных примеров в поиске
|
| Форум | Правила | Описание | Секции | Поиск |