Добрый день! Пытаюсь объединить 2 внешние печатные формы в одну, т.е. чтобы при нажатии один раз печать, выводились сразу два макета. Печатные формы объединил, а вот при выводе последняя замещает первую. Формы управляемые.
---
```1c
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетФактураВыданный1137ПечатьВВалюте") Тогда
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Вывести(СформироватьПечатнуюФормуСчетФактура(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
    ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
    ТабДок.Вывести(СформироватьПечатнуюФормуТОРГ12(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СчетФактураВыданный1137ПечатьВВалюте", "Счет-фактура", ТабДок);
    КонецЕсли;
```
---
показывай как выводишь.
---
печатные формы или табличные документы?
---
у одной внешней обработки необходимо вывести 2 макета. чтобы они друг друга не закрывали
---
скрин как сейчас выводится ?
---
Выводится один макет, т.е. последний, первый как я понимаю выводится, но его замещает второй, а надо чтобы два макета выводились.
---
```1c
    Новы ТабличныйДокумент
```
 Должно быть 1 раз
---
```1c
    КоллекцияПечатныхФорм2 = КоллекцияПечатныхФорм;
    СтруктураТипов = ОбщегоНазначенияУТ.СоответствиеМассивовПоТипамОбъектов(МассивОбъектов);
    ПараметрыПечати = Новый Структура;
    ПараметрыПечати.Вставить("ВыводитьУслуги",Ложь);

    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПечатьТорг-12_СФ") Тогда
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПечатьТорг-12_СФ", "ТОРГ-12 (Товарная накладная" + ?(ПараметрыПечати["ВыводитьУслуги"], ", " без услуг") + ")", СформироватьПечатнуюФормуТОРГ12(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
    КонецЕсли;

    ФормированиеПечатныхФорм.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, СтруктураТипов, КоллекцияПечатныхФорм);
```

В процедуре Печать() Дважды вывожу данные строки, для второй свои вставки вывода.
---
можно попробовать в СформироватьПечатнуюФормуТОРГ12 в конце добавить ВывестиГоризонтальныйРазделительСтраниц()
---
```1c
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетФактураВыданный1137ПечатьВВалюте") Тогда
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СчетФактураВыданный1137ПечатьВВалюте", "Счет-фактура", СформироватьПечатнуюФормуСчетФактура(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
    КонецЕсли;
    СформироватьПечатнуюФормуТОРГ12(СтруктураТипов, ОбъектыПечати, ПараметрыПечати)
```

Сделал он даже ТОРГ12 не вывел, а вывел СФ.
---
сюда СформироватьПечатнуюФормуСчетФактура тоже надо ВывестиГоризонтальныйРазделительСтраниц()
---
ВывестиГоризонтальныйРазделительСтраниц() не находит такой процедуры.
---
это метод табличного документа
---
```1c
    Табл = СформироватьПечатнуюФормуСчетФактура(СтруктураТипов, ОбъектыПечати, ПараметрыПечати);
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СчетФактураВыданный1137ПечатьВВалюте", "Счет-фактура", Табл);

    Табл.ВывестиГоризонтальныйРазделительСтраниц();
    СформироватьПечатнуюФормуТОРГ12(СтруктураТипов, ОбъектыПечати, ПараметрыПечати);
```

Сделал выводит только макет СФ
---
а мой вариант попробовали?
---
Да спасибо огромное отработало)
---
Подскажи пожалуйста, а как сделать чтобы печатные формы открывались отдельно?
---
выведи их отдельно тогда сначала одну, потому вторую.
---
Я понимаю что надо отдельно, только как?)
---
```1c
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетФактураВыданный1137ПечатьВВалюте") Тогда
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Вывести(СформироватьПечатнуюФормуСчетФактура(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
    ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
    ТабДок.Вывести(СформироватьПечатнуюФормуТОРГ12(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СчетФактураВыданный1137ПечатьВВалюте", "Счет-фактура", ТабДок);
    КонецЕсли;
```
---
спасибо из 2023-го)
---
ТабДок = Новый ТабличныйДокумент;
        ТабДок.Вывести(СформироватьПечатнуюФормуСчетФактура(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
        ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        ТабДок.Вывести(СформироватьПечатнуюФормуТОРГ12(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СчетФактураВыданный1137ПечатьВВалюте", "Счет-фактура", ТабДок);

А если сложилось так, что нужно одновременно печатать два табличных документа. В одном Масштаб печати 100, а в другом 101:

```1c
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПриемНаРаботу") Тогда
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Вывести(ПечатьДокументов(МассивОбъектов[0], "ПриемНаРаботу"));
    ТабДок.МасштабПечати = 100;
    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПриемНаРаботу", "Уведомление при приеме на работу", ТабДок);

    Если ТЗд.Количество() > 0 Тогда
    Сообщить(" + ТЗд.Количество());
    ТабДокДоп = Новый ТабличныйДокумент;
    ТабДокДоп.Вывести(ПечатьДокументов(МассивОбъектов[0], "ПриемНаРаботуДоп"));
    ТабДокДоп.МасштабПечати = 101;

    УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПриемНаРаботуДоп", "Прием на работу Дополнение", ТабДокДоп);
    КонецЕсли;
    КонецЕсли;
```

Пробовала так, но печатает только первый табличный документ, хотя данные для второго есть

Что-то не то я делаю. Подскажите кто чем может...
---
Думаю, у Вас так ничего не получится. Выводя документы в коллекцию, мы на выходе всё равно получаем один MXL, содержащий все документы. Так что Вы ограничены возможностями многострочных MXL.
Поэтому, первый документ выводится, как обычно.
Второй и последующие - могут, к примеру, поменять ширины столбцов для своих строк - но на этом всё (более того, обратите внимание: особая ширина строк должна быть явным образом предусмотрена в макете, иначе очередной документ получит те же ширины столбцов, что и у первого документа).
Если очередной документ содержит параметры, не совпадающие с первым - он будет пропущен.

В Вашем же случае придётся забыть про штатный механизм и посмотреть в сторону составных PDF.
Вот пример из 1С:ИТС, его используйте как отправную точку:

Код для формирования и печати составного PDF
```1c
    // Создаем пакет
    Пакет = Новый ПакетОтображаемыхДокументов;
    // Документы, находящиеся в этом пакете, печатаются в 5 экземплярах
    Пакет.КоличествоЭкземпляров = 5;
    // Добавляем документы в пакет
    ЭлементПакета1 = Пакет.Состав.Добавить();
    ЭлементПакета1.Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент1, УникальныйИдентификатор);
    ЭлементПакета2 = Пакет.Состав.Добавить();
    ЭлементПакета2.Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент2, УникальныйИдентификатор);
    // Добавляем вложенный пакет для третьего документа
    ВложенныйПакет = Новый ПакетОтображаемыхДокументов;
    ЭлементПакета3 = Пакет.Состав.Добавить();
    ЭлементПакета3.Данные = ВложенныйПакет;
    // Документ во вложенном пакете печатается в 2 экземплярах
    ВложенныйПакет.КоличествоЭкземпляров = 2;
    // Добавляем документ во вложенный пакет
    ЭлементВложенногоПакета1 = ВложенныйПакет.Состав.Добавить();
    ЭлементВложенногоПакета1.Данные = ПоместитьВоВременноеХранилище(ТабличныйДокумент3, УникальныйИдентификатор);
    // Печатаем пакет
    Пакет.Напечатать();
```