Доброе утро всем!

У меня есть отчет, который выводится в ворд с помощью БСП (печатная форма). По новому требованию заказчика необходимо, чтобы этот отчет формировался не для одной фирмы в документе (см. файл Layout), а сразу для нескольких (каждая фирма на новом листе в одном документе) (см. файл Layout2). Подскажите, как такое реализовать с помощью БСП.
---
Зачем ШапкаТаблицаТовары0 и ШапкаТаблицаТовары1? Достаточно ШапкаТаблицаТовары, просто ее выводить для каждой организации. Т.е. тупо цикл по организациям, а внутри цикла вывод содержимого страницы

Здесь же принцип как в обычных печатных формах - одну область можно вывести несколько раз, и следовать они будут не как задано в макете, а как вы их выведет кодом
---
Вот для такого макета

```1c
    {v8 Область.ШапкаТаблицаТовары}
    ....
    {/v8 Область.ШапкаТаблицаТовары}
    {v8 Область.СтрокаТаблицаТовары}
    ....
    {/v8 Область.СтрокаТаблицаТовары}
    {v8 Область.ИтогиТаблицаТовары}
    ....
    {/v8 Область.ИтогиТаблицаТовары}
    {v8 Область.НоваяСтраница}
    ....
    {/v8 Область.НоваяСтраница}
    {v8 Область.Подписал}
    ....
    {/v8 Область.Подписал}
```

нужна своя процедура печати, код примерно такой

```1c
    // Можно одну структуру описания для всех областей
    ОписаниеОбласти = Новый Структура("ИмяОбласти, ТипОбласти");

    ОписаниеОбласти.ИмяОбласти = "ШапкаТаблицаТовары";
    ОписаниеОбласти.ТипОбласти = "СтрокаТаблицы";
    ОбластьШапкаТаблицаТовары = УправлениеПечатью.ОбластьМакета(Макет, ОписаниеОбласти);

    // Аналогично для остальных областей

    Цикл по организациям
    // Заполняем данные шапки (структура)
    УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(Документ, ОбластьШапкаТаблицаТовары , ДанныеШапки);

    // Заполняем данные строк (массив структур)
    УправлениеПечатью.ПрисоединитьИЗаполнитьКоллекцию(Документ, ОбластьСтрокаТаблицаТовары , ДанныеСтрок);

    // Заполняем данные итогов (структура) со вставкой разрыва страницы
    УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(Документ, ОбластьИтогиТаблицаТовары , ДанныеИтогов, Истина);

    УправлениеПечатью.ПрисоединитьОбласть(Документ, ОбластьНоваяСтраница);

    КонецЦикла; // Конец цикла по организациям

    // Заполняем данные подписанта (структура)
    УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(Документ, ОбластьПодписал , ДанныеПодписанта);
```
---
Добавляя разделители страниц после вывода по каждой фирме.
---
Я не совсем понимаю, как это оформить в макете областями, у меня не получается заполнять и создавать новые страницы. Я бы хотел сделать макет, как в файле Layout и с помощью кода создавать новые страницы
---
Сделайте в макете новую область, внутри которой будет разрыв страницы, в коде выводите эту область между выводом областей по организации.
---
Да, я так и сделал, но это какой-то костыль получается, у меня получилась куча одинаковых областей, которые я вызываю в коде. Мне кажется это глупо и должна быть более удобная реализация
---
Зачем куча одинаковых областей, выводите одну область или последовательность разных областей нужное количество раз, подставляя разные параметры. А новые страницы либо заданием признака "вставить разделитель страниц" при выводе области, либо как в (3) - отдельную область с разрывом страниц. "Подписал" можно также отдельной областью оформить.
---
А как вывести? выводите одну область или последовательность разных областей нужное количество раз, подставляя разные параметры

Вот как у меня макет выглядит. Я понимаю, что это не правильно, но не понимаю, как должно быть в коде ...
---
Зачем ШапкаТаблицаТовары0 и ШапкаТаблицаТовары1? Достаточно ШапкаТаблицаТовары, просто ее выводить для каждой организации. Т.е. тупо цикл по организациям, а внутри цикла вывод содержимого страницы

Здесь же принцип как в обычных печатных формах - одну область можно вывести несколько раз, и следовать они будут не как задано в макете, а как вы их выведет кодом
---
Вот для такого макета

```1c
    {v8 Область.ШапкаТаблицаТовары}
    ....
    {/v8 Область.ШапкаТаблицаТовары}
    {v8 Область.СтрокаТаблицаТовары}
    ....
    {/v8 Область.СтрокаТаблицаТовары}
    {v8 Область.ИтогиТаблицаТовары}
    ....
    {/v8 Область.ИтогиТаблицаТовары}
    {v8 Область.НоваяСтраница}
    ....
    {/v8 Область.НоваяСтраница}
    {v8 Область.Подписал}
    ....
    {/v8 Область.Подписал}
```

нужна своя процедура печати, код примерно такой

```1c
    // Можно одну структуру описания для всех областей
    ОписаниеОбласти = Новый Структура("ИмяОбласти, ТипОбласти");

    ОписаниеОбласти.ИмяОбласти = "ШапкаТаблицаТовары";
    ОписаниеОбласти.ТипОбласти = "СтрокаТаблицы";
    ОбластьШапкаТаблицаТовары = УправлениеПечатью.ОбластьМакета(Макет, ОписаниеОбласти);

    // Аналогично для остальных областей

    Цикл по организациям
    // Заполняем данные шапки (структура)
    УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(Документ, ОбластьШапкаТаблицаТовары , ДанныеШапки);

    // Заполняем данные строк (массив структур)
    УправлениеПечатью.ПрисоединитьИЗаполнитьКоллекцию(Документ, ОбластьСтрокаТаблицаТовары , ДанныеСтрок);

    // Заполняем данные итогов (структура) со вставкой разрыва страницы
    УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(Документ, ОбластьИтогиТаблицаТовары , ДанныеИтогов, Истина);

    УправлениеПечатью.ПрисоединитьОбласть(Документ, ОбластьНоваяСтраница);

    КонецЦикла; // Конец цикла по организациям

    // Заполняем данные подписанта (структура)
    УправлениеПечатью.ПрисоединитьОбластьИЗаполнитьПараметры(Документ, ОбластьПодписал , ДанныеПодписанта);
```