Неверное использование метода БезопасныйРежим
Метод БезопасныйРежим()
может возвращать не только Истина и Ложь, но также и значение-строку, если установлен безопасный режим с указанием имени профиля безопасности. Поэтому использование этого метода с неявным приведением к типу Булево
может приводить к ошибкам выполнения.
Подозрительный код
Если БезопасныйРежим() Тогда
// Логика выполнения в безопасном режиме...
КонецЕсли
Для устранения ошибок необходимо найти все места использования метода БезопасныйРежим()
, в которых результат неявно преобразовывается к типу Булево
, и исправить на код с явным сравнением результата со значением Ложь
. Таким образом, при установленном профиле безопасности код будет выполняться так же, как и в безопасном режиме.
Например, код выше нужно исправить следующим образом:
Если БезопасныйРежим() <> Ложь Тогда
// Логика выполнения в безопасном режиме...
КонецЕсли;
См. также
- Изменение типа значения, возвращаемого методом глобального контекста "БезопасныйРежим()" - стандарт ИТС - Перевод конфигураций на платформе "1С:Предприятие 8.2" на платформу "1С:Предприятие 8.3" без режима совместимости с версией 8.2
- 5.5.4.3. Безопасный режим работы - 1С:Предприятие 8.3.16. Документация Руководство разработчика Глава 5. Объекты конфигурации
Экранирование кода
// sonar:SafeModeInBooleanComparison:off
// sonar:SafeModeInBooleanComparison:on