Создание печатной формы в управляемом приложении

Версия для печатиPDF-версия

Платформа:

Добрый вечер! можно проконсультироваться, как создать внешнюю печатную форму для Управление торговлей, редакция 11.1 (11.1.6.17) С чего начать? Раньше при выборе создания чего либо, можно было выбрать создание печатной формы. а теперь этого нет . Предлагаеться создание внешней обработки. Что выбрать и с чего начать?   

Для начала создаёте внешнюю обработку. В модуле объекта обработки необходимо создать экспортную процедуру Печать, в которой формируется печатная форма, и экспортную функцию СведенияОВнешнейОбработке, которая возвращает структуру, содержащую сведения о внешней печатной форме. Структура должна содержать следующие ключи:
  • Наименование – наименование печатной формы.
  • Вид – вид обработки ("ПечатнаяФорма").
  • Назначение - массив строк имен объектов метаданных в формате: <ИмяКлассаОбъектаМетаданного>.[ * | <ИмяОбъектаМетаданных>]. Например, "Документ.РеализацияТоваровУслуг".
  • Информация - краткая информация по обработке, описание обработки.
  • Версия  - информация о версии обработки
  • Безопасный режим – отвечает за то, должна ли обработка выполняться учитывая права пользователя. Если поставить значение «Ложь», то обработка будет выполняться без учета ограничений прав (как под полными правами).
  • Команды – таблица значений, в которой перечисляются используемые команды. Колонки таблицы значений:
    • Идентификатор – идентификатор команды;
    • Представление – представление команды в пользовательском интерфейсе;
    • Модификатор -  дополнительный модификатор команды ("ПечатьMXL");
    • ПоказыватьОповещение – окно оповещение будет появляться перед началом и после окончание выполнения;
    • Использование – режим запуска обработки ("ВызовСерверногоМетода").

Пример процедуры Печать и функции СведенияОВнешнейОбработке (сама печатная форма формируется в функции ПечатьДокумента):

// Процедура Печать()
//
// ВХОДЯЩИЕ:
//   ИменаМакетов    - Строка    - Имена макетов, перечисленные через запятую
//   МассивОбъектов  - Массив    - Массив ссылок на объекты которые нужно распечатать
//   ПараметрыПечати - Структура - Структура дополнительных параметров печати
//
// ИСХОДЯЩИЕ:
//   КоллекцияПечатныхФорм - Таблица значений - Сформированные табличные документы
//   ПараметрыВывода       - Структура        - Параметры сформированных табличных документов
//
Процедура Печать(МассивОбъектов, ПараметрыПечати, 
	КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт

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

// Функция СведенияОВнешнейОбработке()
Функция СведенияОВнешнейОбработке() Экспорт

	ПараметрыРегистрации = Новый Структура;
	
	ПараметрыРегистрации.Вставить("Наименование", "Новая внешняя печатная форма");
	ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
	ПараметрыРегистрации.Вставить("Информация", "Любая дополнительная информация");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
	ПараметрыРегистрации.Вставить("Версия", "1.0");

	МассивНазначений = Новый Массив;
	МассивНазначений.Добавить("Документ.РеализацияТоваровУслуг");
	ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
	
	тзКоманды = Новый ТаблицаЗначений;
	тзКоманды.Колонки.Добавить("Идентификатор");
	тзКоманды.Колонки.Добавить("Представление");
	тзКоманды.Колонки.Добавить("Модификатор");
	тзКоманды.Колонки.Добавить("ПоказыватьОповещение");
	тзКоманды.Колонки.Добавить("Использование");

	строкаКоманды = тзКоманды.Добавить();
	строкаКоманды.Идентификатор = "Идентификатор1";
	строкаКоманды.Представление = "Печать внешней печатной формы";
	строкаКоманды.Модификатор = "ПечатьMXL";
	строкаКоманды.ПоказыватьОповещение = Истина;
	строкаКоманды.Использование = "ВызовСерверногоМетода";

	ПараметрыРегистрации.Вставить("Команды", тзКоманды);

	Возврат ПараметрыРегистрации;

КонецФункции

Спасибо большое :)

добрый день! Написала внешнюю обработку. Спасибо что помогли. Но при подключении у меня вы водит ошибку "Невозможно подключить дополнительную обработку из файла возможно она не походит для этой версий программы . Техническая информация неверное имя колонки" хотя все делала по образцу макета Расходной накладной  

Можете прикрепить обработку?

Прикреплённые файлы: 

У Вас в наименованиях колонок таблицы команд были лишние пробелы (Функция ПолучитьТаблицуКоманд()).