M_Volkov
Gold Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору #Область ВспомогательныеПроцедурыИФункцииРегистрацииОбработки // // ВСПОМОГАТЕЛЬНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ РЕГИСТРАЦИИ ОБРАБОТКИ // Функция СведенияОВнешнейОбработке() Экспорт //Инициализируем структуру с параметрами регистрации //Определяем список объектов, вызывающих обработку ОбъектыНазначенияФормы = Новый Массив; // ОбъектыНазначенияФормы.Добавить("Документ.*"); // все документы назначаются ПараметрыРегистрации = ПолучитьПараметрыРегистрации(ОбъектыНазначенияФормы); ПараметрыРегистрации.Версия = "1.0"; //Определяем команды ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, "Поиск и удаление дублей по GUID", // Представление команды в пользовательском интерфейсе "ПоискИУдалениеДублей", // Уникальный идентификатор команды "ОткрытиеФормы", // Способ вызова команды Истина, // Показывать оповещение ); ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд); Возврат ПараметрыРегистрации; КонецФункции // Формирует структуру с параметрами регистрации регистрации обработки в информационной базе // // Параметры: // ОбъектыНазначенияФормы - Массив - Массив строк имен объектов метаданных в формате: // <ИмяКлассаОбъектаМетаданного>.[ * | <ИмяОбъектаМетаданных>]. // или строка с именем объекта метаданных // НаименованиеОбработки - строка - Наименование обработки, которым будет заполнено наименование элемента справочника по умолчанию. // Необязательно, по умолчанию синоним или представление объекта // Информация - строка - Краткая информация или описание обработки. // Необязательно, по умолчанию комментарий объекта // Версия - строка - Версия обработки в формате “<старший номер>.<младший номер>” используется при загрузке обработок в информационную базу. // // // Возвращаемое значение: // Структура // Функция ПолучитьПараметрыРегистрации(ОбъектыНазначенияФормы = Неопределено, НаименованиеОбработки = "", Информация = "", Версия = "1.0") Если ТипЗнч(ОбъектыНазначенияФормы) = Тип("Строка") Тогда ОбъектНазначенияФормы = ОбъектыНазначенияФормы; ОбъектыНазначенияФормы = Новый Массив; ОбъектыНазначенияФормы.Добавить(ОбъектНазначенияФормы); КонецЕсли; ПараметрыРегистрации = Новый Структура; //ДополнительнаяОбработка //ДополнительныйОтчет //ЗаполнениеОбъекта //Отчет //ПечатнаяФорма //СозданиеСвязанныхОбъектов ПараметрыРегистрации.Вставить("Вид", "ДополнительнаяОбработка"); ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь); ПараметрыРегистрации.Вставить("Назначение", ОбъектыНазначенияФормы); Если Не ЗначениеЗаполнено(НаименованиеОбработки) Тогда НаименованиеОбработки = ЭтотОбъект.Метаданные().Представление(); КонецЕсли; ПараметрыРегистрации.Вставить("Наименование", НаименованиеОбработки); Если Не ЗначениеЗаполнено(Информация) Тогда Информация = ЭтотОбъект.Метаданные().Комментарий; КонецЕсли; ПараметрыРегистрации.Вставить("Информация", Информация); ПараметрыРегистрации.Вставить("Версия", Версия); Возврат ПараметрыРегистрации; КонецФункции // Формирует таблицу значений с командами печати // // Возвращаемое значение: // ТаблицаЗначений // Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений; //Представление команды в пользовательском интерфейсе Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); //Уникальный идентификатор команды или имя макета печати Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); //Способ вызова команды: "ОткрытиеФормы", "ВызовКлиентскогоМетода", "ВызовСерверногоМетода" // "ОткрытиеФормы" - применяется только для отчетов и дополнительных отчетов // "ВызовКлиентскогоМетода" - вызов процедуры Печать(), определённой в модуле формы обработки // "ВызовСерверногоМетода" - вызов процедуры Печать(), определённой в модуле объекта обработки Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); //Показывать оповещение. //Если Истина, требуется показать оповещение при начале и при завершении работы обработки. //Имеет смысл только при запуске обработки без открытия формы Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); //Дополнительный модификатор команды. //Используется для дополнительных обработок печатных форм на основе табличных макетов. //Для таких команд должен содержать строку ПечатьMXL Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции // Вспомогательная процедура. // Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование = "ВызовСерверногоМетода", ПоказыватьОповещение = Ложь, Модификатор = "ПечатьMXL") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры #КонецОбласти |