Имя: Пароль:
1C
1С v8
И Сново старый добрый непонятно как построить запрос :-)
0 Драмаченко Григорий
 
24.05.22
14:50
Друзья Вы меня скоро пошлете с моими вопросами но вот думаю, думаю весь день смотрел примеры и пробовал чего то добиться но не получилось
помогите построить запрос.

в общем имеем два вида цен назовем их А , Б

так вот необходимо показать все товары и их цены при условии что ПО  виду цены А цена больше ноля (то-есть) заполнена и по Виду Б цена либо ноль либо вообще не внесена в регистр

Вот запрос который выводит товары у которых цена заполнена по виду цены А

Запрос = Новый Запрос;
                    Запрос.Текст =
                    "ВЫБРАТЬ
                    |    СправочникНоменклатура.Ссылка КАК Номенклатура,
                    |    Цены.Цена КАК Цена
                    |ИЗ
                    |    Справочник.Номенклатура КАК СправочникНоменклатура
                    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены
                    |        ПО СправочникНоменклатура.Ссылка = Цены.Номенклатура
                    |ГДЕ
                    |    НЕ СправочникНоменклатура.ЭтоГруппа
                    |    И ЕстьNULL(Цены.Цена,0) > 0";

но как его допистаь так что бы он смотрел еще и на вид цены Б и что бы она ноль либо вообще ее не было в регистре
1 Драмаченко Григорий
 
24.05.22
14:52
я как бы представляю что это будет несколько запросов но как их объединить не понимаю (
2 Драмаченко Григорий
 
24.05.22
14:53
Запрос = Новый Запрос;
                    Запрос.Текст =
                    "ВЫБРАТЬ
                    |    СправочникНоменклатура.Ссылка КАК Номенклатура,
                    |    Цены.Цена КАК Цена
                    |ИЗ
                    |    Справочник.Номенклатура КАК СправочникНоменклатура
                    |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦеныБ) КАК Цены
                    |        ПО СправочникНоменклатура.Ссылка = Цены.Номенклатура
                    |ГДЕ
                    |    НЕ СправочникНоменклатура.ЭтоГруппа
                    |    И ЕстьNULL(Цены.Цена,0) = 0";

это запрос где цена ноль либо не заполнена вовсе

как их объединить?
3 2S
 
24.05.22
14:54
ну еще одно левое соединение и условие накладывай
4 Драмаченко Григорий
 
24.05.22
14:57
(30 да я читал об этом но не понимаю как это писать (
5 Жан Пердежон
 
24.05.22
14:58
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦеныA) КАК ЦеныA
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦеныБ) КАК ЦеныБ
ПО ЦеныA.Номенклатура = ЦеныБ.Номенклатура
ГДЕ
  ЦеныA.Цена > 0 И ЕСТЬNULL(ЦеныБ.Цена, 0) = 0
6 Драмаченко Григорий
 
24.05.22
14:58
(3) щас накидаю, поможете исправить так как рабочего варианта у меня не вышло (
7 Драмаченко Григорий
 
24.05.22
14:59
упс за меня уже накидали ) (5) спаибо Вам огромное так просто ( что аш стыдно
8 Драмаченко Григорий
 
24.05.22
15:02
(5) тут не понятно а где |    Справочник.Номенклатура КАК СправочникНоменклатура ?

мне же необходимо отобрать все товары
9 Драмаченко Григорий
 
24.05.22
15:02
(5) хотя Вы правы! а зачем? когда мне обязательно нужна заполненая по виду А
10 Драмаченко Григорий
 
24.05.22
15:15
(9) да! это сработало!