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