Вход | Регистрация
 

Помогите с запросом

Помогите с запросом
Я
   Varlant1n
 
06.03.21 - 17:21
Здравствуйте, дорогие форумчане. Мне в запросе нужны пары условий. Я написал, но это не работает. Помогите, пожалуйста.

ВЫБОР
    КОГДА ЕСТЬNULL(ОстаткиЗаказовКлиента.ЗаказаноОстаток, 0) <> 0
        ТОГДА ВЫБОР
                КОГДА ОстаткиЗаказовКлиента.ЗаказаноОстаток = КоличествоТоваровИтог.Количество
                    ТОГДА 1
                КОГДА ЕСТЬNULL(ОстаткиЗаказовКлиента.ЗаказаноОстаток, 0) = 0
                    ТОГДА -1
                ИНАЧЕ 0
            КОНЕЦ
КОНЕЦ

*КоличествоТоваровИтог.Количество - это количество товара в заказе клиента.
Нужен такой результат:
1 - Товар полностью не отгружен,
2 - Отгружена часть товара,
3 - Товар полностью отгружен.


У меня почему то у всех документов заказа результат -1. Помогите, пожалуйста
   DAFA
 
1 - 06.03.21 - 17:47
задача из спеца по платформе
   DAFA
 
2 - 06.03.21 - 17:49
не видит остаток  надо чтоб видело
   DAFA
 
3 - 06.03.21 - 17:50
полный текст запроса  выложи .кто знает .что там в начале
   Varlant1n
 
4 - 06.03.21 - 18:08
(3)

ВЫБРАТЬ
    ДокументЗаказКлиента.Ссылка КАК Ссылка,
    ДокументЗаказКлиента.Менеджер КАК Менеджер,
    ДокументЗаказКлиента.Партнер КАК Партнер,
    ДокументЗаказКлиента.Номер КАК Номер,
    ДокументЗаказКлиента.Дата КАК Дата,
    ДокументЗаказКлиента.Подразделение КАК Подразделение,
    ДокументЗаказКлиента.АдресДоставки КАК АдресДоставки,
    ВЫБОР
        КОГДА ЕСТЬNULL(ОстаткиЗаказовКлиента.ЗаказаноОстаток, 0) = 0
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК Отгружено,
    КоличествоТоваровИтог.Количество КАК КоличествоИтог,
    ВЫБОР
        КОГДА ЕСТЬNULL(ОстаткиЗаказовКлиента.ЗаказаноОстаток, 0) <> 0
            ТОГДА ВЫБОР
                    КОГДА ОстаткиЗаказовКлиента.ЗаказаноОстаток = КоличествоТоваровИтог.Количество
                        ТОГДА 1
                    КОГДА ЕСТЬNULL(ОстаткиЗаказовКлиента.ЗаказаноОстаток, 0) = 0
                        ТОГДА -1
                    ИНАЧЕ 0
                КОНЕЦ
    КОНЕЦ КАК ПризнакОтгруженности
ИЗ
    Документ.ЗаказКлиента КАК ДокументЗаказКлиента
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            СУММА(ЗаказыКлиентовОстатки.ЗаказаноОстаток) КАК ЗаказаноОстаток,
            ЗаказыКлиентовОстатки.ЗаказКлиента КАК ЗаказКлиента
        ИЗ
            РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки
        
        СГРУППИРОВАТЬ ПО
            ЗаказыКлиентовОстатки.ЗаказКлиента) КАК ОстаткиЗаказовКлиента
        ПО ДокументЗаказКлиента.Ссылка = ОстаткиЗаказовКлиента.ЗаказКлиента
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            СУММА(ЗаказКлиентаТовары.Количество) КАК Количество,
            ЗаказКлиентаТовары.Ссылка КАК СсылкаЗаказ
        ИЗ
            Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
        
        СГРУППИРОВАТЬ ПО
            ЗаказКлиентаТовары.Ссылка) КАК КоличествоТоваровИтог
        ПО ДокументЗаказКлиента.Ссылка = КоличествоТоваровИтог.СсылкаЗаказ
ГДЕ
    ДокументЗаказКлиента.Проведен = ИСТИНА
    И ДокументЗаказКлиента.Товары.Склад В(&Склады)
    И ДокументЗаказКлиента.Дата МЕЖДУ &ДатаНачала И &ДатаКонец
   rphosts
 
5 - 06.03.21 - 18:55
Ну так на вскидку... у тебя проведенные документы, поэтому отгрузка какая-то уже есть. Остатки ты получаешь не на дату, а Актуальные... поэтому "Товар полностью не отгружен" не возможно в принципе.
   Varlant1n
 
6 - 06.03.21 - 18:58
(5) Нет, дело в том, что у меня работало, но я потом поменял. Так как сделал два значения у ПризнакаОтгруженности. Истина или ложь. Теперь не могу додумать как вернуть обратно... Полностью запутался. Нужно просто додумать этот момент:

ВЫБОР
    КОГДА ЕСТЬNULL(ОстаткиЗаказовКлиента.ЗаказаноОстаток, 0) <> 0
        ТОГДА ВЫБОР
                КОГДА ОстаткиЗаказовКлиента.ЗаказаноОстаток = КоличествоТоваровИтог.Количество
                    ТОГДА 1
                КОГДА ЕСТЬNULL(ОстаткиЗаказовКлиента.ЗаказаноОстаток, 0) = 0
                    ТОГДА -1
                ИНАЧЕ 0
            КОНЕЦ
КОНЕЦ
   mikecool
 
7 - 06.03.21 - 20:11
как минимум не хватает ИНАЧЕ
а вообще - распиши на бумаге алгоритм, пойми его и заложи в запрос
   Varlant1n
 
8 - 06.03.21 - 20:15
(7) Все сделал, все бумаги расписал. Работало все, но как я поменял и решил вернуть обратно, не могу теперь логически додумать, что и как должно быть(((
   Varlant1n
 
9 - 06.03.21 - 21:07
Тема закрыта

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.