Имя: Пароль:
1C
1С v8
Запрос
0 Sasha_uu
 
07.10.11
07:02
Пишу запрос

ВЫБРАТЬ
   СписокНоменклатуры.Ссылка КАК Ссылка,
   СписокНоменклатуры.Родитель КАК Родитель,
   ВЫБОР
       КОГДА ЕСТЬNULL(СвойстваОбъектовНаим.Значение, "") = ""
           ТОГДА СписокНоменклатуры.Наименование
       ИНАЧЕ СвойстваОбъектовНаим.Значение
   КОНЕЦ КАК Наименование,
   СписокНоменклатуры.СтавкаНДС
ИЗ
   Справочник.Номенклатура КАК СписокНоменклатуры
       ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.мт_ЗначенияСвойствОбъектов КАК СвойстваОбъектовНаим
       ПО СписокНоменклатуры.Ссылка = СвойстваОбъектовНаим.Объект
ГДЕ
   (НЕ СписокНоменклатуры.ЭтоГруппа)
   И СвойстваОбъектовНаим.Свойство = &лСвойствоНаим
   И СписокНоменклатуры.Ссылка В ИЕРАРХИИ
           (ВЫБРАТЬ
               мт_ТоварыМаршрута.Номенклатура
           ИЗ
               РегистрСведений.мт_ТоварыМаршрута КАК мт_ТоварыМаршрута
           ГДЕ
               мт_ТоварыМаршрута.Маршрут = &ТекущийМаршрут)

СГРУППИРОВАТЬ ПО
   СписокНоменклатуры.Ссылка,
   СписокНоменклатуры.Родитель,
   ВЫБОР
       КОГДА ЕСТЬNULL(СвойстваОбъектовНаим.Значение, "") = ""
           ТОГДА СписокНоменклатуры.Наименование
       ИНАЧЕ СвойстваОбъектовНаим.Значение
   КОНЕЦ,
   СписокНоменклатуры.СтавкаНДС
АВТОУПОРЯДОЧИВАНИЕ

Косяк в том что когда ставлю условия по свойству запрос выходит пустой, если убираю условие по свойству запрос выдает данные.В чем косяк?
1 Rie
 
07.10.11
07:03
(0) Ну, наверное в том, что нет данных, удовлетворяющих этому условию.
2 strange2007
 
07.10.11
07:03
Может свойства не заполнены у всех номенклатур?
3 catena
 
07.10.11
07:10
Несовпадение типов СвойстваОбъектовНаим.Свойство и &лСвойствоНаим?
4 Sasha_uu
 
07.10.11
07:12
в запросе стоит левоеСоединение с регистром сведений. При любом расскладе в независемости от того есть или нет свойства он должен вывести номенклатуру
5 Rie
 
07.10.11
07:14
(4) С чего бы? У тебя в условии - проверка стоит и непосредственно на номенклатуру.
6 catena
 
07.10.11
07:21
(4)Гыгы. У тебя условие И СвойстваОбъектовНаим.Свойство = &лСвойствоНаим
На ВСЮ выборку, а не на левую таблицу.
7 Sasha_uu
 
07.10.11
07:27
Как установить условие на левую таблицу?
8 Rie
 
07.10.11
07:28
(7) В подзапрос её, заразу. И в подзапросе - условие.
(только ведь "левая таблица" у тебя - это Справочник.Номенклатура?)
9 Sasha_uu
 
07.10.11
07:31
(8) левое соединение в запросе.Как писать?
10 viktor_vv
 
07.10.11
07:34
В ПО добавь это условие и убери из Где.
11 catena
 
07.10.11
07:38
Замени
РегистрСведений.мт_ЗначенияСвойствОбъектов
На
(Выбрать
ЗСО.Значение,
ЗСО.Наименование
из РегистрСведений.мт_ЗначенияСвойствОбъектов как ЗСО
где ЗСО.Свойство = &лСвойствоНаим)
12 Sasha_uu
 
07.10.11
07:41
(10) что такое ПО?
13 Sasha_uu
 
07.10.11
07:42
Все получилось, спасибо
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс