|
Помогите с запросом | ☑ | ||
---|---|---|---|---|
0
Varlant1n
06.03.21
✎
17:21
|
Здравствуйте, дорогие форумчане. Мне в запросе нужны пары условий. Я написал, но это не работает. Помогите, пожалуйста.
ВЫБОР КОГДА ЕСТЬNULL(ОстаткиЗаказовКлиента.ЗаказаноОстаток, 0) <> 0 ТОГДА ВЫБОР КОГДА ОстаткиЗаказовКлиента.ЗаказаноОстаток = КоличествоТоваровИтог.Количество ТОГДА 1 КОГДА ЕСТЬNULL(ОстаткиЗаказовКлиента.ЗаказаноОстаток, 0) = 0 ТОГДА -1 ИНАЧЕ 0 КОНЕЦ КОНЕЦ *КоличествоТоваровИтог.Количество - это количество товара в заказе клиента. Нужен такой результат: 1 - Товар полностью не отгружен, 2 - Отгружена часть товара, 3 - Товар полностью отгружен. У меня почему то у всех документов заказа результат -1. Помогите, пожалуйста |
|||
1
DAFA
06.03.21
✎
17:47
|
задача из спеца по платформе
|
|||
2
DAFA
06.03.21
✎
17:49
|
не видит остаток надо чтоб видело
|
|||
3
DAFA
06.03.21
✎
17:50
|
полный текст запроса выложи .кто знает .что там в начале
|
|||
4
Varlant1n
06.03.21
✎
18:08
|
(3)
ВЫБРАТЬ ДокументЗаказКлиента.Ссылка КАК Ссылка, ДокументЗаказКлиента.Менеджер КАК Менеджер, ДокументЗаказКлиента.Партнер КАК Партнер, ДокументЗаказКлиента.Номер КАК Номер, ДокументЗаказКлиента.Дата КАК Дата, ДокументЗаказКлиента.Подразделение КАК Подразделение, ДокументЗаказКлиента.АдресДоставки КАК АдресДоставки, ВЫБОР КОГДА ЕСТЬNULL(ОстаткиЗаказовКлиента.ЗаказаноОстаток, 0) = 0 ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК Отгружено, КоличествоТоваровИтог.Количество КАК КоличествоИтог, ВЫБОР КОГДА ЕСТЬNULL(ОстаткиЗаказовКлиента.ЗаказаноОстаток, 0) <> 0 ТОГДА ВЫБОР КОГДА ОстаткиЗаказовКлиента.ЗаказаноОстаток = КоличествоТоваровИтог.Количество ТОГДА 1 КОГДА ЕСТЬNULL(ОстаткиЗаказовКлиента.ЗаказаноОстаток, 0) = 0 ТОГДА -1 ИНАЧЕ 0 КОНЕЦ КОНЕЦ КАК ПризнакОтгруженности ИЗ Документ.ЗаказКлиента КАК ДокументЗаказКлиента ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ СУММА(ЗаказыКлиентовОстатки.ЗаказаноОстаток) КАК ЗаказаноОстаток, ЗаказыКлиентовОстатки.ЗаказКлиента КАК ЗаказКлиента ИЗ РегистрНакопления.ЗаказыКлиентов.Остатки КАК ЗаказыКлиентовОстатки СГРУППИРОВАТЬ ПО ЗаказыКлиентовОстатки.ЗаказКлиента) КАК ОстаткиЗаказовКлиента ПО ДокументЗаказКлиента.Ссылка = ОстаткиЗаказовКлиента.ЗаказКлиента ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ СУММА(ЗаказКлиентаТовары.Количество) КАК Количество, ЗаказКлиентаТовары.Ссылка КАК СсылкаЗаказ ИЗ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары СГРУППИРОВАТЬ ПО ЗаказКлиентаТовары.Ссылка) КАК КоличествоТоваровИтог ПО ДокументЗаказКлиента.Ссылка = КоличествоТоваровИтог.СсылкаЗаказ ГДЕ ДокументЗаказКлиента.Проведен = ИСТИНА И ДокументЗаказКлиента.Товары.Склад В(&Склады) И ДокументЗаказКлиента.Дата МЕЖДУ &ДатаНачала И &ДатаКонец |
|||
5
rphosts
06.03.21
✎
18:55
|
Ну так на вскидку... у тебя проведенные документы, поэтому отгрузка какая-то уже есть. Остатки ты получаешь не на дату, а Актуальные... поэтому "Товар полностью не отгружен" не возможно в принципе.
|
|||
6
Varlant1n
06.03.21
✎
18:58
|
(5) Нет, дело в том, что у меня работало, но я потом поменял. Так как сделал два значения у ПризнакаОтгруженности. Истина или ложь. Теперь не могу додумать как вернуть обратно... Полностью запутался. Нужно просто додумать этот момент:
ВЫБОР КОГДА ЕСТЬNULL(ОстаткиЗаказовКлиента.ЗаказаноОстаток, 0) <> 0 ТОГДА ВЫБОР КОГДА ОстаткиЗаказовКлиента.ЗаказаноОстаток = КоличествоТоваровИтог.Количество ТОГДА 1 КОГДА ЕСТЬNULL(ОстаткиЗаказовКлиента.ЗаказаноОстаток, 0) = 0 ТОГДА -1 ИНАЧЕ 0 КОНЕЦ КОНЕЦ |
|||
7
mikecool
06.03.21
✎
20:11
|
как минимум не хватает ИНАЧЕ
а вообще - распиши на бумаге алгоритм, пойми его и заложи в запрос |
|||
8
Varlant1n
06.03.21
✎
20:15
|
(7) Все сделал, все бумаги расписал. Работало все, но как я поменял и решил вернуть обратно, не могу теперь логически додумать, что и как должно быть(((
|
|||
9
Varlant1n
06.03.21
✎
21:07
|
Тема закрыта
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |