Добрый день.

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

Хотелось бы это все провернуть с помощью запроса, но не соображу с алгоритмом.
Можно весь справочник выгрузить в таблицу и в цикле отбирать строки по условию, но как то это "не гламурно".
---
```1c
    ВЫБРАТЬ
    СправочникДР.Ссылка КАК Ссылка,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Свойства.НомерСтроки) КАК Количество
    ИЗ
    Справочник.МойСправочник.ДополнительныеРеквизиты КАК СправочникДР
    ГДЕ
    (СправочникДР.Свойство = &Свойство1
    И СправочникДР.Значение = &Значение1)
    ИЛИ (СправочникДР.Свойство = &Свойство2
    И СправочникДР.Значение = &Значение2)

    СГРУППИРОВАТЬ ПО
    Свойства.Ссылка

    ИМЕЮЩИЕ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Свойства.НомерСтроки) = &КоличествоСвойств
```
---
Берем консоль запросов. Пишем запрос к требуемой таблице, здесь это, наверное, тч справочника. Передаем параметры.
Потом надо будет еще добавить условие, что все параметры присутствуют в выборке, но это потом. Где результат выполнения первой части задачи?
---
Спасибо, что просто не написал :"Нужно написать запрос".

Запрос примерно выглядит так
```1c
    ВЫБРАТЬ
    ХарактеристикиНоменклатурыДополнительныеРеквизиты.Ссылка КАК Ссылка,
    ХарактеристикиНоменклатурыДополнительныеРеквизиты.Свойство КАК Свойство,
    ХарактеристикиНоменклатурыДополнительныеРеквизиты.Значение КАК Значение
    ИЗ
    Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХарактеристикиНоменклатурыДополнительныеРеквизиты
    ГДЕ
    (ХарактеристикиНоменклатурыДополнительныеРеквизиты.Свойство = &Свойство1
    И ХарактеристикиНоменклатурыДополнительныеРеквизиты.Значение = &Значение1)
    И (ХарактеристикиНоменклатурыДополнительныеРеквизиты.Свойство = &Свойство2
    И ХарактеристикиНоменклатурыДополнительныеРеквизиты.Значение = &Значение2)
```

В таком случае получаю 0 строчек, если "И" меняю на "ИЛИ" получаю много лишнего.
---
ЗначенияСвойствОбъектов, вроде так называется регистр сведений, куда все значения, записанные в тч дополнительные реквизиты записываются, нужно запрос к нему делать, Объект это и будет нужный элемент справочника, а свойства и значения передать массивами в параметры
---
но сработает если справочник не самописный, если же самописный - то смотрите, куда у Вас там значения эти записываются.
---
дополнительные реквизиты записываются, нужно запрос к нему делать, Объект это и будет нужный элемент справочника, а свойства и значения передать массивами в параметры

Это не РС, а справочник в которм хранятся значения дополнительных реквизитов .... просто сами ссылки на эти значения. А привязка каждого значения хранится именно в таблице ДополнительныеРеквизиты

(6) Это стандартный механизм БСП
---
В этом запросе ты хочешь получить строки, в которых свойство сразу и 1 и 2. И значение.
Было бы странно, если бы там было не пусто...
Может быть, здесь надо получить отдельно элементы, у которых есть свойство 1, отдельно - у которых свойство 2? ведь каждое свойство - это разные строки в таблице базы данных...?
Получим два набора элементов, потом их пересечение даст нам искомое?
---
```1c
    ВЫБРАТЬ
    СправочникДР.Ссылка КАК Ссылка,
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Свойства.НомерСтроки) КАК Количество
    ИЗ
    Справочник.МойСправочник.ДополнительныеРеквизиты КАК СправочникДР
    ГДЕ
    (СправочникДР.Свойство = &Свойство1
    И СправочникДР.Значение = &Значение1)
    ИЛИ (СправочникДР.Свойство = &Свойство2
    И СправочникДР.Значение = &Значение2)

    СГРУППИРОВАТЬ ПО
    Свойства.Ссылка

    ИМЕЮЩИЕ
    КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Свойства.НомерСтроки) = &КоличествоСвойств
```
---
А вот это интересное решение - буду пробовать. Спасибо!!!