Имя: Пароль:
1C
1С v8
Неправильно работает условие запроса
0 wwwqwert2014
 
06.06.13
11:19
Нужно отобрать только те записи, в которых не заполнена накладная.
В данном случае вот результат полного запроса:
http://savepic.net/3769921.htm

Когда я пишу условие ГДЕ, у меня ничего не выводит:
ВЫБРАТЬ
   ВзаиморасчетыОстатки.Контрагент,
   ЕСТЬNULL(ВзаиморасчетыОстатки.Накладная, -1) КАК Накладная,
   ВзаиморасчетыОстатки.СуммаОстаток,
   ВзаиморасчетыОстатки.Накладная.Дата КАК НакладнаяДата
ИЗ
   РегистрНакопления.Взаиморасчеты.Остатки(&МоментВремени, Контрагент = &Контрагент) КАК ВзаиморасчетыОстатки
ГДЕ
   ВзаиморасчетыОстатки.Накладная = НЕОПРЕДЕЛЕНО

УПОРЯДОЧИТЬ ПО
   НакладнаяДата


Вот так записываются данные в этот регистр:
   Движение = Движения.Взаиморасчеты.Добавить();
       Движение.ВидДвижения = ВидДвиженияНакопления.Приход;
       Движение.Период = Дата;
       Движение.Контрагент = Контрагент;
       Движение.Сумма = СуммаКЗачислению;  

Пробовал и с NULL сравнивать, не помогло. что делать не знаю
1 ДенисЧ
 
06.06.13
11:21
а на пустое значение проверял?
2 rbcvg
 
06.06.13
11:21
ПустаяСсылка()?
3 wwwqwert2014
 
06.06.13
11:23
нет
4 wwwqwert2014
 
06.06.13
11:24
ВЫБРАТЬ
   ВзаиморасчетыОстатки.Контрагент,
   ЕСТЬNULL(ВзаиморасчетыОстатки.Накладная, -1) КАК Накладная,
   ВзаиморасчетыОстатки.СуммаОстаток,
   ВзаиморасчетыОстатки.Накладная.Дата КАК НакладнаяДата
ИЗ
   РегистрНакопления.Взаиморасчеты.Остатки(&МоментВремени, Контрагент = &Контрагент) КАК ВзаиморасчетыОстатки
ГДЕ
   ВзаиморасчетыОстатки.Накладная = ЗНАЧЕНИЕ(Документ.РасходнаяНакладная.ПустаяСсылка)

УПОРЯДОЧИТЬ ПО
   НакладнаяДата
заработало!
5 wwwqwert2014
 
06.06.13
11:24
Спасибо большое за совет. Только можете пояснить, в каких случаях надо проверять на НЕОПРЕДЕЛЕНО, в каких на Null а в каких на пустую ссылку?
Программист всегда исправляет последнюю ошибку.