1. На форме, где должны быть кнопка печати, создаем группу типа «Подменю» (или командную группу) где будет размещаться кнпка печати.
2. Создаем программно кнопку, по нажатию которой должен печататься Табличный документ в модуле формы ПриСозданииНаСервере
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) УправлениеПечатью.ПриСозданииНаСервере(ЭтаФорма, Элементы.КомандыПечать); КонецПроцедуры
3. МодульФормы документа. Обработчик нажатия программно созданной кнопки
&НаКлиенте Процедура Подключаемый_ВыполнитьКомандуПечати(Команда) УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтотОбъект, Объект); КонецПроцедуры
4. Модуль менеджера документа.
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт // Расшифровка платежа КомандаПечати = КомандыПечати.Добавить(); КомандаПечати.Идентификатор = "МакетРасшифровкаПлатежа"; КомандаПечати.Представление = НСтр("ru = 'Расшифровка платежа'"); КомандаПечати.СписокФорм = "ФормаДокумента,ФормаСписка"; КомандаПечати.ПроверкаПроведенияПередПечатью = Ложь; КомандаПечати.ПереопределитьПользовательскиеНастройкиКоличества = Истина; КомандаПечати.МестоРазмещения = "КомандыПечать"; КомандаПечати.Порядок = 1; КонецПроцедуры
Процедура Печать(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт ПараметрыВывода.ДоступнаПечатьПоКомплектно = Ложь; Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "МакетРасшифровкаПлатежа") Тогда УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "МакетРасшифровкаПлатежа", "Расшифровка платежа", ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, "МакетРасшифровкаПлатежа")); КонецЕсли; //Параметры отправки печатных форм по электронной почте УправлениеНебольшойФирмойСервер.ЗаполнитьПараметрыОтправки(ПараметрыВывода.ПараметрыОтправки, МассивОбъектов, КоллекцияПечатныхФорм); КонецПроцедуры
Функция ПечатнаяФорма(МассивОбъектов, ОбъектыПечати, ИмяМакета) Если ИмяМакета = "МакетРасшифровкаПлатежа" Тогда Возврат ПечатьРасшифровкаПлатежа(МассивОбъектов, ОбъектыПечати, ИмяМакета); КонецЕсли; КонецФункции
Функция ПечатьРасшифровкаПлатежа(МассивОбъектов,ОбъектыПечати,ИмяМакета) Экспорт ПервыйДокумент = Истина; ТабличныйДокумент = Новый ТабличныйДокумент; Макет = ПолучитьМакет("МакетРасшифровкаПлатежа"); Для Каждого Документ из МассивОбъектов Цикл //Текст формирования табличного документа ПервыйДокумент = Ложь; КонецЦикла; ТабличныйДокумент.АвтоМасштаб = Истина; Возврат ТабличныйДокумент; КонецФункции