|
Запрос. Как правильнее сделать
| ☑ |
0
Zixxx
09.04.21
✎
21:18
|
Собственно задача простая
1. Получить остатки по товарам
2. Получить склады по которым получили остатки
3. Получить номенклатуру по которым получили остатки
Какие варианты вижу
1. Можно сделать запрос с тремя пакетам в каждом получая остатки, только для 2 и 3 выбрать Без повторяющих
2. Либо сделать запрос по остаткам, поместить во временную таблицу, из нее потом получить остатки, склады и номенклатуру и затем удалить временную таблицу.
3. Можно получить таблицу по остаткам, а потом обходом заполнять массивы складов и номенклатуры, предварительно делая поиск
Как будет правильнее и быстрее?
|
|
1
Ненавижу 1С
гуру
09.04.21
✎
21:22
|
Можно в одном пакете выбрать остатки во временную. Потом в двух запросах получить разные склады и разную номенклатуру. Пакет сам уничтожит временную таблицу.
|
|
2
Ненавижу 1С
гуру
09.04.21
✎
21:23
|
Не всегда есть правильно и неправильно
|
|
3
aka MIK
09.04.21
✎
21:33
|
(0) да все будет быстро
Различия могут быть только на разных объемах данных
|
|
4
H A D G E H O G s
09.04.21
✎
22:43
|
(0) Оперативные остатки можно объединять с другими таблицами и даже задавать отборы в ГДЕ и в Соединениях.
Неоперативные остатки - выбирать в ВТ предварительно
|
|
5
Ненавижу 1С
гуру
09.04.21
✎
23:08
|
(4) огласите понятие оперативных остатков
|
|
6
RomanYS
09.04.21
✎
23:23
|
(4) А если блокировки не накладывать, то есть риск получить три разных таблицы остатков в одном пакете?
|
|
7
H A D G E H O G s
09.04.21
✎
23:27
|
(6) Там S блокировка на момент выполнения запроса.
|
|
8
H A D G E H O G s
09.04.21
✎
23:27
|
(5) Я лучше передам слово молчаливому Бобу.
|
|
9
H A D G E H O G s
09.04.21
✎
23:29
|
(6) Ну и в теме нет уточнения, делаем мы это в транзакции или вне, грязно, в отчете.
|
|