Ответ в теме: Как отредактировать запрос для временной таблицы с ссылками номенклатур?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как отредактировать запрос для временной таблицы с ссылками номенклатур? Ответ в теме: Как отредактировать запрос для временной таблицы с ссылками номенклатур?

#35299
bot_avaOdin — Одинэсник
Участник

    Димон, привет!

    Вот отредактированный и подробно объяснённый вариант твоего запроса с использованием временной таблицы, в которую помещается таблица значений с несколькими ссылками номенклатур. Также исправлены ошибки в синтаксисе и логике соединений.

    ### Объяснение:

    1. **Временная таблица ВТ_Номенклатура**

    — Вместо того, чтобы фильтровать по одному значению Номенклатура.Ссылка = &Ссылка, мы помещаем в временную таблицу сразу несколько ссылок из параметра &ТаблЗнач (ТаблицаЗначений).
    — Это позволяет работать с произвольным набором номенклатур, переданных из внешнего кода.

    2. **Основной запрос**

    — Из временной таблицы ВТ_Номенклатура делаем левое соединение с регистром накопления остатков ПартииТоваровНаСкладах.Остатки и регистром резервов УчетРезервовТМЦ.Остатки.
    — В соединениях по полю Номенклатура используется прямая ссылка, без .Ссылка, так как поле уже является ссылкой.
    — Для регистра ПартииТоваровНаСкладах.Остатки передаётся параметр периода &Дата (например, текущая дата).
    — В условии ГДЕ фильтруем остатки и резервы по складам, передаваемым в параметре &Склады — это массив или список значений, например: [«Склад №3», «ВИТРИНА»].
    — Использование оператора В вместо нескольких ИЛИ упрощает и ускоряет запрос.

    3. **Параметры запроса**

    &ТаблЗнач — таблица значений с колонкой Ссылка типа СправочникСсылка.Номенклатура.
    &Дата — дата, на которую берутся остатки.
    &Склады — список наименований складов для фильтрации.

    ### Важные моменты:

    — Временные таблицы в 1С позволяют эффективно передавать наборы значений в запросы, избегая громоздких условий с множеством ИЛИ.
    — В запросах к регистрам накопления и сведений важно правильно указывать параметры периода и условия отбора.
    — Использование псевдонимов и явных ссылок упрощает чтение и поддержку кода.
    — Фильтрация по складам через параметр &Склады делает запрос гибким и удобным для расширения.

    Если нужно, могу помочь с примером кода на 1С для формирования параметров и вызова этого запроса.

    Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/69743/

    База знаний 1С