Имя: Пароль:
1C
1С v8
ВЫБОР
,
0 antiteror91
 
10.09.12
07:45
Подскажите пожалуйста как правильно оформить выбор в выборе. Вот мой запрос:

ВЫБРАТЬ
   ВТШтрихкодСХарактеристиками.Номенклатура,
   ВТШтрихкодСХарактеристиками.Характеристика,
   ВЫБОР
       КОГДА КодыПЛУ.Код ЕСТЬ NULL
           ТОГДА " "
           ИНАЧЕ КодыПЛУ.Код
   КОНЕЦ КАК Код,
   ВЫБОР
       КОГДА ВТШтрихкодСХарактеристиками.Характеристика = Значение(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
       ТОГДА
               ВЫБОР
                   КОГДА ОстаткиТоваровБезХакактеристик.КоличествоОстаток ЕСТЬ NULL
                   ТОГДА 0
                   ИНАЧЕ ОстаткиТоваровБезХакактеристик.КоличествоОстаток
               КОНЕЦ КАК КоличествоОстаток
       ИНАЧЕ
               ВЫБОР
                   КОГДА ОстаткиТоваровСХакактеристиками.КоличествоОстаток ЕСТЬ NULL
                   ТОГДА 0
                   ИНАЧЕ ОстаткиТоваровСХакактеристиками.КоличествоОстаток
               КОНЕЦ КАК КоличествоОстаток
   КОНЕЦ КАК КоличествоОстаток,
   ВЫБОР
       КОГДА ВТШтрихкодСХарактеристиками.Характеристика = Значение(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
       ТОГДА
               ВЫБОР
                   КОГДА ВТЦеныБезХакактеристик.Цена ЕСТЬ NULL
                   ТОГДА 0
                   ИНАЧЕ ВТЦеныБезХакактеристик.Цена
               КОНЕЦ КАК Цена
       ИНАЧЕ
               ВЫБОР
                   КОГДА ВВТЦеныСХакактеристиками.Цена ЕСТЬ NULL
                   ТОГДА 0
                   ИНАЧЕ ВТЦеныСХакактеристиками.Цена
               КОНЕЦ КАК Цена
   КОНЕЦ КАК Цена,
   ВЫБОР
       КОГДА ВТШтрихкодСХарактеристиками.Штрихкод ЕСТЬ NULL
           ТОГДА " "
           ИНАЧЕ ВТШтрихкодСХарактеристиками.Штрихкод
   КОНЕЦ КАК Штрихкод
ИЗ ВТШтрихкодСХарактеристиками
ЛЕВОЕ СОЕДИНЕНИЕ КодыПЛУ
ПО ВТШтрихкодСХарактеристиками.Номенклатура = КодыПЛУ.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиТоваровБезХакактеристик
ПО ВТШтрихкодСХарактеристиками.Номенклатура = ОстаткиТоваровБезХакактеристик.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ ОстаткиТоваровСХакактеристиками
ПО ВТШтрихкодСХарактеристиками.Номенклатура = ОстаткиТоваровСХакактеристиками.Номенклатура
И ВТШтрихкодСХарактеристиками.Характеристика = ОстаткиТоваровСХакактеристиками.Характеристика
ЛЕВОЕ СОЕДИНЕНИЕ ВТЦеныБезХакактеристик
ПО ВТШтрихкодСХарактеристиками.Номенклатура = ВТЦеныБезХакактеристик.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ ВТЦеныСХакактеристиками
ПО ВТШтрихкодСХарактеристиками.Номенклатура = ВТЦеныСХакактеристиками.Номенклатура
И ВТШтрихкодСХарактеристиками.Характеристика = ВТЦеныСХакактеристиками.Характеристика;
1 Rie
 
10.09.12
07:48
(0) Оператор И поможет избавиться от вложенного выбора.
Ну и не надо вложенным выборам псевдонимы давать.
2 SanGvin
 
10.09.12
07:49
еще
КОГДА КодыПЛУ.Код ЕСТЬ NULL
           ТОГДА " "
           ИНАЧЕ КодыПЛУ.Код
КОНЕЦ КАК Код

можно заменить на ЕСТЬNULL(КодыПЛУ.Код," ")
3 SanGvin
 
10.09.12
07:49
или не?
4 Rie
 
10.09.12
07:50
(2) Можно :-)
5 antiteror91
 
10.09.12
07:52
(1) (2) у меня проблема с вот этим выбором:
ВЫБОР
       КОГДА ВТШтрихкодСХарактеристиками.Характеристика = Значение(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
       ТОГДА
               ВЫБОР
                   КОГДА ОстаткиТоваровБезХакактеристик.КоличествоОстаток ЕСТЬ NULL
                   ТОГДА 0
                   ИНАЧЕ ОстаткиТоваровБезХакактеристик.КоличествоОстаток
               КОНЕЦ КАК КоличествоОстаток
       ИНАЧЕ
               ВЫБОР
                   КОГДА ОстаткиТоваровСХакактеристиками.КоличествоОстаток ЕСТЬ NULL
                   ТОГДА 0
                   ИНАЧЕ ОстаткиТоваровСХакактеристиками.КоличествоОстаток
               КОНЕЦ КАК КоличествоОстаток
   КОНЕЦ КАК КоличествоОстаток
че с ним делать?
6 Rie
 
10.09.12
07:54
(5)
ВЫБОР
       КОГДА ВТШтрихкодСХарактеристиками.Характеристика = Значение(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
       ТОГДА ЕСТЬNULL(ОстаткиТоваровБезХакактеристик.КоличествоОстаток,0)
       ИНАЧЕ ЕСТЬNULL(ОстаткиТоваровСХакактеристиками.КоличествоОстаток,0)
   КОНЕЦ КАК КоличествоОстаток
7 antiteror91
 
10.09.12
08:12
(6) все получилось спасибо! а все таки есть возможность использовать выбор в выборе?
8 ДенисЧ
 
10.09.12
08:19
(7) есть
9 Rie
 
10.09.12
08:19
(7) Есть. Но зачем?
10 antiteror91
 
10.09.12
08:27
(8) (9) а как правильно? просто несколько раз уже сталкивался с использование выбора в выборе а у меня ошибку выводит
11 Rie
 
10.09.12
08:29
(10) См. (1). Не надо вложенным ВЫБОР давать псевдонимы.
12 notebug
 
10.09.12
08:35
в (5) нужно только внешнему выбору псевдоним давать.
зы, в конструкторе пилим и проблем не видим.
13 notebug
 
10.09.12
08:42
(11) +1