В управляемой форме есть основной реквизит Список, у списка произвольный запрос

ВЫБРАТЬ
 СправочникДорнвалы.Наименование,
 ДорнвалыНаСкладахОстатки.НомерПП,
 ДорнвалыНаСкладахОстатки.Заказ
ИЗ
 РегистрНакопления.ДорнвалыНаСкладах.Остатки(&Период, Склад = &Склад) КАК ДорнвалыНаСкладахОстатки
  ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Дорнвалы КАК СправочникДорнвалы
  ПО ДорнвалыНаСкладахОстатки.Дорнвал = СправочникДорнвалы.Ссылка
ГДЕ
 (НЕ ДорнвалыНаСкладахОстатки.Дорнвал В (&СписокДорнвал))

&СписокДорнвал - Это список значений
Проблема в том что условие "ДорнвалыНаСкладахОстатки.Дорнвал В (&СписокДорнвал)" берет из этого списка значения только первое значение и сравнивает с ним. Я проверял запрос в консоле он работает правильно.
Если данное условие "(НЕ ДорнвалыНаСкладахОстатки.Дорнвал В (&СписокДорнвал))" заменить
на "(НЕ ДорнвалыНаСкладахОстатки.Дорнвал = &СписокДорнвал)" то роботает идентично, результат тот же, берется только первое значение из списказначений, а остальные не используются

Как сделать так чтобы в произвольном запросе проверять находится для данный элемент в СпискеЗначений или нет?
---
Все работает.
Нужно было передавть не список значений,а массив

ДорнвалыСЗ = Новый Массив;
//ДорнвалыСЗ = Новый СписокЗначений;

//Обходим все позиции табличной части Дорнвалы

Для Каждого СтрТЧДорнвалы Из ЭтаФорма.Объект.Дорнвалы Цикл
//Проверяем, чтобы в список значений не попала пустая строка

    Если Не СтрТЧДорнвалы.Дорнвал.Пустая() Тогда
       ДорнвалыСЗ.Добавить(СтрТЧДорнвалы.Дорнвал);
    КонецЕсли;
КонецЦикла;
---
ВЫБОР
  КОГДА ДорнвалыНаСкладахОстатки.Дорнвал В (&СписокДорнвал)
     ТОГДА ИСТИНА
  ИНАЧЕ
     ЛОЖЬ
КОНЕЦ КАК ЕстьВхождение
---
сейчас попробую
---
Вот токай запрос тоже не работает эффект тот же
ВЫБРАТЬ
 СправочникДорнвалы.Наименование,
 ДорнвалыНаСкладахОстатки.НомерПП,
 ДорнвалыНаСкладахОстатки.Заказ
ИЗ
 РегистрНакопления.ДорнвалыНаСкладах.Остатки(
   &Период,
   Склад = &Склад
    И ВЫБОР
     КОГДА Дорнвал В (&СписокДорнвал)
      ТОГДА ЛОЖЬ
     ИНАЧЕ ИСТИНА
    КОНЕЦ) КАК ДорнвалыНаСкладахОстатки
  ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Дорнвалы КАК СправочникДорнвалы
  ПО ДорнвалыНаСкладахОстатки.Дорнвал = СправочникДорнвалы.Ссылка
---
Так тоже не работает
ВЫБРАТЬ
 СправочникДорнвалы.Наименование,
 ДорнвалыНаСкладахОстатки.НомерПП,
 ДорнвалыНаСкладахОстатки.Заказ
ИЗ
 РегистрНакопления.ДорнвалыНаСкладах.Остатки(&Период, Склад = &Склад) КАК ДорнвалыНаСкладахОстатки
  ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Дорнвалы КАК СправочникДорнвалы
  ПО ДорнвалыНаСкладахОстатки.Дорнвал = СправочникДорнвалы.Ссылка
ГДЕ
 ВЫБОР
   КОГДА ДорнвалыНаСкладахОстатки.Дорнвал В (&СписокДорнвал)
    ТОГДА ЛОЖЬ
   ИНАЧЕ ИСТИНА
  КОНЕЦ
---
Lion_LexXx, Это разные варианты условий. Я вот только не понял, зачем ты Присоединяешь таблицу, когда она уже есть в остатках? Да еще внутренним соединением
---
Суть не в соединении, а в том что в динамическом списке не правильно сравнивается со списком значений. Надо это как то обойти. Проверил запрос, еще раз написал процедуру на сервере, передал те же самые параметры которые отправлял в динамический список Запрос.Выполнить().Выгрузить() работает правильно, а в динамическом списке также берется и сравнивается только с первым элементом из списка значений.
---
В управляемой форме есть основной реквизит Список, у списка произвольный запрос, в произвольном запросе основной таблицей стоит справочник Дорнвалы. Если основную таблицу выбрать другую, тогда при выборе из этой "ФормаВыбораДорнвалов" в табличной части документа ПеремещениеДорнвалов не будет заполняться новая позиция.
---
Вот обсуждение этой же темы http://forum.mista.ru/topic.php?id=570900
---
Все работает.
Нужно было передавть не список значений,а массив

ДорнвалыСЗ = Новый Массив;
//ДорнвалыСЗ = Новый СписокЗначений;

//Обходим все позиции табличной части Дорнвалы

Для Каждого СтрТЧДорнвалы Из ЭтаФорма.Объект.Дорнвалы Цикл
//Проверяем, чтобы в список значений не попала пустая строка

    Если Не СтрТЧДорнвалы.Дорнвал.Пустая() Тогда
       ДорнвалыСЗ.Добавить(СтрТЧДорнвалы.Дорнвал);
    КонецЕсли;
КонецЦикла;