Программно заполнить и вывести печатную форму документа

1. Mirared 12.08.17 22:05 Сейчас в теме
Доброго времени суток!

Не судите строго, в разработке новичок. Прошу помочь в решении следующей задачи.
Конфигурация БП 3.0. Создан новый документ. Из него (по кнопке) необходимо создать документ "Счет на оплату покупателю" и вывести его на печать.
С созданием управилась. Но вот как подойти к печати - что-то запуталась совсем. Подскажите, пожалуйста. Может быть пример какой-то есть?

Спасибо за помощь!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. alxarz 31 12.08.17 22:19 Сейчас в теме
в журнале счетов наверняка есть кнопка печать - вот посмотреть, что там вызывается чтобы напечатать документ
3. Mirared 12.08.17 22:22 Сейчас в теме
(2) пыталась разобраться. Но навыков еще мало, запуталась. К тому же, управляемые формы... Тяжело даются, откровенно говоря. Попробую еще порыться.
5. Dream_kz 129 13.08.17 15:00 Сейчас в теме
(3) В модуле менеджера документа есть метод Печать()
6. Mirared 13.08.17 15:44 Сейчас в теме
(5) а как мне к нему обратиться? из другого документа
4. Mirared 13.08.17 12:35 Сейчас в теме
7. cassper 13.08.17 17:03 Сейчас в теме
На примере УТ11 пишу.
КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("СчетНаОплату");
ОбъектыПечати = Новый СписокЗначений;
ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
МассивОбъектов = Новый Массив();
МассивОбъектов.Добавить(СчетНаОплатуСсылка); // Сюда нужно передать ссылку документ "Счет на оплату", который вы создаете

ПараметрыПечати = Новый Структура;

Обработки.ПечатьСчетовНаОплату.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);

ТабДок = КоллекцияПечатныхФорм[0].ТабличныйДокумент;

// Дальше с этим ТабДок можно делать, что угодно, например, Показать()
ТабДок.Показать();
Показать


Писал по памяти. не проверял работоспособность
jun-ko; Tigriss; +2 Ответить
8. Mirared 13.08.17 17:10 Сейчас в теме
(7) спасибо за пример! Сейчас попробую
10. cassper 13.08.17 23:50 Сейчас в теме
(8) Продолжая свою тему (9), чтобы при этом использовать типовую форму просмотра и печати документов (общая форма "ПечатьДокументов"), то можно вызвать сначала с клиента формирование печатной формы, затем вернуть на клиент данные и с клиента уже вызвать форму печати документов.

Результат может выглядеть следующим образом:


&НаКлиенте
Процедура КомандаПечати(Команда)
	
	ПечатьЧужойФормы(Счет);
	
КонецПроцедуры

&НаКлиенте
Процедура ПечатьЧужойФормы(СчетНаОплатуСсылка)
	
	ОбъектыПечати = Новый СписокЗначений;
	
	МассивПечатныхФорм = ПечатьЧужойФормыНаСервере(СчетНаОплатуСсылка, ОбъектыПечати);
	
	УправлениеПечатьюКлиент.ПечатьДокументов(МассивПечатныхФорм, ОбъектыПечати, ЭтаФорма);
	
КонецПроцедуры

&НаСервереБезКонтекста
Функция ПечатьЧужойФормыНаСервере(СчетНаОплатуСсылка, ОбъектыПечати)
	КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("СчетЗаказ");
	
	ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
	
	МассивОбъектов = Новый Массив();
	МассивОбъектов.Добавить(СчетНаОплатуСсылка); // Сюда нужно передать ссылку документ "Счет на оплату", который вы создаете
	
	ПараметрыПечати = Новый Структура;
	
	Обработки.ПечатьСчетаНаОплату.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
	
	МассивПечатныхФорм = ОбщегоНазначения.ТаблицаЗначенийВМассив(КоллекцияПечатныхФорм);
	
	Возврат МассивПечатныхФорм;
	
КонецФункции
Показать
vladnet; ivangrant; +2 Ответить
13. user1867505 17.01.23 11:53 Сейчас в теме
(7)Здравствуйте, подскажите, а что вы указываете в КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("СчетНаОплату");

"СчетНаОплату" - это что будет? название макета?
14. cassper 17.01.23 20:05 Сейчас в теме
9. cassper 13.08.17 17:11 Сейчас в теме
пример для последней БП3.0:

КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("СчетПокупателю");
ОбъектыПечати = Новый СписокЗначений;
ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
МассивОбъектов = Новый Массив();
МассивОбъектов.Добавить(СчетНаОплатуСсылка); // Сюда нужно передать ссылку документ "Счет на оплату", который вы создаете

ПараметрыПечати = Новый Структура;

Обработки.ПечатьСчетаНаОплату.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);

ТабДок = КоллекцияПечатныхФорм[0].ТабличныйДокумент;

// Дальше с этим ТабДок можно делать, что угодно, например, Показать()
ТабДок.Показать();
Показать
dunaev.anton; +1 Ответить
11. nemiroff_57 22.08.20 18:09 Сейчас в теме
(9) А вы не подскажете как в этом случае еще и вывести факсимильные подпись и печать?
12. user803762 10.03.21 14:37 Сейчас в теме
(11) УправлениеПечатьюБП.ДобавитьФаксимилеВФоне(ТабДок, СчетНаОплатуСсылка);
DesertPunk; one_strannik; e][tend; klaus38; +4 Ответить
15. e][tend 17.01.23 23:29 Сейчас в теме
(12)
УправлениеПечатьюБП

Уважаемый, спасибо огромное, именно ваш ответ помог решить проблему.
Вроде и изучил этот модуль пока искал решение, но именно за эту процедурку глаз не зацепился.
Оставьте свое сообщение

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