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

Обращение к объектной модели при обходе выборки

Обращение к объектной модели при обходе выборки приводит к снижению производительности. Желательно получать необходимые значения в запросе.

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

Процедура МояПроцедура()
    Запрос = "ВЫБРАТЬ
                |   Товары.Ссылка
                |ИЗ
                |   Справочник.Товары КАК Товары"
    МояВыборка = Запрос.Выполнить().Выбрать();
    Пока МояВыборка.Следующий() Цикл
        Сообщить(МояВыборка.Ссылка.Код);
    КонецЦикла;
КонецПроцедуры;

Правильный код

Процедура МояПроцедура()
    Запрос = "ВЫБРАТЬ
                |   Товары.Код
                |ИЗ
                |   Справочник.Товары КАК Товары"
    МояВыборка = Запрос.Выполнить().Выбрать();
    Пока МояВыборка.Следующий() Цикл
        Сообщить(МояВыборка.Код);
    КонецЦикла;
КонецПроцедуры;

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

// sonar:UsageObjectModelAfterSelect:off
// sonar:UsageObjectModelAfterSelect:on