|
|
|
Как построить запрос по нескольким элементам | ☑ | ||
|---|---|---|---|---|
|
0
est
02.10.04
✎
22:28
|
УТ 8.0 - Проблема: для нескольких элементов справочника "Номенклатура" выбрать значения свойств, в том числе назначенных, но не заданных (отсутствующих в РегСвед "ЗначенияСвойствОбъектов".
Для одного элемента в УТ делается примерно так: Запрос.УстановитьПараметр("НазначениеСвойств", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура); Запрос.УстановитьПараметр("ОбъектОтбораЗначений", Товар); "ВЫБРАТЬ РАЗЛИЧНЫЕ | СвойстваОбъектов.Ссылка КАК Свойство, | СвойстваОбъектов.НазначениеСвойства КАК НазначениеСвойства, | РегистрСведений.ЗначенияСвойствОбъектов.Значение КАК Значение |ИЗ (ВЫБРАТЬ | ПланВидовХарактеристик.СвойстваОбъектов.Ссылка КАК Ссылка, | ПланВидовХарактеристик.СвойстваОбъектов.ПометкаУдаления КАК ПометкаУдаления, | ПланВидовХарактеристик.СвойстваОбъектов.НазначениеСвойства КАК НазначениеСвойства | ИЗ ПланВидовХарактеристик.СвойстваОбъектов | ГДЕ ПланВидовХарактеристик.СвойстваОбъектов.НазначениеСвойства В ( &НазначениеСвойств ) | ) КАК СвойстваОбъектов |ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов |ПО РегистрСведений.ЗначенияСвойствОбъектов.Свойство = СвойстваОбъектов.Ссылка | И РегистрСведений.ЗначенияСвойствОбъектов.Объект = &ОбъектОтбораЗначений"; Подскажите, как построить запрос для нескольких элементов Номенклатуры |
|||
|
1
Волшебник
03.10.04
✎
09:53
|
ВЫБРАТЬ РАЗЛИЧНЫЕ
РегистрСведений.ЗначенияСвойствОбъектов.Объект КАК Объект, СвойстваОбъектов.Ссылка КАК Свойство, РегистрСведений.ЗначенияСвойствОбъектов.Значение КАК Значение ИЗ (ВЫБРАТЬ ПланВидовХарактеристик.СвойстваОбъектов.Ссылка КАК Ссылка, ПланВидовХарактеристик.СвойстваОбъектов.ПометкаУдаления КАК ПометкаУдаления, ПланВидовХарактеристик.СвойстваОбъектов.НазначениеСвойства КАК НазначениеСвойства ИЗ ПланВидовХарактеристик.СвойстваОбъектов ГДЕ ПланВидовХарактеристик.СвойстваОбъектов.НазначениеСвойства В ( &НазначениеСвойств ) ) КАК СвойстваОбъектов ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов ПО РегистрСведений.ЗначенияСвойствОбъектов.Свойство = СвойстваОбъектов.Ссылка И РегистрСведений.ЗначенияСвойствОбъектов.Объект В ИЕРАРХИИ (&ОбъектОтбораЗначений) --------------- В параметр ОбъектОтбораЗначений нужно передать список элементов номенклатуры или группу справочника. |
|||
|
2
est
03.10.04
✎
12:04
|
Уважаемый Волшебник, спасибо за внимание.
В предложенном варианте выбираются ИМЕЮЩИЕСЯ данные из РегСвед. Однако существуют ситуации, когда свойство назначено элементу Номенклатуры, а значение не задано - в регистре строка со свойством и значением не появляется. В примере с одним элементом соединяются полный набор назначенных элементу свойств и записи регистра для элемента, свойства отсутствующие в регистре имеют значение Null. |
|||
|
3
Волшебник
03.10.04
✎
12:43
|
ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Номенклатура, ПВХСвойство Свойство, Значение
ИЗ Справочник.Номенклатура КАК СпрНоменклатура ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПланВидовХарактеристик.СвойстваОбъектов.Ссылка КАК ПВХСвойство, ПланВидовХарактеристик.СвойстваОбъектов.ПометкаУдаления КАК ПометкаУдаления, ПланВидовХарактеристик.СвойстваОбъектов.НазначениеСвойства КАК НазначениеСвойства ИЗ ПланВидовХарактеристик.СвойстваОбъектов ГДЕ ПланВидовХарактеристик.СвойстваОбъектов.НазначениеСвойства В ( &НазначениеСвойств ) ) КАК СвойстваОбъектов ПО Истина ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов ПО РегистрСведений.ЗначенияСвойствОбъектов.Свойство = ПВХСвойство И РегистрСведений.ЗначенияСвойствОбъектов.Объект = СпрНоменклатура.Ссылка ГДЕ СпрНоменклатура.Ссылка В ИЕРАРХИИ (&ОбъектОтбораЗначений) --------------- Этот запрос не учитывает регистр сведений "Назначения свойств объектов", в котором перечислены конкретные позиции номенклатуры и группы для свойства. Поэтому в запросе выдаются все свойства, представленные в ПВХ "СвойстваОбъектов", действующие для справочника "Номенклатура". |
|||
|
4
est
03.10.04
✎
13:32
|
Спасибо Волшебнику - все получилось. Т.е. использованием условия "ПО ИСТИНА" можно соединять таблицы без совпадающих полей?
|
|||
|
5
Волшебник
03.10.04
✎
13:33
|
(4) Вообще-то это трюк, который не рекомендуется к применению. В результате получается декартово произведение таблиц.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |