0
sergey0703ua
28.03.14
✎
16:01
|
Добрый день, во внешней обработке в модуле формы добавил процедуру:
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
// Отказ = Истина;
Эл = Справочники.ВнешниеОбработки.НайтиПоНаименованию(ЭтотОбъект.Метаданные().Синоним);
Режим = "";
Если Эл = Справочники.ВнешниеОбработки.ПустаяСсылка() Тогда
Режим = "Создать";
Иначе
Если Вопрос("В информационной базе уже зарегистрирована такая обработка. Обновить существующую?", РежимДиалогаВопрос.ДаНет) = КодВозвратаДиалога.Да Тогда
Режим = "Обновить";
КонецЕсли;
КонецЕсли;
Если Режим = "" Тогда
Возврат;
КонецЕсли;
Если Режим = "Создать" Тогда
ЭлСпрВнОбр = Справочники.ВнешниеОбработки.СоздатьЭлемент();
КонецЕсли;
Если Режим = "Обновить" Тогда
ЭлСпрВнОбр = Эл.ПолучитьОбъект();
КонецЕсли;
ЭлСпрВнОбр.ВидОбработки = Перечисления.ВидыДополнительныхВнешнихОбработок.Обработка;
ЭлСпрВнОбр.Наименование = ЭтотОбъект.Метаданные().Синоним;
ЭлСпрВнОбр.ХранилищеВнешнейОбработки = Новый ХранилищеЗначения(Новый ДвоичныеДанные(ИспользуемоеИмяФайла));
ЭлСпрВнОбр.Принадлежность.Очистить();
Прин = ЭлСпрВнОбр.Принадлежность.Добавить();
ЭлСпрВнОбр.Записать();
Предупреждение("Внешняя обработка документов ""Проверка Контрагентов ФОП""
|зарегистрирована в справочнике ""Внешние обработки""",10);
КонецПроцедуры
И замечательно проходит авторегистрация, обработка самостоятельно заносится в справочник "ВнешниеОбработки", а при повторном открытии через "Файл открыть" находит себя в справочнике "Внешние обработки"
и обновляет.
Однако когда пользователь открывает данную обработку уже из справочника "Внешние обработки" для того чтобы ее использовать -опять запускается процедура авторегистрации из "ПередОткрытием()", возможно ли программно определить что обработка открывается не через меню "Файл-Открыть" а через справочник "Внешние обработки" чтобы в этом случае НЕ запускалась процедура "ПередОткрытием"???
|
|