Имя: Пароль:
1C
 
Перевод СКД во внешнюю печатную форму Розница 3.0
0 SockSese
 
26.02.24
16:39
Создал отчет СКД теперь нужно его перенести во внешнюю печатную форму документа, чтобы печать вызывалась через типовую кнопку.
Не могу понять принцип действия, прошу помощи или примера
1 takefive
 
27.02.24
09:20
Функция СведенияОВнешнейОбработке() Экспорт
	ВерсияБиблиотеки = СтандартныеПодсистемыСервер. ВерсияБиблиотеки();
	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(ВерсияБиблиотеки);
	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
	ПараметрыРегистрации.Версия = ПолучитьВерсию();
	
	МетаданныеОбъекта = ЭтотОбъект.Метаданные();
	ПараметрыРегистрации.Наименование = МетаданныеОбъекта.Синоним;
	ПараметрыРегистрации.Информация = МетаданныеОбъекта.Комментарий;
	
	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
	НоваяКоманда.ПоказыватьОповещение = Истина;
	НоваяКоманда.Идентификатор = МетаданныеОбъекта.Имя;
	НоваяКоманда.Представление = МетаданныеОбъекта.Синоним;
	
	Возврат ПараметрыРегистрации;
КонецФункции
2 takefive
 
27.02.24
09:20
Да, еще:
ПараметрыРегистрации.Назначение.Добавить("Документ.<ИмяДокумента>");
3 Климов Сергей
 
27.02.24
09:20
(0) Маленькая поправка к (1):
1) Для печатной формы применяется другой вид обработки.
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
2) В модуле объекта должна быть определена процедура Печать(). Примерно такая:

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