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