MyTetra Share
Делитесь знаниями!
О, смотри-ка какое хорошее место. Дайте два!
Выполнить процедуру модуля объекта обработки
13.09.2016
20:48
Автор:
Текстовые метки: 1c.code
Раздел: Программирование - 1с - code

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

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

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

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

Попытка

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

Исключение

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

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

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

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

ИмяМетода);

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

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

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

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

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

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

Иначе

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

КонецЕсли;

Иначе

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

КонецЕсли;

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

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

← Содержание ...
 
MyTetra Share v.0.35
Яндекс индекс цитирования