Перейти к содержанию

Неверное использование метода БезопасныйРежим

Метод БезопасныйРежим() может возвращать не только Истина и Ложь, но также и значение-строку, если установлен безопасный режим с указанием имени профиля безопасности. Поэтому использование этого метода с неявным приведением к типу Булево может приводить к ошибкам выполнения.

Подозрительный код

Если БезопасныйРежим() Тогда
    // Логика выполнения в безопасном режиме...
КонецЕсли

Для устранения ошибок необходимо найти все места использования метода БезопасныйРежим(), в которых результат неявно преобразовывается к типу Булево, и исправить на код с явным сравнением результата со значением Ложь. Таким образом, при установленном профиле безопасности код будет выполняться так же, как и в безопасном режиме.

Например, код выше нужно исправить следующим образом:

Если БезопасныйРежим() <> Ложь Тогда
    // Логика выполнения в безопасном режиме...
КонецЕсли;

См. также

Экранирование кода

// sonar:SafeModeInBooleanComparison:off
// sonar:SafeModeInBooleanComparison:on