Имя: Пароль:
1C
 
Запрос. Как правильнее сделать
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) Ну и в теме нет уточнения, делаем мы это в транзакции или вне, грязно, в отчете.