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

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

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

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

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

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

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

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

См.также - Изменение типа значения, возвращаемого методом глобального контекста "БезопасныйРежим()" - стандарт ИТС - Перевод конфигураций на платформе "1С:Предприятие 8.2" на платформу "1С:Предприятие 8.3" без режима совместимости с версией 8.2 - 5.5.4.3. Безопасный режим работы - 1С:Предприятие 8.3.16. Документация Руководство разработчика Глава 5. Объекты конфигурации