Показать сообщение отдельно
Старый 07.12.2009, 13:09   #55  
Сисой is offline
Сисой
Участник
Аватар для Сисой
Злыдни
1C
 
938 / 339 (13) ++++++
Регистрация: 05.02.2003
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
3. Listerals vs Placeholders
http://axapta.mazzy.ru/lib/literals_vs_placeholders/
В 1С просто нет такой штуки. Разработчики платформы 1С об этом не думали.
Они вообще не думали, как SQL будет выполнять такие запросы.
В ряде случаев (отбор по критерию "равно") 1С просто решает эту проблему по другому. В языке запросов 1С есть оператор В (IN), который умеет принимать в качестве операнда список объектных значений. Такой запрос автоматически транслируется 1С в объединение кучи одинаковых подзапросов с UNION ALL и подстановкой разных значений в условия сравнения. План запроса один и тот же.
За запросы в цикле на экзамене 1С:Специалист сразу дают по шапке. Я по пальцам руки могу пересчитать случаи, когда реально результат отбора данных на шаге цикла зависит от предыдущих итераций. Гораздо чаще можно отобрать необходимые данные в temptable (которая кэшируется на сервере 1С) и в цикле брать значения из нее.