Имя: Пароль:
1C
 
Помогите с запросом
,
0 Klesk
 
02.10.17
19:00
Если у заказа клиента сумма 0, то не попадает в выборку, хотя движение по регистру есть, такое же как у обычного только без суммы



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

если убрать поле ПроцентОтгрузки то попадает, не пойму почему
1 rabbidX
 
02.10.17
19:08
Движение есть, а остатка нет.
Присоединяй регистр к документу, а не наоборот, ЗаказыКлиентовОстатки.СуммаОстаток проверяй на NULL
2 Fram
 
02.10.17
19:11
(0) ЛЕВОЕ замени на ПРАВОЕ
3 Klesk
 
02.10.17
21:01
это конечно получилось, но поскольку это динамический список формы списка, теперь ничего не открывается
4 Klesk
 
02.10.17
21:25
хотя нет, тут чтото другое
5 Лефмихалыч
 
02.10.17
21:26
(2) без разницы - оно все равно будет внутренним
6 Лефмихалыч
 
02.10.17
21:32
хотя нет, не будет
7 Fram
 
02.10.17
21:34
(5) не будет, но ошибка при подсчете ПроцентОтгрузки вылезет )
8 Klesk
 
02.10.17
23:20
(1)(2) спасибо получилось
(7) а это как поправить?
9 Fram
 
02.10.17
23:34
(8) ЕСТЬNULL
10 Klesk
 
02.10.17
23:35
(9) чето не прокатывает

ВЫБОР
        КОГДА ДокументЗаказКлиента.СуммаДокумента = 0
            ТОГДА ЕСТЬNULL(ЗаказыКлиентовОстатки.ЗаказаноОстаток, 100)
        ИНАЧЕ (ДокументЗаказКлиента.СуммаДокумента - ЕСТЬNULL(ЗаказыКлиентовОстатки.СуммаОстаток, 0)) / 100
    КОНЕЦ КАК ПроцентОтгрузки
ИЗ
    Документ.ЗаказКлиента КАК ДокументЗаказКлиента
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки
        ПО ДокументЗаказКлиента.Ссылка = ЗаказыКлиентовОстатки.ЗаказКлиента.Ссылка
ГДЕ
    ДокументЗаказКлиента.Проведен
11 Klesk
 
02.10.17
23:38
ВЫБОР
        КОГДА ДокументЗаказКлиента.СуммаДокумента = 0
            ТОГДА ВЫБОР
                    КОГДА ЗаказыКлиентовОстатки.ЗаказаноОстаток = NULL
                        ТОГДА 100
                    ИНАЧЕ 0
                КОНЕЦ
        ИНАЧЕ (ДокументЗаказКлиента.СуммаДокумента - ЕСТЬNULL(ЗаказыКлиентовОстатки.СуммаОстаток, 0)) / 100
    КОНЕЦ КАК ПроцентОтгрузки
ИЗ
    Документ.ЗаказКлиента КАК ДокументЗаказКлиента
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки
        ПО ДокументЗаказКлиента.Ссылка = ЗаказыКлиентовОстатки.ЗаказКлиента.Ссылка
ГДЕ
    ДокументЗаказКлиента.Проведен
12 Fram
 
02.10.17
23:47
(10) че не так?
13 Филиал-msk
 
02.10.17
23:49
(11) > ЗаказыКлиентовОстатки.ЗаказаноОстаток = NULL

Всегда ложь. Используй естьnull, юнглинг
14 Филиал-msk
 
02.10.17
23:49
И основную таблицу деионического списка укажи правильную
15 Klesk
 
03.10.17
00:26
(12) Попадают 100% отгруженные заказы с ПроцентомОтгрузки с непонятными цифрами .
(13) мне не нужно чтобы выводился ЗаказыКлиентовОстатки.СуммаОстаток, а 0 или 100, как бы условно пусть попадает или нет
(14) да, я это уже понял, но не понял как правильно , получается только скопировать запрос, убрать галку "Произвольный запрос", указать таблицу и заново впастить запрос
16 Fram
 
03.10.17
00:52
(15) > Попадают 100% отгруженные заказы с ПроцентомОтгрузки с непонятными цифрами .

а почему они не должны попадать? я не вижу фильтра в твоем запросе
17 rabbidX
 
03.10.17
09:36
(15) мне не нужно чтобы выводился ЗаказыКлиентовОстатки.СуммаОстаток, а 0 или 100, как бы условно пусть попадает или нет
Замени
(ДокументЗаказКлиента.СуммаДокумента - ЕСТЬNULL(ЗаказыКлиентовОстатки.СуммаОстаток, 0)) / 100
На
(ДокументЗаказКлиента.СуммаДокумента - ЕСТЬNULL(ЗаказыКлиентовОстатки.СуммаОстаток, 0)) / ДокументЗаказКлиента.СуммаДокумента * 100