Вывод двух макетов в одной внешней печатной форме

1. midavp 1 21.02.17 14:42 Сейчас в теме
Добрый день! Пытаюсь объединить 2 внешние печатные формы в одну, т.е. чтобы при нажатии один раз печать, выводились сразу два макета. Печатные формы объединил, а вот при выводе последняя замещает первую. Формы управляемые.
По теме из базы знаний
Найденные решения
14. japopov 68 21.02.17 16:05 Сейчас в теме
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетФактураВыданный1137ПечатьВВалюте") Тогда
        ТабДок = Новый ТабличныйДокумент;
        ТабДок.Вывести(СформироватьПечатнуюФормуСчетФактура(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
        ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        ТабДок.Вывести(СформироватьПечатнуюФормуТОРГ12(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СчетФактураВыданный1137ПечатьВВалюте", "Счет-фактура", ТабДок);
    КонецЕсли;
    
Показать
Nykos; ivangrant; YulaySuyundukov; Voyr; noxomb; eaa; dambldore228; alex-l19041; +8 Ответить
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Arax 21.02.17 14:44 Сейчас в теме
(1) показывай как выводишь.
alex-l19041; +1 Ответить
4. Xershi 1479 21.02.17 14:52 Сейчас в теме
(1) печатные формы или табличные документы?
6. midavp 1 21.02.17 15:03 Сейчас в теме
(4) у одной внешней обработки необходимо вывести 2 макета. чтобы они друг друга не закрывали
7. alex-l19041 8 21.02.17 15:12 Сейчас в теме
(6) скрин как сейчас выводится ?

9. midavp 1 21.02.17 15:17 Сейчас в теме
(7)Выводится один макет, т.е. последний, первый как я понимаю выводится, но его замещает второй, а надо чтобы два макета выводились.
3. vovan_victory 63 21.02.17 14:44 Сейчас в теме
Новы ТабличныйДокумент
Должно быть 1 раз
5. midavp 1 21.02.17 14:58 Сейчас в теме
КоллекцияПечатныхФорм2 = КоллекцияПечатныхФорм;
	СтруктураТипов = ОбщегоНазначенияУТ.СоответствиеМассивовПоТипамОбъектов(МассивОбъектов);
	ПараметрыПечати = Новый Структура;
	ПараметрыПечати.Вставить("ВыводитьУслуги",Ложь);
	
	Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ПечатьТорг-12_СФ") Тогда
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ПечатьТорг-12_СФ", "ТОРГ-12 (Товарная накладная" + ?(ПараметрыПечати["ВыводитьУслуги"], "", " без услуг") + ")", СформироватьПечатнуюФормуТОРГ12(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
	КонецЕсли;
	
	
	ФормированиеПечатныхФорм.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, СтруктураТипов, КоллекцияПечатныхФорм);
Показать


В процедуре Печать() Дважды вывожу данные строки, для второй свои вставки вывода.
8. alex-l19041 8 21.02.17 15:15 Сейчас в теме
можно попробовать в СформироватьПечатнуюФормуТОРГ12 в конце добавить ВывестиГоризонтальныйРазделительСтраниц()
vovan_victory; +1 Ответить
10. midavp 1 21.02.17 15:31 Сейчас в теме

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


Сделал он даже ТОРГ12 не вывел, а вывел СФ.
11. alex-l19041 8 21.02.17 15:34 Сейчас в теме
(10) сюда
СформироватьПечатнуюФормуСчетФактура
тоже надо ВывестиГоризонтальныйРазделительСтраниц()
12. midavp 1 21.02.17 15:51 Сейчас в теме
(11)
ВывестиГоризонтальныйРазделительСтраниц()
не находит такой процедуры.
13. alex-l19041 8 21.02.17 16:00 Сейчас в теме
(12) это метод табличного документа
15. midavp 1 21.02.17 16:08 Сейчас в теме
(13)
Табл = СформироватьПечатнуюФормуСчетФактура(СтруктураТипов, ОбъектыПечати, ПараметрыПечати);
		УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СчетФактураВыданный1137ПечатьВВалюте", "Счет-фактура", Табл);
	
	Табл.ВывестиГоризонтальныйРазделительСтраниц();
	СформироватьПечатнуюФормуТОРГ12(СтруктураТипов, ОбъектыПечати, ПараметрыПечати);

Сделал выводит только макет СФ
16. japopov 68 21.02.17 16:10 Сейчас в теме
(15) а мой вариант попробовали?
17. midavp 1 21.02.17 16:20 Сейчас в теме
(16)Да спасибо огромное отработало)
18. midavp 1 27.02.17 16:23 Сейчас в теме
(16)Подскажи пожалуйста, а как сделать чтобы печатные формы открывались отдельно?
19. Xershi 1479 27.02.17 16:31 Сейчас в теме
(18) выведи их отдельно тогда сначала одну, потому вторую.
20. midavp 1 27.02.17 20:56 Сейчас в теме
(19) Я понимаю что надо отдельно, только как?)
14. japopov 68 21.02.17 16:05 Сейчас в теме
    Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "СчетФактураВыданный1137ПечатьВВалюте") Тогда
        ТабДок = Новый ТабличныйДокумент;
        ТабДок.Вывести(СформироватьПечатнуюФормуСчетФактура(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
        ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
        ТабДок.Вывести(СформироватьПечатнуюФормуТОРГ12(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
        УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СчетФактураВыданный1137ПечатьВВалюте", "Счет-фактура", ТабДок);
    КонецЕсли;
    
Показать
Nykos; ivangrant; YulaySuyundukov; Voyr; noxomb; eaa; dambldore228; alex-l19041; +8 Ответить
21. Nykos 20.02.23 00:29 Сейчас в теме
22. OksDallas 22 19.10.23 07:45 Сейчас в теме
(14)
ТабДок = Новый ТабличныйДокумент;
ТабДок.Вывести(СформироватьПечатнуюФормуСчетФактура(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
ТабДок.ВывестиГоризонтальныйРазделительСтраниц();
ТабДок.Вывести(СформироватьПечатнуюФормуТОРГ12(СтруктураТипов, ОбъектыПечати, ПараметрыПечати));
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "СчетФактураВыданный1137ПечатьВВалюте", "Счет-фактура", ТабДок);


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

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


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

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

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

Код для формирования и печати составного PDF
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот