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

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

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

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

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

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

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

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


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

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


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

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

&НаСервереБезКонтекста
Функция ПечатьЧужойФормыНаСервере(СчетНаОплатуСсылка, ОбъектыПечати)
	КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("СчетЗаказ");
	
	ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
	
	МассивОбъектов = Новый Массив();
	МассивОбъектов.Добавить(СчетНаОплатуСсылка); // Сюда нужно передать ссылку документ "Счет на оплату", который вы создаете
	
	ПараметрыПечати = Новый Структура;
	
	Обработки.ПечатьСчетаНаОплату.Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода);
	
	МассивПечатныхФорм = ОбщегоНазначения.ТаблицаЗначенийВМассив(КоллекцияПечатныхФорм);
	
	Возврат МассивПечатныхФорм;
	
КонецФункции
Показать
9. Алексей Сипаев (cassper) 13.08.17 17:11 Сейчас в теме
пример для последней БП3.0:

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

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

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

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

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