Имя: Пароль:
1C
1С v8
Запрос с отбором по доп. реквизитам
0 live in sky dreams
 
26.12.17
12:15
Есть справочник. В справочнике есть ТЧ ДополнительныеРеквизиты
В ТЧ реквизиты "Свойство" и "Значение"
Тип "Свойство" - ПланВидовХарактеристикСсылка.ДополнительныеРеквизитыИСведения
Тип "Значение" - Характеристика.ДополнительныеРеквизитыИСведения соответственно

Мне необходимо в запросе отобрать элементы этого справочника, в которых ХарактеристикаА = ЗначениеА И ХарактеристикаБ = ЗначениеБ

Собираюсь строить запрос к ТЧ "ДополнительныеРеквизиты" справочника, но не пойму как..

Есть доп. реквизиты "Дата" и "Номер"

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

Я пока умнее чем то, что ниже не придумал.

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

СГРУППИРОВАТЬ ПО
    ВходящиеДокументыПоРеквизитуА.Ссылка


Как то не комильфо, 2 раза одну и ту же таблицу перебираем. Как то постройнее и побыстрее хотелось бы, так как справочник будет расти и расти
1 live in sky dreams
 
26.12.17
12:22
Первая строка в "ГДЕ" лишняя
2 live in sky dreams
 
26.12.17
12:30
Хм.. а вот так?

ВЫБРАТЬ
    ВходящиеДокументыДополнительныеРеквизиты.Ссылка КАК Ссылка,
    СУММА(1) КАК Счетчик
ИЗ
    Справочник.ВходящиеДокументы.ДополнительныеРеквизиты КАК ВходящиеДокументыДополнительныеРеквизиты
ГДЕ
    ВходящиеДокументыДополнительныеРеквизиты.Значение В(&СписокЗначенийАБ)

СГРУППИРОВАТЬ ПО
    ВходящиеДокументыДополнительныеРеквизиты.Ссылка

ИМЕЮЩИЕ
    СУММА(1) > 1

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