Тип: ОписаниеЗащитыОтОпасныхДействий. Структура для настройки предупреждений пользователю о загрузке внешних отчетов, внешних обработок и расширений конфигурации, на которые пользователь ранее не давал согласия и выполнении потенциально опасных функций языка в коде загруженных модулей.
Полное описание, параметры и ограничения
ПользовательИнформационнойБазы.ЗащитаОтОпасныхДействий (InfoBaseUser.UnsafeOperationProtection)
ПользовательИнформационнойБазы (InfoBaseUser)
ЗащитаОтОпасныхДействий (UnsafeOperationProtection)
Доступен, начиная с версии 8.3.8.
Использование:
Чтение и запись.
Описание:
Тип: ОписаниеЗащитыОтОпасныхДействий.
Структура для настройки предупреждений пользователю о загрузке внешних отчетов, внешних обработок и расширений конфигурации, на которые пользователь ранее не давал согласия и выполнении потенциально опасных функций языка в коде загруженных модулей.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.3.8.
Методическая информация
Практические примеры
Сохранить предупреждения об опасных действиях в черновике
В собственном описании явно оставляем предупреждение включённым. Это не выдача разрешения на внешний код и не отключение защиты рабочего пользователя.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
Используйте отдельную учебную базу с именем конфигурации Учебная85. Работайте под учебным администратором, которому доступно чтение и создание описаний пользователей.
Создайте серверный общий модуль УчебныеЗадачи. Фрагмент вставьте в тело своей экспортной процедуры и запустите учебной командой.
СоздатьПользователя создаёт описание, не запись списка пользователей. В коде намеренно отсутствуют Записать и Удалить: права, пароли и аутентификация существующих людей не меняются.
Не добавляйте Записать к этим черновикам: для реального создания учётной записи нужны отдельная проверка ролей, способов входа и действующих политик.
УчебноеИмя = "Черновик_" + Строка(Новый УникальныйИдентификатор);
Если ПользователиИнформационнойБазы.НайтиПоИмени(УчебноеИмя) <> Неопределено Тогда
ВызватьИсключение "Учебное имя уже занято: черновик не создаётся";
КонецЕсли;
Черновик = ПользователиИнформационнойБазы.СоздатьПользователя();
Черновик.Имя = УчебноеИмя;
Черновик.ПолноеИмя = "Учебный незаписанный пользователь";
Черновик.ПоказыватьВСпискеВыбора = Ложь;
Черновик.АутентификацияСтандартная = Ложь;
Черновик.АутентификацияОС = Ложь;
Предупреждения = Черновик.ЗащитаОтОпасныхДействий;
Предупреждения.ПредупреждатьОбОпасныхДействиях = Истина;
Черновик.ЗащитаОтОпасныхДействий = Предупреждения;
Сообщить(Черновик.ЗащитаОтОпасныхДействий.ПредупреждатьОбОпасныхДействиях);
Сообщить(Предупреждения.ПредупреждатьОбОпасныхДействиях);
Сообщить(ПользователиИнформационнойБазы.НайтиПоИмени(УчебноеИмя) = Неопределено);
Сообщить(Черновик.УникальныйИдентификатор = Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"));Разбор по шагам
ЗащитаОтОпасныхДействий возвращает описание настройки предупреждений пользователя.
Работаем с объектом нового незаписанного описания, не с ТекущийПользователь и не с найденным сотрудником.
ПредупреждатьОбОпасныхДействиях оставляем Истина: упражнение не учит отключению предупреждений.
Внешняя обработка, расширение или опасная функция не запускаются; настоящий диалог предупреждения проверяется отдельным сценарием.
Как проверить результат
Две проверки Истина: оба пути показывают включённое предупреждение.
В текущем сеансе не появляется новый диалог и не выдаётся разрешение на внешний код.
Две последние проверки Истина: имя не появилось в списке, UUID черновика остался нулевым.
Ожидаемый результат
Черновик подготовлен с включённым предупреждением об опасных действиях.
На что обратить внимание
Настройка предупреждения не является песочницей и не гарантирует безопасность произвольной обработки.
Включённый флаг незаписанного описания не меняет настройки защиты уже работающего пользователя.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.