MyTetra Share
Делитесь знаниями!
Выполнить процедуру модуля объекта обработки
Время создания: 13.09.2016 20:48
Автор:
Текстовые метки: 1c.code
Раздел: Программирование - 1с - code
Запись: xintrea/mytetra_anatolean/raw/master/base/1473788882t2uag8r2ka/text.html на bitbucket.org

//БСП, общий модуль "ДлительныеОперации"

Процедура ВыполнитьПроцедуруМодуляОбъектаОбработки(Параметры, АдресХранилища) Экспорт

ИмяМетода = Параметры.ИмяМетода;

ВременнаяСтруктура = Новый Структура;

Попытка

ВременнаяСтруктура.Вставить(ИмяМетода);

Исключение

ЗаписьЖурналаРегистрации(НСтр("ru = 'Безопасное выполнение метода обработки'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),

УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));

ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(

НСтр("ru='Имя метода ""%1"" не соответствует требованиям образования имен переменных.'"),

ИмяМетода);

КонецПопытки;

ПараметрыВыполнения = Параметры.ПараметрыВыполнения;

Если Параметры.ЭтоВнешняяОбработка Тогда

Если ЗначениеЗаполнено(Параметры.ДополнительнаяОбработкаСсылка) И ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ДополнительныеОтчетыИОбработки") Тогда

МодульДополнительныеОтчетыИОбработки = ОбщегоНазначения.ОбщийМодуль("ДополнительныеОтчетыИОбработки");

Обработка = МодульДополнительныеОтчетыИОбработки.ПолучитьОбъектВнешнейОбработки(Параметры.ДополнительнаяОбработкаСсылка);

Иначе

Обработка = ВнешниеОбработки.Создать(Параметры.ИмяОбработки);

КонецЕсли;

Иначе

Обработка = Обработки[Параметры.ИмяОбработки].Создать();

КонецЕсли;

Выполнить("Обработка." + ИмяМетода + "(ПараметрыВыполнения, АдресХранилища)");

КонецПроцедуры

 
MyTetra Share v.0.65
Яндекс индекс цитирования