Доброго времени суток, товарищи! Третий день ломаю голову, так и не смог придумать ничего путного...

Задача такая:
Имеется справочник "СпецификацииМедицинскихУслуг" с табличной частью "МестаВыполненияЭтапов".
Этот справочник имеет реквизит "Номенклатура".

Необходимо найти всю номенклатуру, спецификация которой содержит в табличной части все необходимые мне места выполения этапов...

Пытался сделать вот такой запрос:

```1c
    Запрос = Новый Запрос();
    Запрос.Текст = "ВЫБРАТЬ
    | СпецификацииМедУслугРабочиеМеста.Ссылка.Номенклатура КАК Номенклатура
    |ИЗ
    | Справочник.СпецификацииМедицинскихУслуг.МестаВыполненияЭтапов КАК СпецификацииМедУслугРабочиеМеста
    |ГДЕ
    | СпецификацииМедУслугРабочиеМеста.Ссылка.Активная = ИСТИНА
    | И СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто1
    | И СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто2
    | И СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто3";
    Запрос.УстановитьПараметр("РабочееМесто1", РабочееМесто1);
    Запрос.УстановитьПараметр("РабочееМесто2", РабочееМесто2);
    Запрос.УстановитьПараметр("РабочееМесто3", РабочееМесто3);
    Выгрузка = Запрос.Выполнить().Выгрузить();
```

В результате - пустое значение "Выгрузка"...

Надеюсь на вашу помощь, господа!
---
Не ручаюсь, что синтаксис - контроль не ругнётся, но принцип, думаю, понятен.

```1c
    ВЫБРАТЬ
    СпецификацииМедУслугРабочиеМеста.Ссылка.Номенклатура КАК Ссылка,
    Количество(Различные СпецификацииМедУслугРабочиеМеста.МестоВыполнения) Как МестоВыполнения
    ИЗ
    Справочник.СпецификацииМедицинскихУслуг.МестаВыполненияЭтапов КАК СпецификацииМедУслугРабочиеМеста
    ГДЕ
    СпецификацииМедУслугРабочиеМеста.Ссылка.Активная = ИСТИНА
    И (СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто1
    ИЛИ СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто2
    ИЛИ СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто3"

    СГРУППИРОВАТЬ ПО
    СпецификацииМедУслугРабочиеМеста.Ссылка

    ИМЕЮЩИЕ
    Количество(Различные СпецификацииМедУслугРабочиеМеста.МестоВыполнения) = 3
```

Выбрать все, в которых попадётся хотя бы один из параметров и сгруппировать. Где попадётся три, то и выбирать.
---
Может, ИЛИ нужно, а не И?
---
Тогда в выборку попадут все, в которых есть хотя бы одно место выполнения этапов. А надо только такие, в которых все.
---
Да, вы правильно поняли, нужно чтобы все три рабочих места находились в табличной части спецификации номенклатуры...
---
попробуйте сгруппировать условие в одно И
как-то так

```1c
    | И (СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто1
    | И СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто2
    | И СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто3)
```

хотя... то на то и выйдет снова

я бы попробовал по одному условия отключать и смотреть в результат запроса
что-то с установкой параметров не то, скорее всего

и вот это

```1c
    СпецификацииМедУслугРабочиеМеста.Ссылка.Активная = ИСТИНА
```

можно заменить на простое

```1c
    СпецификацииМедУслугРабочиеМеста.Ссылка.Активная
```
---
Итоговый код получился таким:

```1c
    ВЫБРАТЬ
    СпецификацииМедУслугРабочиеМеста.Ссылка.Номенклатура КАК Номенклатура,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СпецификацииМедУслугРабочиеМеста.МестоВыполнения) КАК МестоВыполнения
    ИЗ
    Справочник.СпецификацииМедицинскихУслуг.МестаВыполненияЭтапов КАК СпецификацииМедУслугРабочиеМеста
    ГДЕ
    СпецификацииМедУслугРабочиеМеста.Ссылка.Активная = ИСТИНА
    И (СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто1
    ИЛИ СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто2
    ИЛИ СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто3)

    СГРУППИРОВАТЬ ПО
    СпецификацииМедУслугРабочиеМеста.Ссылка,
    СпецификацииМедУслугРабочиеМеста.Ссылка.Номенклатура,

    ИМЕЮЩИЕ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ СпецификацииМедУслугРабочиеМеста.МестоВыполнения) = &КоличествоРабочихМест
```
---
Не ручаюсь, что синтаксис - контроль не ругнётся, но принцип, думаю, понятен.

```1c
    ВЫБРАТЬ
    СпецификацииМедУслугРабочиеМеста.Ссылка.Номенклатура КАК Ссылка,
    Количество(Различные СпецификацииМедУслугРабочиеМеста.МестоВыполнения) Как МестоВыполнения
    ИЗ
    Справочник.СпецификацииМедицинскихУслуг.МестаВыполненияЭтапов КАК СпецификацииМедУслугРабочиеМеста
    ГДЕ
    СпецификацииМедУслугРабочиеМеста.Ссылка.Активная = ИСТИНА
    И (СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто1
    ИЛИ СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто2
    ИЛИ СпецификацииМедУслугРабочиеМеста.МестоВыполнения = &РабочееМесто3"

    СГРУППИРОВАТЬ ПО
    СпецификацииМедУслугРабочиеМеста.Ссылка

    ИМЕЮЩИЕ
    Количество(Различные СпецификацииМедУслугРабочиеМеста.МестоВыполнения) = 3
```

Выбрать все, в которых попадётся хотя бы один из параметров и сгруппировать. Где попадётся три, то и выбирать.
---
Благодарю!!! Всё получилось :)