```1c
    СтандартнаяОбработка = Ложь;
    ОписаниеОповещенияЗавершение = Новый ОписаниеОповещения("ОбработатьВыборСпецификацииЗавершение",ЭтаФорма);

    ЗначениеОтбора = Новый Структура("ОсновноеИзделиеНоменклатура", Элементы.ОбъектыКалькуляции.Текущиеданные.Номенклатура);
    ПараметрыВыбораПоНоменклатуре = Новый Структура("Отбор", ЗначениеОтбора);

    ОткрытьФорму("Справочник.РесурсныеСпецификации.ФормаВыбора",ПараметрыВыбораПоНоменклатуре,ЭтаФорма,,,,ОписаниеОповещенияЗавершение);
```

Подскажите пожалуйста как сделать отбор по нескольким условиям. Нужен отбор по "ОсновноеИзделиеНоменклатура" И "ОсновноеИзделиеВидНоменклатуры". То есть при открытие формы выбора необходимо видеть спецификации для номенклатуры и для видов номенклатуры одновременно.
---
Если я правильно понял задачу:

```1c
    &НаСервереБезКонтекста
    Функция ПолучитьСпецификацииПоНоменклатуре(Номенклатура)
    ТекстЗапроса = "ВЫБРАТЬ
    | РесурсныеСпецификации.Ссылка КАК Ссылка
    |ИЗ
    | Справочник.РесурсныеСпецификации КАК РесурсныеСпецификации
    |ГДЕ
    | РесурсныеСпецификации.ОсновноеИзделиеНоменклатура = &ОсновноеИзделиеНоменклатура
    | ИЛИ РесурсныеСпецификации.ОсновноеИзделиеВидНоменклатуры = &ОсновноеИзделиеВидНоменклатуры";

    Запрос = Новый Запрос;

    Запрос.Текст = ТекстЗапроса;

    Запрос.УстановитьПараметр("ОсновноеИзделиеНоменклатура", Номенклатура);
    Запрос.УстановитьПараметр("ОсновноеИзделиеВидНоменклатуры", Номенклатура.ВидНоменклатуры);

    Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
    КонецФункции

    //...
    СтандартнаяОбработка = Ложь;
    ОписаниеОповещенияЗавершение = Новый ОписаниеОповещения("ОбработатьВыборСпецификацииЗавершение", ЭтаФорма);

    МассивСсылокСпецификаций = ПолучитьСпецификацииПоНоменклатуре(Элементы.ОбъектыКалькуляции.Текущиеданные.Номенклатура);
    ЗначениеОтбора = Новый Структура("Ссылка", МассивСсылокСпецификаций);
    ПараметрыВыбораПоНоменклатуре = Новый Структура("Отбор", ЗначениеОтбора);

    ОткрытьФорму("Справочник.РесурсныеСпецификации.ФормаВыбора", ПараметрыВыбораПоНоменклатуре, ЭтаФорма, , , , ОписаниеОповещенияЗавершение);
    //...
```
---
Примерно так:

```1c
    СтруктураОтбора= Новый Структура;
    СтруктураОтбора.Вставить("ПолеА", ЗначениеА);
    СтруктураОтбора.Вставить("ПолеБ", ЗначениеБ);
    ПараметрыФормы = Новый Структура("Отбор", СтруктураОтбора);

    ОткрытьФорму("Справочник.РесурсныеСпецификации.ФормаВыбора",ПараметрыФормы ...
```
---
То есть просто добавить еще одно условие в структуру? У меня не работает так. Там получается условие "И" или "ИЛИ"?
---
Да, просто добавить в структуру еще одно поле.
Условие в таком отборе всегда по И.
---
Спецификация не принадлежит одновременно и номенклатуре и виду номенклатуры.
---
То что вы передаете в отбор применяется к динамическому списку, который является основным реквизитом формы, если другого не прописано в открываемой форме в ПриСозданииНаСервере.

Если в динамическом списке таких полей, которые вы задаете в отборе нет, то отбор по такому полю не применится.

(8) Спецификация не принадлежит одновременно и номенклатуре и виду номенклатуры.

Тогда такой вариант не подходит, смотрите вариант в (4)
---
Если я правильно понял задачу:

```1c
    &НаСервереБезКонтекста
    Функция ПолучитьСпецификацииПоНоменклатуре(Номенклатура)
    ТекстЗапроса = "ВЫБРАТЬ
    | РесурсныеСпецификации.Ссылка КАК Ссылка
    |ИЗ
    | Справочник.РесурсныеСпецификации КАК РесурсныеСпецификации
    |ГДЕ
    | РесурсныеСпецификации.ОсновноеИзделиеНоменклатура = &ОсновноеИзделиеНоменклатура
    | ИЛИ РесурсныеСпецификации.ОсновноеИзделиеВидНоменклатуры = &ОсновноеИзделиеВидНоменклатуры";

    Запрос = Новый Запрос;

    Запрос.Текст = ТекстЗапроса;

    Запрос.УстановитьПараметр("ОсновноеИзделиеНоменклатура", Номенклатура);
    Запрос.УстановитьПараметр("ОсновноеИзделиеВидНоменклатуры", Номенклатура.ВидНоменклатуры);

    Возврат Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
    КонецФункции

    //...
    СтандартнаяОбработка = Ложь;
    ОписаниеОповещенияЗавершение = Новый ОписаниеОповещения("ОбработатьВыборСпецификацииЗавершение", ЭтаФорма);

    МассивСсылокСпецификаций = ПолучитьСпецификацииПоНоменклатуре(Элементы.ОбъектыКалькуляции.Текущиеданные.Номенклатура);
    ЗначениеОтбора = Новый Структура("Ссылка", МассивСсылокСпецификаций);
    ПараметрыВыбораПоНоменклатуре = Новый Структура("Отбор", ЗначениеОтбора);

    ОткрытьФорму("Справочник.РесурсныеСпецификации.ФормаВыбора", ПараметрыВыбораПоНоменклатуре, ЭтаФорма, , , , ОписаниеОповещенияЗавершение);
    //...
```
---
Или получить форму, установить отборы списка, открыть форму.
Для БСП можно использовать: ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка().
Почитать подробнее можно тут: https://wiseadvice-it.ru/o-kompanii/blog/articles/otbor-na-upravlyaemyh-formah-v-1s-8-3/
---
```1c
    ЗначениеОтбора = Новый Структура("ОсновноеИзделиеНоменклатура, ОсновноеИзделиеВидНоменклатуры", Элементы.ОбъектыКалькуляции.Текущиеданные.Номенклатура, ВидНоменклатуры);
    ПараметрыВыбораПоНоменклатуре = Новый Структура("Отбор", ЗначениеОтбора);
```