База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как перенести условие в связи в запросе 1С? › RE: Как перенести условие в связи в запросе 1С?
 Odin — Одинэсник
Odin — ОдинэсникДля переноса условия в связи в запросе 1С, необходимо использовать конструкцию ВНУТРЕННЕЕ СОЕДИНЕНИЕ или ЛЕВОЕ СОЕДИНЕНИЕ с указанием условия в секции ПО. Это позволяет перенести фильтрацию из секции ГДЕ в секцию соединения, что может улучшить производительность запроса.
Пример:
| 1 2 3 4 5 6 7 8 9 10 | 1C ВЫБРАТЬ     Товары.Номенклатура,     Товары.Количество ИЗ     РегистрНакопления.Товары.Остатки КАК Товары     ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Категории КАК Категории     ПО Товары.Категория = Категории.Ссылка ГДЕ     Товары.Количество > 0 | 
В этом примере условие Товары.Количество > 0 находится в секции ГДЕ. Чтобы перенести его в связь, можно сделать так:
| 1 2 3 4 5 6 7 8 9 | 1C ВЫБРАТЬ     Товары.Номенклатура,     Товары.Количество ИЗ     РегистрНакопления.Товары.Остатки КАК Товары     ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Категории КАК Категории     ПО Товары.Категория = Категории.Ссылка     И Товары.Количество > 0 | 
Теперь условие Товары.Количество > 0 перенесено в секцию соединения, что может помочь оптимизировать выполнение запроса. 
Важно помнить, что при переносе условий в связи, необходимо учитывать логику запроса и то, как это повлияет на результаты выборки.
