Имя: Пароль:
1C
1С v8
Групповая запись в один Word-овский файл
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
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn