Многократное выполнение однотипных запросов

Область применения: управляемое приложение, мобильное приложение, обычное приложение.

Рекомендуется получать все необходимые однотипные данные одним запросом, вместо выполнения серии запросов.

Правильно:

// БанкиДляОбработки - содержит массив банков, счета в которых необходимо обработать

ОбщийЗапрос = Новый Запрос("
  |ВЫБРАТЬ
  | БанковскиеСчета.Ссылка КАК Счет
  |ИЗ
  | Справочник.БанковскиеСчета КАК БанковскиеСчета
  |ГДЕ
  | БанковскиеСчета.Банк В(&БанкиДляОбработки)");

ОбщийЗапрос.УстановитьПараметр("БанкиДляОбработки", БанкиДляОбработки);
ВыборкаСчетов = ОбщийЗапрос.Выполнить().Выбрать();
Пока ВыборкаСчетов.Следующий() Цикл
  ОбработатьСчетаВБанке(ВыборкаСчетов.Счет);
КонецЦикла;

Неправильно:

// БанкиДляОбработки - содержит массив банков, счета в которых необходимо обработать

ЧастныйЗапрос = Новый Запрос("
  |ВЫБРАТЬ
  | БанковскиеСчета.Ссылка КАК Счет
  |ИЗ
  | Справочник.БанковскиеСчета КАК БанковскиеСчета
  |ГДЕ
  | БанковскиеСчета.Банк = &Банк");

Для каждого Банк Из БанкиДляОбработки Цикл
  ЧастныйЗапрос.УстановитьПараметр("Банк", Банк);
  ВыборкаСчетов = ЧастныйЗапрос.Выполнить().Выбрать();
  Пока ВыборкаСчетов.Следующий() Цикл
    ОбработатьСчетаВБанке(ВыборкаСчетов.Счет);
  КонецЦикла;
КонецЦикла;