HelpF.pro

Авто добавление обработки в справочник Внешних обработок

Чтобы не изменять типовую конфигурацию приходится использовать типовой механизм внешних печатных форм и обработок. Данный код проверяет - добавлена ли открываемая обработка в конфигурацию, если нет - задает вопрос и при положительном ответе - автоматически добавляет в конфигурацию:

Код 1C v 8.х
  ПолноеИмяФайлаОбработки = ЭтотОбъект.ИспользуемоеИмяФайла;
                Запрос = Новый Запрос;
                Запрос.УстановитьПараметр("Наименование", ЭтотОбъект.Метаданные().Синоним);
                Запрос.УстановитьПараметр("ВидОбработки", Перечисления.ВидыДополнительныхВнешнихОбработок.ПечатнаяФорма);
                Запрос.Текст =
                "ВЫБРАТЬ РАЗРЕШЕННЫЕ
                |             ВнешниеОбработки.Ссылка
                |ИЗ
                |             Справочник.ВнешниеОбработки КАК ВнешниеОбработки
                |ГДЕ
                |             ВнешниеОбработки.Наименование = &Наименование
                |             И ВнешниеОбработки.ВидОбработки = &ВидОбработки";
                Если НЕ Запрос.Выполнить().Пустой() Тогда Возврат; КонецЕсли;    
                Если Вопрос("Зарегистрировать обработку как печатную форму для документа ""ЗарплатаКВыплатеОрганизаций"" в справочнике ""Внешние обработки""?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда
                               ВнешняяОбработка = Справочники.ВнешниеОбработки.СоздатьЭлемент();
                               ВнешняяОбработка.Наименование = ЭтотОбъект.Метаданные().Синоним;
                               ВнешняяОбработка.ХранилищеВнешнейОбработки = Новый ХранилищеЗначения(Новый ДвоичныеДанные(ПолноеИмяФайлаОбработки));
                               ВнешняяОбработка.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.ПечатнаяФорма;
                               ВнешняяОбработка.Комментарий  = "Внешняя печатная форма для документа ""ЗарплатаКВыплатеОрганизаций""";
                               ВнешняяОбработка.КомментарийКФайлуИсточнику = ПолучитьКомментарийКФайлу(ПолноеИмяФайлаОбработки);
                               НовСтр = ВнешняяОбработка.Принадлежность.Добавить();
                               НовСтр.ПредставлениеОбъекта = "Документ ""Зарплата к выплате организаций""";
                               НовСтр.ХранилищеВнешнейОбработки = Новый ХранилищеЗначения(Новый ДвоичныеДанные(ПолноеИмяФайлаОбработки));
                               НовСтр.СсылкаОбъекта = Документы.ЗарплатаКВыплатеОрганизаций.ПустаяСсылка();
                               Попытка
                                               ВнешняяОбработка.Записать();
                               Исключение
                                               Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
                               КонецПопытки;
                КонецЕсли;

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq8/view/1639.html