Поиск характеристики по значениям свойств #535162


#0 by d_elian
Господа, подскажите, как эффективно решается задача поиска характеристики, если известны свойства и их значения? Я вот, написал такой запрос...    ЗначенияСвойствОбъектов.Объект ИЗ                    ЗначенияСвойствОбъектов.Свойство = &СвойствоЦвет                    И ЗначенияСвойствОбъектов.Значение В                            (ВЫБРАТЬ                                ЗначенияСвойствОбъектов.Ссылка                            ИЗ            И ЗначенияСвойствОбъектов.Значение В                    (ВЫБРАТЬ                        ЗначенияСвойствОбъектов.Ссылка                    ИЗ    ЗначенияСвойствОбъектов.Свойство = &СвойствоРазмер    И ЗначенияСвойствОбъектов.Значение В            (ВЫБРАТЬ                ЗначенияСвойствОбъектов.Ссылка            ИЗ но тут идет поиск по трем свойствам всего... а если их десять?? и что-то мне подсказывает что должен быть способ более эффективный... никто не в курсе?
#1 by Птица
да, это будет сильно тормозить на больших объемах
#2 by Птица
я сделала подобное через пакетный запрос, тоже не сказать, что летает, но все же раза в 3 побыстрее
#3 by Птица
а, хотя нет, тут используется вложенный, может и не будет сильно тормозить. в принципе, та же идея, что с пакетным
#4 by acsent
Выборка из справочника + соединение столько раз сколько свойств
#5 by PVV65
Я чойто не пойму - почему нельзя написать просто: ИЗ    РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов    ЗначенияСвойствОбъектов.Свойство В(&Свойства)    И ЗначенияСвойствОбъектов.Значение В(&Значения)
#6 by acsent
сам попробуй
#7 by PVV65
Прежде чем писать пробую.
#8 by acsent
Если у 1 объекта будет первое совйтво. а у 2-го второе совйство, чито выдаст твой запрос?
#9 by PVV65
Сам попробуй.
#10 by PVV65
Объект                            Свойство Значение -------------------------------------------------- МДФ профиль 2201 алюминий 2,8м    Отходы     истина Жердь телескопическая            Бренд     Ambos Петля ДСП внутренняя  ARISTO Cr    Бренд     Aristo Петля ДСП накладная ARISTO Cr    Бренд     Aristo Петля ДСП полунакладная ARISTO    Бренд     Aristo Петля ДСП угол +35х ARISTO Cr    Бренд     Aristo Петля ДСП угол 175 ARISTO Cr    Бренд     Aristo
#11 by d_elian
ну либо ты вопрос не понял, либо действительно предлагаешь не пойми что... твой запрос вернет все объекты у которых есть свойства из списка и есть значения из списка... но при этом значения эти могут быть вовсе не к нужным свойствам относится... например мне нужна Длина=3 и Ширина=2, а твой запрос мне вернет те, у которых Длина = 2 или 3 и Ширина = 2 или 3 ... понимаешь?
#12 by PVV65
Это я понимаю. Применения запроса к свойствам сильно зависит от самих свойств. В приведенном в запрос из не годится. В любом случае можно обойтись без соединений. В случае из надо динамически сформировать запрос, применяя конструкции "ВЫБОР КОГДА ЗначенияСвойствОбъектов.Свойство = &Свойство1 ТОГДА ЗначенияСвойствОбъектов.Значение КАК Значение1", а в условии поставить отборы на сочетание значений.
#13 by PVV65
+ И применить группировку.
#14 by d_elian
нчего не понял... как используюся ВЫБОР КОГДА ... ТОГДА получить характеристику, в котрой длина=2 и ширина=3?... можешь написать?
#15 by hhhh
ВЫБРАТЬ    ЗначенияСвойствОбъектов1.Объект ИЗ
#16 by PVV65
ВЫБРАТЬ    ВложенныйЗапрос.Объект,        И ЗначенияСвойствОбъектов.Свойство В(&СписокСвойств)
#17 by acsent
ППЦ
#18 by PVV65
Когда сказать нечего - лучше молчи.
#19 by acsent
ВЫБРАТЬ    Спр.Ссылка ИЗ
#20 by acsent
При этом данный запрос ЛЕГКО масштабтруется на любое количество свойств
#21 by PVV65
Смешать ХАРАКТЕРИСТИКИ и СВОЙСТВА - это надо уметь.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С