|
Запрос Выбирает только цены с нулевым значением | ☑ | ||
---|---|---|---|---|
0
Драмаченко Григорий
23.05.22
✎
13:53
|
Привет! и с ново я со своими тупыми вопросами )
Написал запрос он в принципе меня усстраивает но не понимаю почему он выводит товары только те, у которых заполнена цена со значением "0" то-есть те у которых есть запись в регистре сведений Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Цены.Номенклатура КАК Номенклатура, | Цены.Цена КАК Цена |ИЗ | Справочник.Номенклатура КАК СправочникНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены | ПО СправочникНоменклатура.Ссылка = Цены.Номенклатура |ГДЕ | СправочникНоменклатура.ЭтоГруппа = &ЭтоГруппа | И Цены.Цена = &НулеваяЦена"; Запрос.УстановитьПараметр("ВидЦены", ВидЦеныСтр.ВидЦеныИсходный.Ссылка); Запрос.УстановитьПараметр("НулеваяЦена", 0); Запрос.УстановитьПараметр("Период", ТекущаяДата()); Запрос.УстановитьПараметр("ЭтоГруппа", Ложь); РезультатЗапроса = Запрос.Выполнить(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл как показать товары даже те у которы нету вооще записи в регистре? |
|||
1
2S
23.05.22
✎
13:55
|
бикоз
| И Цены.Цена = &НулеваяЦена"; |
|||
2
2S
23.05.22
✎
13:55
|
СправочникНоменклатура.ЭтоГруппа = &ЭтоГруппа
напиши как НЕ СправочникНоменклатура.ЭтоГруппа |
|||
3
Said_We
23.05.22
✎
13:56
|
(0) Примерно тот же вопрос.
Почему сравнение с NULL не работает ожидаемым образом? |
|||
4
Драмаченко Григорий
23.05.22
✎
13:57
|
(1) мне нужно что бы запрос вернул вс етовары у которых либо цена ноль либо вообще нету записи в регистре ЦеныНоменклатуры
|
|||
5
Said_We
23.05.22
✎
13:58
|
(0) "&НулеваяЦена" может быть равна немножечко не нулю. Зачем параметр?
И ЕстьNULL(Цены.Цена,0) = 0 |
|||
6
Драмаченко Григорий
23.05.22
✎
14:01
|
(5)
Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | СправочникНоменклатура.Ссылка КАК Номенклатура, | Цены.Цена КАК Цена |ИЗ | Справочник.Номенклатура КАК СправочникНоменклатура | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены) КАК Цены | ПО СправочникНоменклатура.Ссылка = Цены.Номенклатура |ГДЕ | СправочникНоменклатура.ЭтоГруппа = &ЭтоГруппа | И ЕстьNULL(Цены.Цена,0) = 0"; Запрос.УстановитьПараметр("ВидЦены", ВидЦеныСтр.ВидЦеныИсходный.Ссылка); //Запрос.УстановитьПараметр("НулеваяЦена", 0); Запрос.УстановитьПараметр("Период", ТекущаяДата()); Запрос.УстановитьПараметр("ЭтоГруппа", Ложь); Пробую (2) не понимаю где это написать я еще зеленый в запросах ( |
|||
7
Драмаченко Григорий
23.05.22
✎
14:02
|
(5) объясните пожалуйста что значит И ЕстьNULL(Цены.Цена,0) = 0
то есть если типа нету записи в регистре то выведет все равно ноль? или как? |
|||
8
Said_We
23.05.22
✎
14:02
|
(6) А что не поправил условие на ЭтоГруппа как в (2) написано?
|
|||
9
Драмаченко Григорий
23.05.22
✎
14:03
|
(70 я в (6) написал что не понимаю как написать такое условие :-(
|
|||
10
Драмаченко Григорий
23.05.22
✎
14:04
|
(50 да так работает но не могли бы объяснить в чем волшебство
|
|||
11
Said_We
23.05.22
✎
14:04
|
(7) Если нет записи, то будет NULL. А NULL переворачиваем в 0 и делаем сравнение.
Запускай старую консоль в толстом клиенте и смотри на данные живьём. НЕ СправочникНоменклатура.ЭтоГруппа Вместо того ч с параметром нарисовано. ЭтоГруппа и так тип булево. |
|||
12
Драмаченко Григорий
23.05.22
✎
15:39
|
(11) спасибо теперь буду знать :-)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |