![]() |
![]() |
![]() |
|
Подбор запросом остатков с нескольких складов | ☑ | ||
---|---|---|---|---|
0
i_dmi
21.05.15
✎
14:01
|
Добрый день!
Есть следующая задача: нужно одним запросом подобрать необходимое количество номенклатуры с разных складов. Пример Необходимо 27 штук ТовараА. На складе Х есть 18 штух, на складе У - 3 штуки, на складе Ц - 5 штук, на складе Т - 9 штук, на складе Ы - 15 штук. Возможно ли написать запрос, результатом которого будет Х - 18 У - 3 Ц - 5 Т - 3 Что то даже мыслей нет, как это организовать |
|||
1
mikecool
21.05.15
✎
14:06
|
думается можно, особенно используя ВТ
|
|||
2
FIXXXL
21.05.15
✎
14:09
|
Запросом ты можешь получить остаток в разрезе складов
потом обойти результат и заполнить количество и склад, где тебе там надо |
|||
3
Бубка Гоп
21.05.15
✎
14:11
|
(0) имхо, запрос - для получения информации. Обрабатывать ее лучше программно, имхо.
|
|||
4
Timon1405
21.05.15
✎
14:12
|
(0) почему не 27 = 18 + 9?
|
|||
5
Креатив
21.05.15
✎
14:12
|
(2)(3)Согласен.
Но, сдаётся мне, что автор что-то не договаривает. (0)что ты собираешься делать с результатом? |
|||
6
i_dmi
21.05.15
✎
14:14
|
(5) Потом заполняю ТЧ документа
(2)(3) Я хотел именно в запросе данные получить) (4) Без разницы |
|||
7
Бубка Гоп
21.05.15
✎
14:14
|
(4) кстати да, логичнее получать остатки в порядке убывания, обходить в цикле и заполнять до нужного значения
|
|||
8
anatoly
21.05.15
✎
14:16
|
зачем запросом?
так не правильно делать. или опять какой то тест/экзамен? (6) за "без разницы" тебя логисты расстреляют )) |
|||
9
Креатив
21.05.15
✎
14:23
|
(6)В данном случае нет смысла наворачивать запрос. Обходишь результат запроса по всем складам и вычитаешь количество из требуемого, пока не получишь 0.
|
|||
10
i_dmi
21.05.15
✎
14:27
|
Всё, убедили, буду циклом)
|
|||
11
Ненавижу 1С
гуру
21.05.15
✎
14:27
|
можно и запросом
v8: FIFO в запросе |
|||
12
Ненавижу 1С
гуру
21.05.15
✎
14:28
|
а какой приоритет складов?
|
|||
13
i_dmi
21.05.15
✎
14:37
|
(12) Вроде как нечто похожее
Приоритет - удаленность складов, отсортирую. Спасибо! |
|||
14
Бубка Гоп
21.05.15
✎
14:39
|
(0) можно сделать на ВЫБОР КОГДА, получется портянка, но если критично чтоб в запросе...
1 запрос в пакете Выбор Когда С1.Остаток >= КоличествоНужно Тогда 1 Иначе Выбор Когда С1.Остаток + С2.Остаток >= КоличествоНужно Тогда Тогда 2 ...так далее... Конец Как КоличествоСкладов 2 запрос в пакете выбор Когда КоличествоСкладов = 1 Тогда Тогда КоличествоНужно Иначе С1.Остаток Конец Как КоличествоВзятьСПервогоСклада выбор Когда КоличествоСкладов = 1 Тогда 0 Иначе Выбор Когда КоличествоСкладов = 2 Тогда С2.Остаток - (С1.Остаток + С2.Остаток - КоличествоНужно) Иначе Выбор Когда КоличествоСкладов = 3 Тогда С2.Остаток - (С1.Остаток + С2.Остаток + С3.Остаток - КоличествоНужно) Иначе ...так далее... Конец Как КоличествоВзятьСоВторогоСклада и так по каждому складу |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |