1С 8.3 БСП ВыполнитьМетодОбъекта
Данные > 1С 8.3 БСП > Безопасное выполнение внешнего кода
Перейти в раздел примеры кода 1С 8.3:
1С 8.3 БСП ВыполнитьМетодОбъекта. Выполнить экспортную процедуру объекта встроенного языка по имени.
Примера кода от rayastar
ОбщегоНазначения.ВыполнитьМетодОбъекта(Объект, ИмяМетода, Параметры);
Процедура ВызватьПроцедуру(ИмяПроцедуры, ПараметрыВызова)
ЭтоВнешняяОбработка = ВРег(ЧастиИмени[0]) = "ВНЕШНЯЯОБРАБОТКА";
ЭтоВнешнийОтчет = ВРег(ЧастиИмени[0]) = "ВНЕШНИЙОТЧЕТ";
Если ЭтоВнешняяОбработка Или ЭтоВнешнийОтчет Тогда
ВыполнитьПроверкуПравДоступа("ИнтерактивноеОткрытиеВнешнихОбработок", Метаданные);
МенеджерОбъекта = ?(ЭтоВнешнийОтчет, ВнешниеОтчеты, ВнешниеОбработки);
ОбработкаОтчетОбъект = МенеджерОбъекта.Создать(ЧастиИмени[1], БезопасныйРежим());
ОбщегоНазначения.ВыполнитьМетодОбъекта(ОбработкаОтчетОбъект, ЧастиИмени[3], ПараметрыВызова);
Возврат;
КонецЕсли;
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Неверный формат параметра ИмяПроцедуры (переданное значение: %1)';
|en = 'Invalid format of the ИмяПроцедуры parameter (passed value: %1).'"), ИмяПроцедуры);
КонецПроцедуры
Процедура ВызватьПроцедуру(ИмяПроцедуры, ПараметрыВызова)
ЭтоВнешняяОбработка = ВРег(ЧастиИмени[0]) = "ВНЕШНЯЯОБРАБОТКА";
ЭтоВнешнийОтчет = ВРег(ЧастиИмени[0]) = "ВНЕШНИЙОТЧЕТ";
Если ЭтоВнешняяОбработка Или ЭтоВнешнийОтчет Тогда
ВыполнитьПроверкуПравДоступа("ИнтерактивноеОткрытиеВнешнихОбработок", Метаданные);
МенеджерОбъекта = ?(ЭтоВнешнийОтчет, ВнешниеОтчеты, ВнешниеОбработки);
ОбработкаОтчетОбъект = МенеджерОбъекта.Создать(ЧастиИмени[1], БезопасныйРежим());
ОбщегоНазначения.ВыполнитьМетодОбъекта(ОбработкаОтчетОбъект, ЧастиИмени[3], ПараметрыВызова);
Возврат;
КонецЕсли;
ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Неверный формат параметра ИмяПроцедуры (переданное значение: %1)';
|en = 'Invalid format of the ИмяПроцедуры parameter (passed value: %1).'"), ИмяПроцедуры);
КонецПроцедуры
// Автор библиотеки: ООО "1С-Софт". Все права защищены © 2021
// Типовая конфигурация Библиотека стандартных подсистем (далее - БСП)
// Код БСП распространяется по лицензии Attribution 4.0 International (CC BY 4.0):
// ссылка на лицензию: https://creativecommons.org/licenses/by/4.0/legalcode
// Код БСП распространяется по лицензии Attribution 4.0 International (CC BY 4.0):
// ссылка на лицензию: https://creativecommons.org/licenses/by/4.0/legalcode
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник