Неверная проверка на пустой результат выполнения запроса
Проверку того, что результат выполнения запроса не содержит строк, следует выполнять с помощью метода Пустой
. Поскольку на получение выборки из результата запроса (выгрузка его в таблицу значений) будет затрачиваться дополнительное время.
Подозрительный код
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующий() Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
или
Таблица = Запрос.Выполнить().Выгрузить();
Если ЗначениеЗаполнено(Таблица) Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
Исправленный вариант
Возврат НЕ Запрос.Выполнить().Пустой();
В то же время если требуется выбрать (или выгрузить) результат запроса, то предварительный вызов метода Пустой
не требуется. Например, вместо:
РезультатЗапроса = Запрос.Выполнить();
Если НЕ РезультатЗапроса.Пустой() Тогда // избыточный вызов
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
...
правильно:
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
...
См. также
Экранирование кода
// sonar:WrongVerifyEmptyQueryResult:off
// sonar:WrongVerifyEmptyQueryResult:on