Имя: Пароль:
1C
1С v8
НЕ ЕСТЬ NULL
0 Stsasats
 
15.03.16
15:45
Добрый день!
Есть вот такой запрос:
ВЫБРАТЬ
    Номенклатура.Код,
    Номенклатура.Ссылка,
    ХозрасчетныйОстатки.КоличествоОстаток
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
        ПО Номенклатура.Наименование = ХозрасчетныйОстатки.Субконто1.Наименование
            И (ХозрасчетныйОстатки.Субконто2.Наименование = "Основной склад")
            И (ХозрасчетныйОстатки.КоличествоОстаток <> NULL)


Не срабатывает условие
ХозрасчетныйОстатки.КоличествоОстаток <> NULL

Пробовал:
ХозрасчетныйОстатки.КоличествоОстаток <> ЕСТЬ NULL
НЕ ХозрасчетныйОстатки.КоличествоОстаток ЕСТЬ NULL

Подскажите как выбрать не пустые строки
1 vde69
 
15.03.16
15:45
ГДЕ ХозрасчетныйОстатки.КоличествоОстаток ЕСТЬ NULL
2 mikecool
 
15.03.16
15:46
Не ЕстьNull(ХозрасчетныйОстатки.КоличествоОстаток, 0) = 0
3 vde69
 
15.03.16
15:47
(1)+ у тебя "ПО" а надо "ГДЕ", то есть null образуется только ПОСЛЕ джойна
4 LordCMEPTb
 
15.03.16
15:48
А так и должно быть, что все по наименованиям связывается?
5 Timon1405
 
15.03.16
15:50
(4) ну не по артикулу же
7 vde69
 
15.03.16
15:50
(4) например при разовой выгрузке в модуле конвертации данных так вполне можно написать....
8 Pro-tone
 
15.03.16
15:50
(0) ГДЕ (ЕстьNull(ХозрасчетныйОстатки.КоличествоОстаток, 0) <> 0
9 Cyberhawk
 
15.03.16
15:51
"как выбрать не пустые строки" // Покажи на картинке, какие строки ты посчитал пустыми
10 Stsasats
 
15.03.16
15:52
(4) ЕСли Вы про:
Номенклатура.Наименование = ХозрасчетныйОстатки.Субконто1.Наименование
то можно наверное по коду, не вижу принципиальной разницы
11 Timon1405
 
15.03.16
15:55
(10) вам намекают, что лучше соединяться по ссылке
12 Stsasats
 
15.03.16
15:56
(9) Не знаю как здесь вставить картинку
13 Stsasats
 
15.03.16
15:58
(11) Было по ссылке, решил так попробовать
А не подскажите почему лучше по ссылке?
14 Сильф
 
15.03.16
16:00
(13) наименование - не есть уникальный ключ.
15 Stsasats
 
15.03.16
16:01
16 Stsasats
 
15.03.16
16:02
Подскажите как добавлять картинки, не найду никак
17 vde69
 
15.03.16
16:05
ВЫБРАТЬ
    Номенклатура.Код,
    Номенклатура.Ссылка,
    ХозрасчетныйОстатки.КоличествоОстаток
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
        ПО Номенклатура.Наименование = ХозрасчетныйОстатки.Субконто1.Наименование
            И (ХозрасчетныйОстатки.Субконто2.Наименование = "Основной склад")

ГДЕ (ЕстьNull(ХозрасчетныйОстатки.КоличествоОстаток, 0) <> 0
18 itlikbez
 
15.03.16
16:06
(0) Убрать слово "ЛЕВОЕ".
19 igork1966
 
15.03.16
16:06
(0)Я что-тог не пойму зачем все это... если это inner join а не left join  по смыслу... тогда и условия не надо
20 itlikbez
 
15.03.16
16:07
ВЫБРАТЬ
    Номенклатура.Код,
    Номенклатура.Ссылка,
    ХозрасчетныйОстатки.КоличествоОстаток
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
        ПО Номенклатура.Наименование = ХозрасчетныйОстатки.Субконто1.Наименование
            И (ХозрасчетныйОстатки.Субконто2.Наименование = "Основной склад")
21 Timon1405
 
15.03.16
16:09
(19) ну может это условие где нужно по кнопке включать/выклчать
22 Cyberhawk
 
15.03.16
16:10
(15) Там у тебя не Null, а 0 (цифра ноль), все нормально
23 Cyberhawk
 
15.03.16
16:11
Добавь в первоначальный запрос ПО ... И ХозрасчетныйОстатки.КоличествоОстаток <> 0
24 Stsasats
 
15.03.16
16:12
(23) Пробовал с нулем, но он его не воспринимает как нуль
25 Cyberhawk
 
15.03.16
16:15
Так тебе не нужна номенклатура, которой нет на остатках? Тогда внутреннее соединение сделай, либо вообще выбирай ее только из регистра бухгалтерии
26 Stsasats
 
15.03.16
16:18
(25) Как правильно сказал
(19) ну может это условие где нужно по кнопке включать/выклчать

Планируется Вкл/откл отображение номенклатуры которой нет на остатках
27 Stsasats
 
15.03.16
16:19
(17) Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(11, 61)}: Ожидается выражение ")"
ГДЕ (ЕстьNull(ХозрасчетныйОстатки.КоличествоОстаток, 0) <> 0<<?>>
28 Одинесю
 
15.03.16
16:24
(27) Скобка закрывающая отсутствует))
29 Ёпрст
 
15.03.16
16:24
(27) скобка лишняя
30 Stsasats
 
15.03.16
16:28
(29) (28) Спасибо, сам не внимателен, скопировал не думая)
31 Stsasats
 
15.03.16
16:30
(25) "либо вообще выбирай ее только из регистра бухгалтерии"

Получается в регистре бухгалтерии хранятся только остатки, без нулевых значений?
32 Stsasats
 
15.03.16
16:31
Ещё вопрос, как посмотреть содержимое этого самого регистра бухгалтерии Хозрасчетный?
Захожу во все функции там нет такого регистра.
33 Жан Пердежон
 
15.03.16
16:33
(31) таблица .Остатки - это виртуальная таблица, она не хранится, а рассчитывается каждый раз при выполнении запроса (из движений и итогов);

(32) ты каждую мелочь собираешься на форуме спрашивать?
34 Одинесю
 
15.03.16
16:35
(33) Всегда считал, что хранится в таблице итогов.
35 Stsasats
 
15.03.16
16:35
Да нет, просто решил спросить пока вспомнил))
36 Cyberhawk
 
15.03.16
16:39
"Планируется Вкл/откл отображение номенклатуры которой нет на остатках" // Сделаешь это отбором в отчете по полю "Количество". Просто добавь в запрос вместо

ХозрасчетныйОстатки.КоличествоОстаток

вот так:

ЕстьNull(ХозрасчетныйОстатки.КоличествоОстаток, 0) КАК КоличествоОстаток
37 hhhh
 
15.03.16
16:43
(34) итоги хранятся только по месяцам. Если остаток не на начало месяца надо, тогда из движений только брать.
38 Одинесю
 
15.03.16
16:56
(37) Понятно, спасибо.
39 vi0
 
15.03.16
17:01
40 Stsasats
 
15.03.16
17:05
(36) Спасибо, интересный приём
41 Stsasats
 
15.03.16
17:06
(39) Вот это немного и смущает, все как то скрыто)
42 igork1966
 
15.03.16
17:25
(40) Стоит почитать про SQL. Не возникло бы большинство вопросов.
43 trad
 
15.03.16
17:53
Не есть Null !
Do not eat !!!
44 vi0
 
15.03.16
18:24
(42) Грабера, например
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой