0
ares
08.10.13
✎
16:38
|
Исходные данные:
Платформа 8.2.18
При печати обьекта есть шаблон Word (хотите как двоичный, хотите как ActiveDocument), по данным объекта печать идет на 2 страницы, первая портрет, вторая ланшафт. Все хорошо, все отлично.
Однако когда кол-во объектов возрасло в тысячи, возникла необходимость вывода на печать одного большого файла т.е. ко-во объектов * 2 = кол-во страниц.
Погуглил, нашел несолько аналогов, но они основаны на методе Paste или PasteAndFormat, но они копируют только ТЕКСТ, формат страницы не копируют. Т.е. текст 2 страницы копируется на портрет.
Вот ближайший код к решению, но может быть и тупик((
// Объект Microsoft Word из макета
ОбъектВорд = ПолучитьМакет("Макет").Получить();
// Документ из объекта и его активация
Документ = ОбъектВорд.Application.Documents(1);
Документ.Activate();
// Выборка данных
Выборка = ОбъектВорд.Application.Selection;
// Создание разделов
Выборка.Find.Text ="[НомерАкта]"; //Нахожу первый раздел
Выборка.Find.Forward =1;
Выборка.Find.Wrap =1;
Выборка.Find.Execute();
НашлиРазделы = Выборка.Find.Found;
Если НашлиРазделы Тогда
Выборка.MoveUp(4,1);
Выборка.MoveDown(4,7,1);
Выборка.Copy(); //Копирую весь раздел
Для СчетчикЦикла = 1 По 2 Цикл
Выборка.PasteAndFormat(0); //В цикле вывожу 2 раза, чтобы потом заполнить
КонецЦикла;
КонецЕсли;
// Вывод документа
ОбъектВорд.Application.Visible = Истина;
ОбъектВорд.Activate();
Мне бы хоть какой ответ, может это вообще невозможно средствами 1С или нормальное описание методов Word
|
|