Есть обработка - читает файл Excel в реквизит формы типа Таблица значений. В исходном файле столбцов - десять, строк - от единиц до тысяч.
После первичного заполнения ТЗ, в цикле по строкам ТЗ заполняется недостающая информация: по каждой строке, помимо прочего, выполняется два запроса:
1. по текстовому значению ищется ссылка на элемент справочника, пишется в колонку ТЗ (ВЫБРАТЬ ???.Ссылка ИЗ ??? ГДЕ ... ПОДОБНО ...)
запрос может вернуть null, одно или множество значений, корректным считается только случай когда значение единственное, в остальных нужно вернуть признак ошибки
2. ищется запись в регистре сведений по определённых критериям
запрос может вернуть null или единственную запись, других вариантов нет, принимается любой результат
Стоит ли пытаться избавиться от запросов в цикле?
Я умею только один вариант: передать всю ТЗ в виде параметра в запрос, в запросе наколдовать последовательное заполнение таблиц, слить всё в одну итоговую, вернуть обратно.
С точки зрения кода - будет довольно сложный и некрасивый запрос. Сейчас - цикл с двумя строками, вызывающими функции с запросами по 5 строк.
Оно того стоит? База огромная - терабайты, справочник из запроса 1 - сотни строк, РС из запроса 2 - миллиарды строк. Существующая ситуация с точки зрения быстродействия устраивает полностью, весь код выполняется за считанные секунды.