Сведения о внешней обработке

navarrow 35 1 4
Функция СведенияОВнешнейОбработке() Экспорт
	Команды = ПолучитьТаблицуКоманд();
	ДобавитьКоманду(Команды, 
					"Приказ об увольненни (внешний)", // представление для пользователя 
					"Макет", // Наименование макет печатной формы 
					"ВызовСерверногоМетода", // указание использования серверного метода
					Истина, // ПоказыватьОповещение 
					"ПечатьMXL"); // Модификатор формы, для печатных форм "ПечатьMXL"
		
	МассивНазначений = Новый Массив;
	МассивНазначений.Добавить("Документ.Увольнение");
		
	ПараметрыРегистрации = Новый Структура;
	ПараметрыРегистрации.Вставить("Вид", "ПечатнаяФорма");
	ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
	ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
	ПараметрыРегистрации.Вставить("Версия", "1.0");
	ПараметрыРегистрации.Вставить("Наименование", "Приказ об увольненни (внешний)");
	ПараметрыРегистрации.Вставить("Информация", "Приказ об увольненни (внешний)");
	Параметрырегистрации.Вставить("Команды", Команды);
		
	Возврат ПараметрыРегистрации;
КонецФункции

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

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

Функция Печать(МассивОбъектов = Неопределено, КоллекцияПечатныхФорм = Неопределено, ОбъектыПечати = Неопределено, ПараметрыВывода = Неопределено) Экспорт
	
	УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(
														КоллекцияПечатныхФорм, // КоллекцияПечатныхФорм 
														"Макет", 
														"Приказ об увольненни (внешний)", 
														ТабличныйДокументПриказОбУвольнении(МассивОбъектов, ПараметрыВывода, ОбъектыПечати)
														);
	
КонецФункции
2
{46} Не все части функции возвращают значение
Орфографическая ошибка в увольненни (найдено 4): увольненни
Орфографическая ошибка в Параметрырегистрации: Параметрырегистрации

Комментарии

Alex Kost
#1, 05 октября 2020 18:30

было же


FastCode
#2, ред. 06 октября 2020 20:17

Михаил Солдатов добавил комментарий в Telegrаm:

В актуальных решениях неправильно так таблицу команд формировать. Надо использовать функционал БСП.

Функция СведенияОВнешнейОбработке() Экспорт
  
  ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(""2.2.3.1"");
  
  ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма();
  ПараметрыРегистрации.Версия = "1.0";
  //ПараметрыРегистрации.Назначение.Добавить("Документ.СписаниеОС");
  ПараметрыРегистрации.БезопасныйРежим = Истина;
  
  ПараметрыРегистрации.Вставить("Информация", НСтр("ru = ''"));
  
  НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
  НоваяКоманда.Представление = НСтр("ru = ''");
  НоваяКоманда.Идентификатор = "";
  НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода();
  НоваяКоманда.ПоказыватьОповещение = Истина;
  НоваяКоманда.Модификатор = "ПечатьMXL";
  
  //Разрешение = РаботаВБезопасномРежиме.РазрешениеНаИспользованиеВнешнейКомпоненты("ОбщийМакет.КомпонентаПечатиШтрихкодов");
  //ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
  
  Возврат ПараметрыРегистрации;
  
КонецФункции

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

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

Ссылка на комментарий https://t.me/FastCodeClub/2077


См. также

Сведения о внешней обработке - Отчет

Сведения о внешней обработке - Печать

СведенияОВнешнейОбработке (БСП)

Регистрация сведений о внешнем отчете

Отладить внешнюю обработку

ОбъектВнешнейОбработки (БСП)

ПриПодключенииВнешнейОбработки (БСП)

ПриСозданииВнешнейОбработки (БСП)

ПодключитьВнешнююОбработку (БСП)

Модератору