1С 8.3 БСП ВыполнитьМетодКонфигурации
Данные > 1С 8.3 БСП > Безопасное выполнение внешнего кода
Перейти в раздел примеры кода 1С 8.3:
1С 8.3 БСП ВыполнитьМетодКонфигурации. Выполнить экспортную процедуру по имени с уровнем привилегий конфигурации.
Примера кода от rayastar
ПараметрыПроцедуры = Новый Массив;
ПараметрыПроцедуры.Добавить(ТекЭлемент.Значение);
ПараметрыПроцедуры.Добавить(Данные);
ОбщегоНазначения.ВыполнитьМетодКонфигурации("ОбменСБанкамиПереопределяемый." + МетодЗаполненияДанных, ПараметрыПроцедуры);
ПараметрыПроцедуры.Добавить(ТекЭлемент.Значение);
ПараметрыПроцедуры.Добавить(Данные);
ОбщегоНазначения.ВыполнитьМетодКонфигурации("ОбменСБанкамиПереопределяемый." + МетодЗаполненияДанных, ПараметрыПроцедуры);
Метод БСП
Процедура ВыполнитьМетодКонфигурации(Знач ИмяМетода, Знач Параметры = Неопределено) Экспорт
ПроверитьИмяПроцедурыКонфигурации(ИмяМетода);
Если ПодсистемаСуществует("СтандартныеПодсистемы.ПрофилиБезопасности") Тогда
МодульРаботаВБезопасномРежиме = ОбщийМодуль("РаботаВБезопасномРежиме");
Если МодульРаботаВБезопасномРежиме.ИспользуютсяПрофилиБезопасности()
И Не МодульРаботаВБезопасномРежиме.УстановленБезопасныйРежим() Тогда
ПрофильИнформационнойБазы = МодульРаботаВБезопасномРежиме.ПрофильБезопасностиИнформационнойБазы();
Если ЗначениеЗаполнено(ПрофильИнформационнойБазы) Тогда
УстановитьБезопасныйРежим(ПрофильИнформационнойБазы);
Если БезопасныйРежим() = Истина Тогда
УстановитьБезопасныйРежим(Ложь);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
ПараметрыСтрока = "";
Если Параметры <> Неопределено И Параметры.Количество() > 0 Тогда
Для Индекс = 0 По Параметры.ВГраница() Цикл
ПараметрыСтрока = ПараметрыСтрока + "Параметры[" + XMLСтрока(Индекс) + "],";
КонецЦикла;
ПараметрыСтрока = Сред(ПараметрыСтрока, 1, СтрДлина(ПараметрыСтрока) - 1);
КонецЕсли;
Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")";
КонецПроцедуры
ПроверитьИмяПроцедурыКонфигурации(ИмяМетода);
Если ПодсистемаСуществует("СтандартныеПодсистемы.ПрофилиБезопасности") Тогда
МодульРаботаВБезопасномРежиме = ОбщийМодуль("РаботаВБезопасномРежиме");
Если МодульРаботаВБезопасномРежиме.ИспользуютсяПрофилиБезопасности()
И Не МодульРаботаВБезопасномРежиме.УстановленБезопасныйРежим() Тогда
ПрофильИнформационнойБазы = МодульРаботаВБезопасномРежиме.ПрофильБезопасностиИнформационнойБазы();
Если ЗначениеЗаполнено(ПрофильИнформационнойБазы) Тогда
УстановитьБезопасныйРежим(ПрофильИнформационнойБазы);
Если БезопасныйРежим() = Истина Тогда
УстановитьБезопасныйРежим(Ложь);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;
ПараметрыСтрока = "";
Если Параметры <> Неопределено И Параметры.Количество() > 0 Тогда
Для Индекс = 0 По Параметры.ВГраница() Цикл
ПараметрыСтрока = ПараметрыСтрока + "Параметры[" + XMLСтрока(Индекс) + "],";
КонецЦикла;
ПараметрыСтрока = Сред(ПараметрыСтрока, 1, СтрДлина(ПараметрыСтрока) - 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
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник