Пример простой печатной формы
Модуль объекта
////////////////////////////////////////////////////////////////////
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Документ.СБ_ВыпускПродукции");
ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "Перемещение");
ПараметрыРегистрации.Вставить("Версия", "3.0");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Информация", "Перемещение");
ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, //ТаблицаКоманд
"Перемещение", //Представление
"ВыпускПродукцииПеремещение", //Идентификатор
"ВызовСерверногоМетода", //Использование
Истина); //ПоказыватьОповещение
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
Возврат ПараметрыРегистрации;
КонецФункции
Функция ПолучитьТаблицуКоманд()
Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;
КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
////////////////////////////////////////////////////////////////////
// Интерфейс для выполнения команд обработки.
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
//ПараметрыВывода.ДоступнаПечатьПоКомплектно = Истина;
Если УправлениеПечатью.НужноПечататьМакет(КоллекцияПечатныхФорм, "ВыпускПродукцииПеремещение") Тогда
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм,
"ВыпускПродукцииПеремещение", "Перемещение",
ПечатьНакладных(МассивОбъектов, ОбъектыПечати));
КонецЕсли;
КонецПроцедуры
Функция ПечатьНакладных(МассивОбъектов, ОбъектыПечати) Экспорт
ТабДокумент = Новый ТабличныйДокумент;
// Зададим параметры макета
//ТабДокумент.ПолеСверху = 0;
//ТабДокумент.ПолеСлева = 0;
//ТабДокумент.ПолеСнизу = 0;
//ТабДокумент.ПолеСправа = 0;
ТабДокумент.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
// ТабДокумент.ИмяПараметровПечати = "ПАРАМЕТРЫ_ПЕЧАТИ_ВыпускПродукции_ЗаборныйЛист";
ПервыйДокумент = Истина;
Для Индекс = 0 По МассивОбъектов.Количество()-1 Цикл
Если Не ПервыйДокумент Тогда
ТабДокумент.ВывестиГоризонтальныйРазделительСтраниц();
КонецЕсли;
ПервыйДокумент = Ложь;
// Запомним номер строки, с которой начали выводить текущий документ.
НомерСтрокиНачало = ТабДокумент.ВысотаТаблицы + 1;
СсылкаНаОбъект = МассивОбъектов[Индекс];
//...... Формирование табличного документа .......................//
// В табличном документе зададим имя области, в которую был
// выведен объект. Нужно для возможности печати покомплектно.
УправлениеПечатью.ЗадатьОбластьПечатиДокумента(ТабДокумент,
НомерСтрокиНачало, ОбъектыПечати, СсылкаНаОбъект);
КонецЦикла;
Возврат ТабДокумент;
КонецФункции
Форма для тестирования
&НаСервере
Процедура КнопкаВыполнитьНаСервере()
Если Объект.СсылкаНаОбъект = Документы.СБ_ВыпускПродукции.ПустаяСсылка() Тогда
Возврат;
КонецЕсли;
МассивОбъектов = Новый Массив;
МассивОбъектов.Добавить(Объект.СсылкаНаОбъект);
ОбъектыПечати = Неопределено;
ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм("ВыпускПродукцииПеремещение");
ДанныеФормы = РеквизитФормыВЗначение("Объект");
Результат = ДанныеФормы.ПечатьНакладных(МассивОбъектов, ОбъектыПечати);
ЗначениеВРеквизитФормы(ДанныеФормы, "Объект");
КонецПроцедуры
&НаКлиенте
Процедура КнопкаВыполнить(Команда)
КнопкаВыполнитьНаСервере();
КонецПроцедуры