|
Запрос КогдаТогда | ☑ | ||
---|---|---|---|---|
0
Маркусс
26.04.12
✎
09:28
|
Добрый день.
Подскажите, плиз почему не работает условие в запросе? ВЫБРАТЬ Контрагенты.Ссылка, Контрагенты.Представление, Контрагенты.ИНН, ВЫБОР КОГДА Контрагенты.ИНН <> NULL ТОГДА 1 ИНАЧЕ 2 КОНЕЦ КАК Расчётное ИЗ Справочник.Контрагенты КАК Контрагенты Спасибо. |
|||
1
Ненавижу 1С
гуру
26.04.12
✎
09:29
|
НЕ (Контрагенты.ИНН ЕСТЬ NULL)
|
|||
2
ДенисЧ
26.04.12
✎
09:29
|
<> NULL
????? ЕстьNULL для кого придумали???? |
|||
3
Ненавижу 1С
гуру
26.04.12
✎
09:29
|
(0) только здесь NULL может быть только у групп
|
|||
4
Wobland
26.04.12
✎
09:30
|
(0) работает. просто всегда ложь даёт
|
|||
5
Maxus43
26.04.12
✎
09:30
|
NULL <> NULL
|
|||
6
Wobland
26.04.12
✎
09:31
|
(1) Ненавижу 1С, кстати, есть разница?
НЕ Контрагенты.ИНН ЕСТЬ NULL Контрагенты.ИНН НЕ ЕСТЬ NULL проверять лениво ;) |
|||
7
proger2011
26.04.12
✎
09:32
|
(0) Автор ты сколько лет с СУБД работаешь? И ни разу не слышал про трёхзначную логику?
|
|||
8
Ненавижу 1С
гуру
26.04.12
✎
09:32
|
(6) обленились совсем, разницы нет
|
|||
9
aleks-id
26.04.12
✎
09:32
|
у контрагента ИНН не может быть NULL
ВЫБОР КОГДА Контрагенты.ИНН <> "" ТОГДА 1 ИНАЧЕ 2 КОНЕЦ КАК Расчётное |
|||
10
Ненавижу 1С
гуру
26.04.12
✎
09:33
|
(9) может быть, смотри (3)
|
|||
11
andrewks
26.04.12
✎
09:33
|
(5) угу
|
|||
12
Ненавижу 1С
гуру
26.04.12
✎
09:34
|
NULL<>NULL в запросе
NULL=NULL во встроенном языке |
|||
13
aleks-id
26.04.12
✎
09:34
|
(10) я исходил из логики вещей. для красоты добавим:
ГДЕ НЕ Контрагенты.ЭтоГруппа |
|||
14
Ненавижу 1С
гуру
26.04.12
✎
09:34
|
(13) я тоже ))
|
|||
15
andrewks
26.04.12
✎
09:38
|
(6) разница есть. в первом случае ты предписываешь кушать NULL не контрагентам, а во втором - предписываешь не кушать NULL контрагентам :)
|
|||
16
Маркусс
26.04.12
✎
10:16
|
Вот такое условие почему не срабатывает? как правильно написать?
ВЫБОР КОГДА ЗначениеСвойстваЦенаПоФакту.Значение = Ложь ТОГДА ПродажиОборот.КоличествоОборот * Цена_ТТ.Цена ИНАЧЕ ПродажиОборот.СтоимостьОборот КОНЕЦ |
|||
17
Ненавижу 1С
гуру
26.04.12
✎
10:20
|
хз почему, отсюда не видно
нужно больше текста |
|||
18
Ненавижу 1С
гуру
26.04.12
✎
10:20
|
может значение это NULL?
|
|||
19
Wobland
26.04.12
✎
10:20
|
(16) правильно написал (если значение у тебя булево). смотри в данные. выведи ещё и поле значение рядом, к примеру
|
|||
20
Маркусс
26.04.12
✎
10:23
|
ВЫБРАТЬ
ЗначениеСвойстваЦенаПоФакту.Значение, Цена_ТТ.Цена, Цена_ТТ.ТипЦен, ПродажиОборот.Номенклатура КАК Номенклатура, ПродажиОборот.Контрагент, ПродажиОборот.смТорговаяТочка, ПродажиОборот.смМаршрутТП, ПродажиОборот.КоличествоОборот, ПродажиОборот.СтоимостьОборот, ПродажиОборот.смТорговаяТочкаТипТорговойТочкиТипКампина, ВЫБОР КОГДА ЗначениеСвойстваЦенаПоФакту.Значение = ЛОЖЬ ТОГДА ПродажиОборот.КоличествоОборот * Цена_ТТ.Цена ИНАЧЕ ПродажиОборот.СтоимостьОборот КОНЕЦ КАК СуммаПродаж ИЗ (ВЫБРАТЬ ПродажиОбороты.Номенклатура КАК Номенклатура, ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Номенклатура) КАК НоменклатураПредставление, ПродажиОбороты.Контрагент КАК Контрагент, ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.Контрагент) КАК КонтрагентПредставление, ПродажиОбороты.смТорговаяТочка КАК смТорговаяТочка, ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.смТорговаяТочка) КАК смТорговаяТочкаПредставление, ПродажиОбороты.смМаршрутТП КАК смМаршрутТП, ПРЕДСТАВЛЕНИЕ(ПродажиОбороты.смМаршрутТП) КАК смМаршрутТППредставление, СУММА(ПродажиОбороты.КоличествоОборот) КАК КоличествоОборот, СУММА(ПродажиОбороты.СтоимостьОборот) КАК СтоимостьОборот, ПродажиОбороты.смТорговаяТочка.ТипТорговойТочки.ТипКампина КАК смТорговаяТочкаТипТорговойТочкиТипКампина ИЗ РегистрНакопления.Продажи.Обороты(&ДатаНач, &ДатаКон, День, ) КАК ПродажиОбороты ГДЕ ПродажиОбороты.Номенклатура В ИЕРАРХИИ(&Кампина) СГРУППИРОВАТЬ ПО ПродажиОбороты.Контрагент, ПродажиОбороты.Номенклатура, ПродажиОбороты.смТорговаяТочка, ПродажиОбороты.смМаршрутТП, ПродажиОбороты.смТорговаяТочка.ТипТорговойТочки.ТипКампина) КАК ПродажиОборот ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЗначенияСвойствОбъектов.Объект КАК Объект, ЗначенияСвойствОбъектов.Свойство КАК Свойство, ЗначенияСвойствОбъектов.Значение КАК Значение ИЗ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов ГДЕ ЗначенияСвойствОбъектов.Свойство = &Свойство И ЗначенияСвойствОбъектов.Значение = ИСТИНА) КАК ЗначениеСвойстваЦенаПоФакту ПО ПродажиОборот.Контрагент = ЗначениеСвойстваЦенаПоФакту.Объект ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура, ЦеныНоменклатурыСрезПоследних.Цена КАК Цена, ЦеныНоменклатурыСрезПоследних.ТипЦен КАК ТипЦен ИЗ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаКон, ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних) КАК Цена_ТТ ПО ПродажиОборот.Номенклатура = Цена_ТТ.Номенклатура СГРУППИРОВАТЬ ПО ЗначениеСвойстваЦенаПоФакту.Значение, Цена_ТТ.Цена, Цена_ТТ.ТипЦен, ПродажиОборот.Номенклатура, ПродажиОборот.Контрагент, ПродажиОборот.смТорговаяТочка, ПродажиОборот.смМаршрутТП, ПродажиОборот.КоличествоОборот, ПродажиОборот.СтоимостьОборот, ПродажиОборот.смТорговаяТочкаТипТорговойТочкиТипКампина УПОРЯДОЧИТЬ ПО Номенклатура УБЫВ |
|||
21
Wobland
26.04.12
✎
10:25
|
выбор когда не естьnull(ЗначениеСвойстваЦенаПоФакту.Значение, ложь) тогда...
|
|||
22
Ненавижу 1С
гуру
26.04.12
✎
10:25
|
(20) вполне реально что значение равно NULL, напиши так:
ВЫБОР КОГДА НЕ ЕСТЬNULL(ЗначениеСвойстваЦенаПоФакту.Значение,ЛОЖЬ) ТОГДА |
|||
23
Ненавижу 1С
гуру
26.04.12
✎
10:25
|
(21) блин...
|
|||
24
Wobland
26.04.12
✎
10:25
|
(23) :-Р
|
|||
25
Маркусс
26.04.12
✎
10:29
|
(22) неверные параметры "не"
|
|||
26
Маркусс
26.04.12
✎
10:32
|
Может причина в том, что вместо "истина-ложь" в конфе используется "да-нет"?
|
|||
27
Ненавижу 1С
гуру
26.04.12
✎
10:32
|
(26) не в этом ))
|
|||
28
Ненавижу 1С
гуру
26.04.12
✎
10:32
|
это вообще представление
|
|||
29
Ненавижу 1С
гуру
26.04.12
✎
10:33
|
(25) показывай текст, который ты сделал, с ошибкой
|
|||
30
Wobland
26.04.12
✎
10:33
|
(25) включи мозг и убери скобки
(26) вместо истина/ложь там используется правда/неправда, блин |
|||
31
Sancha
26.04.12
✎
10:33
|
В языке запросов сравнивать так с Null нельзя.
Null - это просто дырка. Для сравнения есть специальная функция НЕ ЕСТЬ NULL |
|||
32
Wobland
26.04.12
✎
10:35
|
(31) NULL - это не дырка, NULL - это отсутствие самой дырки
|
|||
33
Wobland
26.04.12
✎
10:35
|
(32) точнее места, где могла бы быть дырка ;)
|
|||
34
Ненавижу 1С
гуру
26.04.12
✎
10:35
|
(32) хахахахахаха
|
|||
35
Ненавижу 1С
гуру
26.04.12
✎
10:36
|
NULL это либо отсутствие значение, либо неопределенное значение, именно так и не иначе
никаких НЕОПРЕДЕЛЕНО и пустых ссылок в SQL нет это правильно |
|||
36
Маркусс
26.04.12
✎
10:37
|
(29) ВЫБОР
КОГДА НЕ ЕСТЬNULL(ЗначениеСвойстваЦенаПоФакту.Значение,ЛОЖЬ) ТОГДА ПродажиОборот.КоличествоОборот * Цена_ТТ.Цена ИНАЧЕ ПродажиОборот.СтоимостьОборот КОНЕЦ |
|||
37
Sancha
26.04.12
✎
10:38
|
(32)место от дырки где должна была быть дырка.
Null придумали для языка запросов, чтобы заткнуть отсутствующие значения, при соединениях таблиц |
|||
38
hhhh
26.04.12
✎
10:39
|
(36)
ВЫБОР КОГДА ЕСТЬNULL(ЗначениеСвойстваЦенаПоФакту.Значение,ЛОЖЬ) = ЛОЖЬ ТОГДА ПродажиОборот.КоличествоОборот * Цена_ТТ.Цена ИНАЧЕ ПродажиОборот.СтоимостьОборот КОНЕЦ |
|||
39
Wobland
26.04.12
✎
10:39
|
ЗначениеСвойстваЦенаПоФакту.Значение какого типа?
|
|||
40
Ненавижу 1С
гуру
26.04.12
✎
10:42
|
(37) теперь еще расскажи, что 1С придумала NULL ))
|
|||
41
Wobland
26.04.12
✎
10:43
|
начинается...
|
|||
42
Маркусс
26.04.12
✎
10:43
|
(39) Булево
|
|||
43
Ненавижу 1С
гуру
26.04.12
✎
10:43
|
КОГДА НЕ ЕСТЬNULL(ВЫРАЗИТЬ(ЗначениеСвойстваЦенаПоФакту.Значение КАК БУЛЕВО),ЛОЖЬ)
|
|||
44
Ненавижу 1С
гуру
26.04.12
✎
10:44
|
(42) составного типа, надо выразить явно к булево
|
|||
45
Волесвет
26.04.12
✎
10:49
|
Hyv?? iltap?iv??
|
|||
46
Волесвет
26.04.12
✎
10:51
|
+(45) пачему нет поддержки а с точками наверху?
|
|||
47
Ненавижу 1С
гуру
26.04.12
✎
11:08
|
(46) называется умлаут, деревенщина ))
|
|||
48
Wobland
26.04.12
✎
11:10
|
(47) умляут
|
|||
49
Ненавижу 1С
гуру
26.04.12
✎
11:11
|
(48) оба варианта допустимы wiki:Умлаут_(диакритический_знак)
|
|||
50
Wobland
26.04.12
✎
11:27
|
(49) умлаут - явление, умляут (ну так германцы произносят) - знак. понимаю сомнительность своих утверждений, спорить не буду
|
|||
51
Маркусс
26.04.12
✎
11:31
|
(43) не работает ни фига(
|
|||
52
Wobland
26.04.12
✎
11:31
|
(51) ну ёмаё..
выбор когда оно есть NULL или не оно тогда |
|||
53
Wobland
26.04.12
✎
11:32
|
(52) НЕ (оно ИЛИ оно ЕСТЬ NULL)
|
|||
54
Маркусс
26.04.12
✎
11:42
|
(53) Спасибо огромное
|
|||
55
cViper
26.04.12
✎
11:51
|
(0) С какого перепугу ты делаешь проверку на нулл? У тебя же нет соединения. Делай проверку на пустое значение типа.
|
|||
56
Wobland
26.04.12
✎
11:51
|
(55) сейчас ты дочитаешь до групп справочника
|
|||
57
cViper
26.04.12
✎
11:55
|
(56) так и чего? Надо иначе условие строить. ЭтоГруппа ...
|
|||
58
Wobland
26.04.12
✎
11:56
|
(57) не спорю. ещё ниже второй вопрос будет
|
|||
59
Маркусс
27.04.12
✎
15:42
|
Цена на товар не установлена. как это описать в запросе?
ВЫБОР КОГДА ЗначениеСвойстваЦенаПоФакту.Значение = ЛОЖЬ ИЛИ НЕ ЕСТЬNULL(ВЫРАЗИТЬ(ЗначениеСвойстваЦенаПоФакту.Значение КАК БУЛЕВО), ЛОЖЬ) ТОГДА ВЫБОР КОГДА ПродажиОборот.смТорговаяТочкаТипТорговойТочкиТипКампина = &Тип_MTSM И НЕ Цена_MTSM.Цена ЕСТЬ NULL //Влож запрос по регистру ЦеныНоменклатуры И НЕ Цена_MTSM.Цена = 0 //Влож запрос по регистру ЦеныНоменклатуры ТОГДА ПродажиОборот.КоличествоОборот * Цена_MTSM.Цена КОНЕЦ ИНАЧЕ ПродажиОборот.СтоимостьОборот КОНЕЦ |
|||
60
Wobland
27.04.12
✎
18:28
|
(59) слушай, я сдаюсь.. но ИНАЧЕ ПродажиОборот.СтоимостьОборот - это точно цена? или ты как-то не так вопрос задаёшь?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |