Имя: Пароль:
1C
1С v8
Подскажите с запросом
, ,
0 volchara
 
28.08.18
01:26
Уважаемые гуру, подскажите пожалуйста как правильно написать конструкцию ВЫБОР в условии В для кода:

| И  
          
     |   Выбор КОГДА Номенклатура.ВестиУчетПоХарактеристикам=Ложь
        |Тогда  (Номенклатура,ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
        |Иначе
        | (Номенклатура, ХарактеристикаНоменклатуры)
        |Конец
    |     В  

    |                        (ВЫБРАТЬ
    |                            ВремНоменклатураСХарактеристиками.Номенклатура,
    |                            ВремНоменклатураСХарактеристиками.Характеристика
    |                        ИЗ
    |                            ВремНоменклатураСХарактеристиками)

....

Выдает ошибку "В  запросах операции "в" должно выбираться столько полей, сколько операндов имеет левая часть"
1 dchumak
 
28.08.18
03:00
Если во вложенном запросе выбираешь номенклатуру, характеристику, то и в запросе где выбор, тоже должны быть поля номенклатура, характеристика.
2 dchumak
 
28.08.18
03:01
Хотя, у тебя запрос вообще непонятно что.
Исходные требования какие? Что выбрать надо?
3 volchara
 
28.08.18
03:57
(2) Нужно из внутреннего запроса выбрать номенклатуру и х-ку, но если не ведется учет по х-ке то номенклатуру с пустой х-кой. Но это не важно, условие (Номенклатура,ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)) В    работает, и (Номенклатура, ХарактеристикаНоменклатуры) В    работает, а через ВЫБОР нет.
4 dchumak
 
28.08.18
04:31
(3)
выбрать
ВремНоменклатураСХарактеристиками.Номенклатура,
ВремНоменклатураСХарактеристиками.Характеристика

из
ВЫБРАТЬ                            ВремНоменклатураСХарактеристиками.Номенклатура,                           ВремНоменклатураСХарактеристиками.Характеристика
   ИЗ                            ВремНоменклатураСХарактеристиками) КАК ВремНоменклатураСХарактеристиками

И все!
5 dchumak
 
28.08.18
04:32
условие в выборе не нужно, т.к. во вложенном запросе все отработает: если там есть характеристика, то выведется, если нет, то будет пустая ссылка.
6 dchumak
 
28.08.18
04:33
(3) а в выборе и нельзя так делать.
7 volchara
 
28.08.18
10:55
(5) Мне нужно чтобы независимо от того есть ли характеритика во вложеном запросе в отбор попадала номенклатура с пустой хар-кой если по номенклатуре не ведется учет по х-ке.
8 volchara
 
28.08.18
11:01
То (5) Тоесть в таблице Товар1 Характеристика1, Товар1 Характеристика2.  Нужно чтобы если товар1.ВестиУчетПоХарактеристикам=Ложь Попало Товар1 ХарактеристикиНоменклатуры.ПустаяСсылка, Товар1 ХарактеристикиНоменклатуры.ПустаяСсылка
9 Ненавижу 1С
 
гуру
28.08.18
11:06
1 В
(
ВЫБРАТЬ 1
ИЗ ВремНоменклатураСХарактеристиками КАК ВТ
ГДЕ
ТвояТаблица.Номенклатура = ВТ.Номенклатура
И
(
(ТвояТаблица.Номенклатура.ВестиУчетПоХарактеристикам
И
ТвояТаблица.Характеристика = ВТ.Характеристика)
ИЛИ
(НЕ ТвояТаблица.Номенклатура.ВестиУчетПоХарактеристикам
И
ВТ.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
)
)
10 volchara
 
28.08.18
14:45
(9) Спасибо
11 dmt
 
28.08.18
16:17
И
(Выбор когда тогда конец, Выбор когда тогда конец)
В (выбрать Поле1, Поле2 из Т)
12 volchara
 
28.08.18
21:47
(11) Спасибо
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший