Имя: Пароль:
1C
1С v8
Не работает Есть Null в запросе
, ,
0 dainastar
 
16.11.12
11:21
Вот запрос:
ВЫБРАТЬ
   НДСПредъявленныйРеализация0Обороты.ДокументОтгрузки,
   НДСПредъявленныйРеализация0Обороты.СчетФактура
ИЗ
   РегистрНакопления.НДСПредъявленныйРеализация0.Обороты(
           &Д1,
           &Д2,
           Авто,
           СчетФактура <> НЕОПРЕДЕЛЕНО
               ИЛИ НЕ СчетФактура ЕСТЬ NULL ) КАК НДСПредъявленныйРеализация0Обороты
ГДЕ
   НДСПредъявленныйРеализация0Обороты.Регистратор ССЫЛКА Документ.РаспределениеНДСКосвенныхРасходов
   И НДСПредъявленныйРеализация0Обороты.НДСОборот > 0
ИТОГИ ПО
   ДокументОтгрузки

Записи где СчетФактура - null все равно выводятся в результате вопроса. Что не правильно в моем запросе?
1 Нуф-Нуф
 
16.11.12
11:23
или замени на и
2 acsent
 
16.11.12
11:23
может пустая ссылка?
3 mikecool
 
16.11.12
11:23
(2) +1.
4 dainastar
 
16.11.12
11:23
(1) пробовала заменить, тоже не помогает.
(2) пустую ссылку тоже пробовала :(
5 acsent
 
16.11.12
11:24
(4) Там стопицот видов пустых ссылок. Ты какую пробовала?
6 Нуф-Нуф
 
16.11.12
11:24
(4) не верю
7 mikecool
 
16.11.12
11:24
(4) попробуй неопределено
8 Sammo
 
16.11.12
11:24
Откуда здесь NULL?
9 Нуф-Нуф
 
16.11.12
11:25
сделай пакетный запрос к счетфактурам и его результат сунь в условие :)
10 dainastar
 
16.11.12
11:25
(5) там не стопицот а всего 17:)
11 Sammo
 
16.11.12
11:26
+ если здесь составной тип (проверка на неопределено намекает) то на все виды пустых ссылок была проверка?
12 dainastar
 
16.11.12
11:26
сейчас попробую ко всему этому проверку на пустую добавить
13 dmpl
 
16.11.12
11:27
(0) Согласись, что если СчетФактура = NULL, то она ведь <> НЕОПРЕДЕЛЕНО, т.е. все условие дает истину.
14 mikecool
 
16.11.12
11:30
(13) она не будет null, только если напрямую можно будет записать(если триггеры позволят)
15 dainastar
 
16.11.12
11:32
ВЫБРАТЬ
   НДСПредъявленныйРеализация0Обороты.ДокументОтгрузки КАК ДокументОтгрузки,
   НДСПредъявленныйРеализация0Обороты.СчетФактура
ИЗ
   РегистрНакопления.НДСПредъявленныйРеализация0.Обороты(
           &Д1,
           &Д2,
           Авто,
           СчетФактура <> НЕОПРЕДЕЛЕНО
               И НЕ СчетФактура ЕСТЬ NULL
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.АвансовыйОтчет.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.ГТДИмпорт.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.ДокументРасчетовСКонтрагентом.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.ИнкассовоеПоручениеПереданное.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.ОтражениеПоступленияТоваровИУслугНДС.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.ОтчетКомиссионераОПродажах.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.ПлатежноеПоручениеВходящее.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.ПлатежноеТребованиеВыставленное.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.ПлатежныйОрдерПоступлениеДенежныхСредств.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.ПолучениеУслугПоПереработке.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.ПоступлениеДопРасходов.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.ПоступлениеНМА.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.ПоступлениеТоваровУслуг.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.ПринятиеКУчетуОС.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.ПриходныйКассовыйОрдер.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.СчетФактураВыданный.ПустаяСсылка)
               И СчетФактура <> ЗНАЧЕНИЕ(Документ.СчетФактураПолученный.ПустаяСсылка)) КАК НДСПредъявленныйРеализация0Обороты
ГДЕ
   НДСПредъявленныйРеализация0Обороты.Регистратор ССЫЛКА Документ.РаспределениеНДСКосвенныхРасходов
   И НДСПредъявленныйРеализация0Обороты.НДСОборот > 0
ИТОГИ ПО
   ДокументОтгрузки

Так тоже не работает :(
16 Maxus43
 
16.11.12
11:33
тссс... не накликайте
17 Sammo
 
16.11.12
11:36
(14) Насколько я помню, в скуле все колнке в таблицах иду not null, так что даже прямым не запихнешь без изменений структуры
18 samozvanec
 
16.11.12
11:36
(0) счетфактура в (ВЫБРАТЬ все счет-фактуры)

пятница же
19 Sammo
 
16.11.12
11:37
(15) Отладчик в руки и смотри - какого типа проблемные значения.
20 dainastar
 
16.11.12
11:39
(19) сейчас гляну
21 Serginio1
 
16.11.12
11:41
Попробуй ТИПЗНАЧЕНИЯ(СчетФактура ) is not null
22 Ursus maritimus
 
16.11.12
11:43
(0) Пользуйся
НЕ СчетФактура.Ссылка ЕСТЬ NULL
23 dainastar
 
16.11.12
11:44
(21) не помогает
24 Sammo
 
16.11.12
11:45
Или сделай внутреннее соединение с документом счет фактура и не грей мозг (себе и окружающим)
25 dainastar
 
16.11.12
11:46
(24) там не документ счет фактура, а 17 документов разных типов
26 1cnik2
 
16.11.12
11:46
Значений СчетФактура есть NULL там не может быть по определению
надо писать так:
СчетФактура <> НЕОПРЕДЕЛЕНО
               И СчетФактура <> Значение(Документ.СчетФактура.ПустаяСсылка)
27 kiruha
 
16.11.12
11:50
И (СчетФактура  ССЫЛКА Документ.СчетФактура )
28 Sammo
 
16.11.12
11:51
(25) Да, вам надо все, сорри
29 1cnik2
 
16.11.12
11:52
а еще может кэш почистить надо, если меняешь в конфигурации, а не во внешней обработке
30 Китайский Муй
 
16.11.12
11:53
(0) Вот в (22) - будет работать.
31 ssh2006
 
16.11.12
11:54
(0) >  СчетФактура - null все равно выводятся в результате вопроса.

Конечно, в ИТОГах ПО ДокументОтгрузки с/ф будет null. В детальных записях - нет.
32 Serginio1
 
16.11.12
11:55
ТИПЗНАЧЕНИЯ(СчетФактура )=Тип(Документ.АвансовыйОтчет)
или
И СчетФактура = Тип(Документ.ГТДИмпорт)
или ....
33 Serginio1
 
16.11.12
11:56
Или ТИПЗНАЧЕНИЯ(СчетФактура )= Тип(Документ.ГТДИмпорт
34 Serginio1
 
16.11.12
12:01
Блин 1С главное ТИПЗНАЧЕНИЯ(ЗаказПокупателя.ДокументОснование)
показывает Null
но при этом обращение Is not Null дает истина
35 Ursus maritimus
 
16.11.12
12:02
(34) Пилите Шура, пилите. Она золотая (с)
36 Serginio1
 
16.11.12
12:14
|ТИПЗНАЧЕНИЯ(СчетФактура) <> &Тип";
   
Запрос.УстановитьПараметр("Тип",Тип("NULL"));
37 DUDE
 
16.11.12
12:34
Не может быть NUll просто при выборке из таблицы регистра. Были бы тут соединения/объединения, то я бы поверил.

Добавь в выборку поле
ВЫБОР КОГДА СчетФактура ЕСТЬ NULL ТОГДА Истина ИНАЧЕ Ложь КОНЕЦ КАК СчФРеальноНул
и убери условие на нул в вирт. таблице.

Думаю, что в выборке будет только Ложь стоять. И дело будет не в бобине :)
38 ssh2006
 
16.11.12
12:35
(37) null там просто в итоговых записях, в запросе есть итоги. вот и все.
39 hhhh
 
16.11.12
12:36
(37) может быть. Потому что

ИТОГИ ПО
   ДокументОтгрузки

на верхнем уровне обязательно будет СчетФактура = null
40 НЕА123
 
16.11.12
12:38
ээээ...
пожалуй
(31)+1
41 Serginio1
 
16.11.12
12:39
(40) не лучше 36
42 samozvanec
 
16.11.12
12:40
НЕ isnull(СчетФактура, Неопределено) = Неопределено
43 DUDE
 
16.11.12
12:40
(37) ну итоги-итогами, автор же говорит, мол, у нее в самой выборке нулы, не? 0_о
автор, ты без итогов запрос выполняла?
44 samozvanec
 
16.11.12
12:41
ну вот, все набежали, хотим помочь, а ее и след простыл
45 DUDE
 
16.11.12
12:42
(25) ты нул-то увидела в итоговых записях или детальных? если первое, то это норма тк ты по этому полю не считаешь итоги, если второе.... то это очень маловероятно.

(44) просто у ТС фотка есть в личке, уважает закон мисты :)
46 Песец
 
16.11.12
12:43
Если СчетФактура=null, то (СчетФактура <> НЕОПРЕДЕЛЕНО)=истина.
47 Steel_Wheel
 
16.11.12
12:45
(0) СчетФактура <> НЕОПРЕДЕЛЕНО
               ИЛИ НЕ СчетФактура ЕСТЬ NULL

Компьютер выполняет то, что мы ему написали, а не то, что мы хотим.

Если СчетФактура == Null
True OR (Not True) = True // запись попадает

Надо
- или ИЛИ заменить на И
- не вынести перед всем условием
48 dainastar
 
16.11.12
12:47
(44) не простыл, пообедать сбегала, думала может на сытый желудок будет лучше думаться
49 НЕА123
 
16.11.12
12:47
ВЫБРАТЬ
   НДСПредъявленныйРеализация0Обороты.ДокументОтгрузки,
   NULL как СчетФактура
ИЗ
   РегистрНакопления.НДСПредъявленныйРеализация0.Обороты(
           &Д1,
           &Д2,
           Авто,
           СчетФактура <> НЕОПРЕДЕЛЕНО
               ИЛИ НЕ СчетФактура ЕСТЬ NULL ) КАК НДСПредъявленныйРеализация0Обороты

вот так можно нулл получить без итогов!
ПЯТНИЦА!
50 dainastar
 
16.11.12
12:48
Всем большое спасибо!!! Признаю, это я ЛОХ :((((( результаты запроса выводила в консоли, а там записи и группировок не видно. А про свои итоги забыла... Все срабатывает, это только в итогах получается NULL.
51 Песец
 
16.11.12
12:51
(46) Тху, наоборот, всегда ложь.
52 Нуф-Нуф
 
16.11.12
12:53
(50) косяяяк. теперь значит давай фотку с раскрытой темой сисек
53 dainastar
 
16.11.12
12:54
(52) не в сиськах счастье :)
54 НЕА123
 
16.11.12
13:01
(53)
судя по фотке не соображу - в муже или водке?
55 dainastar
 
16.11.12
13:15
а что не так в фотке?
56 Serginio1
 
16.11.12
13:42
(0) Для своего интереса 36 убирает null в итогах?
57 PiotrLoginov
 
16.11.12
13:49
а на сытый желудок видать действительно лучше думается
58 prog01
 
16.11.12
14:14
(0)значит там не нулл а неопределено или пустая ссылка так бывает
чтобы гарантировать нуллы нужно перевязать с таблицей соответствующей и уже там искать нуллы
59 НЕА123
 
16.11.12
14:32
(58)
ты это... щас разговор уже про титьки, еду, мужей, выпивку...
Ошибка? Это не ошибка, это системная функция.