Это старая версия документа!
Подключение внешней печатной форми в 1С (тонкий клиент)
- Создаем внешнюю обработку
- Добавляем макет
- В МодульОбекта вставляем описание
Функция СведенияОВнешнейОбработке() Экспорт
//сообщим платформе, что перед ней печатная форма
ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("1.0.0.0");
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
//сообщаем, что печатная форма предназначается для определенного документа
МасНазначений = Новый Массив;
МасНазначений.Добавить("Документ.РеализацияТоваровУслуг");
ПараметрыРегистрации.Назначение = МасНазначений;
//определяем наименование, версию и режим безопасности
ПараметрыРегистрации.Наименование = "WA Печать заказа";
ПараметрыРегистрации.Версия = "1.00";
ПараметрыРегистрации.БезопасныйРежим = Ложь;
// добавляем команду
НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = НСтр("ru = 'WA Печать заказа'; uk = 'WA Друк замовлення'");
НоваяКоманда.Идентификатор = "ШаблонМакетаВнешнейПечатнойФормы";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
НоваяКоманда.ПоказыватьОповещение = Истина;
НоваяКоманда.Модификатор = "ПечатьMXL";
Возврат ПараметрыРегистрации;
КонецФункции
Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт
УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ШаблонМакетаВнешнейПечатнойФормы", "WA Печать заказа", СформироватьПечатнуюФорму(МассивОбъектов[0], ОбъектыПечати, ПараметрыВывода));
КонецПроцедуры
Функция СформироватьПечатнуюФорму(СсылкаНаДокумент, ОбъектыПечати, ПараметрыВывода)
//создаем новый табличный документ, задаем его параметры и выбираем созданный нами макет
Табдок = новый ТабличныйДокумент;
Табдок.ИмяПараметровПечати = "ПараметрыПечати";
ТабДок.ОриентацияСтраницы = ОриентацияСтраницы.Портрет;
ТабДок.АвтоМасштаб = Истина;
//Формируем макет
МакетОбработки = ПолучитьМакет("ШаблонМакетаВнешнейПечатнойФормы");
Если ТипЗнч(ПараметрыВывода)=Тип("Структура") И ПараметрыВывода.Свойство("КодЯзыкаДляМногоязычныхПечатныхФорм") Тогда
КодЯзыкаПечать = ПараметрыВывода.КодЯзыкаДляМногоязычныхПечатныхФорм;
Иначе
КодЯзыкаПечать = "uk";
КонецЕсли;
МакетОбработки.КодЯзыка = КодЯзыкаПечать;
//выводим области - область макета и заполняем все параметры
ОбластьШапка = МакетОбработки.ПолучитьОбласть("Шапка");
//ОбластьШапка.Параметры.Дата = Формат(ДанныеДляПечатиПоШапке.Дата,"ДФ=dd.MM.yyyy");
Табдок.Вывести(ОбластьШапка);
Возврат табдок;
КонецФункции