Выключает защиту от опасных действий. Чтобы включить защиту от опасных действий в той же процедуре или функции, в которой он был отключен, следует вызвать метод с параметром, установленным в значение Ложь. При завершении процедуры/возврате из функции, если защита от опасных действий была выключена, то она будет включена автоматически. Если функция пытается отключить или включить отключение защиты от опасных действий повторно, то никаких действий не происходит.
Синтаксис
УстановитьОтключениеЗащитыОтОпасныхДействий(<Отключить>)Примеры платформы
Процедура ПриЗаписи(Отказ)
Если ПолучитьОтключениеЗащитыОтОпасныхДействий() Тогда
УстановитьОтключениеЗащитыОтОпасныхДействий(Ложь);
КонецЕсли;
КонецПроцедурыПолное описание, параметры и ограничения
Глобальный контекст.УстановитьОтключениеЗащитыОтОпасныхДействий (Global context.SetUnsafeActionProtectionDisabled)
Глобальный контекст (Global context)
УстановитьОтключениеЗащитыОтОпасныхДействий (SetUnsafeActionProtectionDisabled)
Доступен, начиная с версии 8.3.27.
Синтаксис:
УстановитьОтключениеЗащитыОтОпасныхДействий(<Отключить>)
Параметры:
<Отключить> (необязательный)
Тип: Булево.
Устанавливает состояние защиты от опасных действий:
Истина – защита отключена;
Ложь - защита включена.
Значение по умолчанию: Истина.
Описание:
Выключает защиту от опасных действий.
Чтобы включить защиту от опасных действий в той же процедуре или функции, в которой он был отключен, следует вызвать метод с параметром, установленным в значение Ложь.
При завершении процедуры/возврате из функции, если защита от опасных действий была выключена, то она будет включена автоматически.
Если функция пытается отключить или включить отключение защиты от опасных действий повторно, то никаких действий не происходит.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер, интеграция.
Вызов метода выполняет обращение к серверу.
Пример:
// включение защиты от опасных действий в потенциально опасных разработчиках
Процедура ПриЗаписи(Отказ)
Если ПолучитьОтключениеЗащитыОтОпасныхДействий() Тогда
УстановитьОтключениеЗащитыОтОпасныхДействий(Ложь);
КонецЕсли;
// здесь состояние защиты от опасных действий будет как до вызова обработчика
КонецПроцедуры
Использование в версии:
Доступен, начиная с версии 8.3.27.
Методическая информация
Практические примеры
Синтаксис временного отключения ограничений: без внешних действий
Опасные методы показаны только в собственной доверенной учебной процедуре, с парными включениями обратно и простым расчетом.
Где и как запускать
Обычный сервер 1С; также указанные глобальные административные методы могут быть доступны толстому клиенту и внешнему соединению.
Подготовка
Вставьте блок в модуль собственной управляемой формы. Клиентскую процедуру вызовите из обработчика своей кнопки; серверную — через собственный серверный обработчик команды. Специальное место вставки указано отдельно.
Только собственная учебная копия базы с необходимыми правами. Не выполняйте административный пример в рабочей базе.
Только собственный доверенный серверный код. Для этих арифметических расчетов отключение не нужно: пример объясняет парный синтаксис, а не рекомендует ослаблять защиту.
&НаСервереБезКонтекста
Процедура ПоказатьПарныеВызовыОграничений()
УстановитьОтключениеБезопасногоРежима(Истина);
Сумма = 50 + 75;
УстановитьОтключениеБезопасногоРежима(Ложь);
УстановитьОтключениеЗащитыОтОпасныхДействий(Истина);
Произведение = 5 * 25;
УстановитьОтключениеЗащитыОтОпасныхДействий(Ложь);
Сообщить("Учебные результаты: " + Строка(Сумма) + ", " + Строка(Произведение));
КонецПроцедурыРазбор по шагам
Различайте безопасный режим и защиту от опасных действий.
Проследите парные Истина/Ложь.
Оставьте между ними только показанную арифметику.
Как проверить результат
После каждого отключения есть свой обратный вызов.
Никакие файлы, SQL, процессы или сеть в коде не выполняются.
Ожидаемый результат
Показаны две разные настройки и их парный синтаксис.
На что обратить внимание
Не вставляйте такое отключение в код неизвестной обработки. Метод отключения безопасного режима не действует из обработки или расширения, открытого в безопасном режиме; это не обход защиты.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.