![]() |
|
Можно ли ускорить отбор виртуальных таблиц регистра остатков? | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
09.09.14
✎
15:47
|
Есть справочники номеналатура и характеристики номенклатуры.
Обычно в типовом запросе отбор на виртуальную таблицу накладывается так: ВЫБРАТЬ ТоварыВРозницеОстатки.Номенклатура, ТоварыВРозницеОстатки.ХарактеристикаНоменклатуры, ТоварыВРозницеОстатки.КоличествоОстаток ИЗ РегистрНакопления.ТоварыВРознице.Остатки( , Номенклатура В (ВЫБРАТЬ &Номенклатура) И ХарактеристикаНоменклатуры В (ВЫБРАТЬ &ХарактеристикаНоменклатуры)) КАК ТоварыВРозницеОстатки А хотелось бы накладывать так (было бы быстрее): ВЫБРАТЬ ТоварыВРозницеОстатки.Номенклатура, ТоварыВРозницеОстатки.ХарактеристикаНоменклатуры, ТоварыВРозницеОстатки.КоличествоОстаток ИЗ РегистрНакопления.ТоварыВРознице.Остатки( , Номенклатура = &Номенклатура И ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры ИЛИ Номенклатура = &Номенклатура2 И ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры2 ) КАК ТоварыВРозницеОстатки Например, если у меня есть товары: Компьютер, Европа Компьютер, Китай Ткань, Красная Ткань, Синяя Мыло Чехол То оно отберет и все товары с пустыми (незаполненными) характеристиками, что иногда существенно замедлит процесс. Т.е. в данном случае в результат войдут и Компьютер, и Ткань, (т.е. с пустыми характеристиками), хотя их и не было в исходном документе и по ним остатки не нужны. |
|||
1
Timon1405
09.09.14
✎
15:55
|
ВЫБРАТЬ
&Компьютер КАК Номенклатура, &Европа КАК Характеристика ПОМЕСТИТЬ ВТ_НомХам ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ &Компьютер2, &Азиопа ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ТоварыОрганизацийОстатки.Организация, ТоварыОрганизацийОстатки.Номенклатура, ТоварыОрганизацийОстатки.ХарактеристикаНоменклатуры, ТоварыОрганизацийОстатки.КоличествоОстаток ИЗ РегистрНакопления.ТоварыОрганизаций.Остатки( , (Номенклатура, ХарактеристикаНоменклатуры) В (ВЫБРАТЬ ВТ_НомХам.Номенклатура, ВТ_НомХам.Характеристика ИЗ ВТ_НомХам КАК ВТ_НомХам)) КАК ТоварыОрганизацийОстатки |
|||
2
H A D G E H O G s
09.09.14
✎
16:02
|
(1) Плохо.
|
|||
3
Гений 1С
гуру
09.09.14
✎
16:04
|
(2) почему?
|
|||
4
H A D G E H O G s
09.09.14
✎
16:04
|
Измерение Организация идет первым (в типовых).
Отбор по ней не наложен. Индекс использоваться не будет. |
|||
5
Гений 1С
гуру
09.09.14
✎
16:07
|
(1) Большое человеческое спасибо.
А то я уже хотел так переписать (даже чуть быстрее работает), но ваш метод универсальнее и лучше, в принципе: ВЫБРАТЬ ТоварыВРозницеОстатки.Номенклатура, ТоварыВРозницеОстатки.ХарактеристикаНоменклатуры, ТоварыВРозницеОстатки.КоличествоОстаток ИЗ РегистрНакопления.ТоварыВРознице.Остатки( , ВЫБОР КОГДА ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) ТОГДА Номенклатура В (ВЫБРАТЬ &Номенклатура) ИНАЧЕ ХарактеристикаНоменклатуры В (ВЫБРАТЬ &ХарактеристикаНоменклатуры) КОНЕЦ) КАК ТоварыВРозницеОстатки |
|||
6
Гений 1С
гуру
09.09.14
✎
16:07
|
(4) не суть, главное, что после переписки полчаса тупления запроса превращаются в 7 секунд! ;-)
|
|||
7
Timon1405
09.09.14
✎
16:08
|
(4) Извиняйте, выбрал звездочку, выкинул лишнее, просто для примера написал
|
|||
8
SeiOkami
09.09.14
✎
16:08
|
"ИЛИ" в запросе - Зло
|
|||
9
H A D G E H O G s
09.09.14
✎
16:08
|
(6) Плохо, Сергей Осипов, плохо.
Запрос в 7 секунд - это плохо. |
|||
10
Гений 1С
гуру
15.09.14
✎
13:27
|
(9) там еще ускорил немного. Оказывается, если сначала отобрать списанные товары в временную таблицу в запросе, то соединение как раз на порядки быстрее работает, чем со всей таблицей с отбором по регистратору.
|
|||
11
H A D G E H O G s
15.09.14
✎
13:35
|
(10) Ты прямо в каком то устькукуйске живешь с диалапом.
Это было известно уже года 4 как. |
|||
12
H A D G E H O G s
15.09.14
✎
13:36
|
(10) Г1С начал что-то подозревать.
|
|||
13
Fragster
гуру
15.09.14
✎
13:36
|
подпишусь на комменты
|
|||
14
Timon1405
15.09.14
✎
13:39
|
(13) для этого придумана кнопка "Закладка" слева %)
|
|||
15
МишельЛагранж
15.09.14
✎
13:55
|
(0) Сергей, а что, 1С уже стала избирательно делать запросы? Т.е. по "ИЛИ" будет избирательно выполнена только одна из веток запроса?
|
|||
16
МишельЛагранж
15.09.14
✎
13:55
|
(14) не работает закладка
|
|||
17
Гений 1С
гуру
15.09.14
✎
14:00
|
(15) тут как раз не принципиально.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |