|
разрешение Характеристик СКД | ☑ | ||
---|---|---|---|---|
0
kuzyara
24.06.14
✎
09:41
|
Почему характеристики в СКД разрешаются в:
ВЫБРАТЬ ПартииНоменклатурыОстаткиИОбороты.Склад КАК Склад, ПартииНоменклатурыОстаткиИОбороты.Период КАК Период, ПартииНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток КАК КоличествоКонечныйОстаток, ПартииНоменклатурыОстаткиИОбороты.СтоимостьКонечныйОстаток КАК СтоимостьКонечныйОстаток ИЗ РегистрНакопления.ПартииНоменклатуры.ОстаткиИОбороты(&д1, &д2, День, , склад = &склад) КАК ПартииНоменклатурыОстаткиИОбороты ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов ПО (ЗначенияСвойствОбъектов.Объект = ПартииНоменклатурыОстаткиИОбороты.Номенклатура) И (ЗначенияСвойствОбъектов.Свойство = &П3) ГДЕ ЗначенияСвойствОбъектов.Значение = &П4 |
|||
1
kuzyara
24.06.14
✎
09:43
|
Почему характеристики в СКД разрешаются в:
а не в:
, ведь второй вариант быстрее?
Как сформировать запрос, чтобы характеристики были как во втором варианте? |
|||
2
kuzyara
24.06.14
✎
09:45
|
у меня первый запрос выполняется 8 секунд, а второй всего одну!
|
|||
3
Defender aka LINN
24.06.14
✎
10:01
|
(1) Потому что механизм характеристик - это еще и их вывод пользователю, а не только отбор.
|
|||
4
kuzyara
24.06.14
✎
10:08
|
(3), не очень понял, каким образом настройки выводятся пользователю, если данные в итоге получются одни и теже? Поясните, пожалуйста.
|
|||
5
kuzyara
24.06.14
✎
10:11
|
и вообще есть какая информация о том, по каким алгоритмам выражения в фигурных скобках превращаются в код запроса?
|
|||
6
Defender aka LINN
24.06.14
✎
10:12
|
(4) Элементарно, Ватсон. В твоем варианте ты значение характеристики не выведешь никак.
|
|||
7
kuzyara
24.06.14
✎
10:22
|
(6), окей, можно ведь совместить оба варианта, всё равно выйграем по скорости, верно?
|
|||
8
Defender aka LINN
24.06.14
✎
10:23
|
(7) Совмещай, кто не дает. Механизм характеристик - универсальный, через это - не самый оптимальный.
|
|||
9
kuzyara
24.06.14
✎
10:25
|
(8), так как совместить то??
как сделать так, чтобы если пользователь не выбрал характеристику - то не было бы условия в виртуальной таблице? |
|||
10
Cube
24.06.14
✎
10:39
|
(9) Если утрировано, то так:
ВЫБРАТЬ ПартииНоменклатурыОстаткиИОбороты.Склад КАК Склад, ПартииНоменклатурыОстаткиИОбороты.Период КАК Период, ПартииНоменклатурыОстаткиИОбороты.КоличествоКонечныйОстаток, ПартииНоменклатурыОстаткиИОбороты.СтоимостьКонечныйОстаток ИЗ РегистрНакопления.ПартииНоменклатуры.ОстаткиИОбороты( &д1, &д2, День, , (&П4 = ЗНАЧЕНИЕ(ТутУкажешьПустоеЗначениеПараметра) ИЛИ Номенклатура В (ВЫБРАТЬ тном.Номенклатура ИЗ тном) И склад = &склад) КАК ПартииНоменклатурыОстаткиИОбороты |
|||
11
Cube
24.06.14
✎
10:39
|
(10) И закрывающую скобочку сам поставишь))
|
|||
12
acsent
24.06.14
✎
10:49
|
2 вариант быстрее?? Ты про индексы хоть раз слышал?????
|
|||
13
acsent
24.06.14
✎
10:51
|
попробуй отключить автозаполнение СКД и указать номенклатуру внутри ВТ
|
|||
14
kuzyara
24.06.14
✎
11:05
|
Нифига. Вот такой запрос:
при указании отбора по характеристике превращается в:
Не, мне просто интересно, зачем делать выборку по номенклатуре(ПартииНоменклатурыОстаткиИОбороты.Номенклатура запрашивается в условии левого соединения), если в полях она мне нафиг не сдалась? Подправьте пожалуйста мой запрос, чтобы он выдавал второй вариант. |
|||
15
kuzyara
24.06.14
✎
11:08
|
(12), я слышал что индексы при большом наборе данных позволяют не делать полный перебор для поиска нужного значения.
(13), я указал номенклатуру внутри ВТ, но это не решает проблемы. А отключать автозаполнение вроде необязательно, или я неправ? |
|||
16
kuzyara
24.06.14
✎
11:15
|
(10), зачем вы &П4 с пустым значением приплели, если он создается сам при разрешении характеристики? Что вы имели ввиду?
|
|||
17
kuzyara
24.06.14
✎
11:17
|
И вообще я правильно говорю термин "разрешение", может быть правильнее "компиляция" или "компоновка"?
|
|||
18
kuzyara
24.06.14
✎
11:18
|
Блин столько вопросов. повторю (5):
"Есть какая информация о том, по каким алгоритмам выражения в фигурных скобках превращаются в код запроса?" |
|||
19
Cube
24.06.14
✎
13:55
|
(16) Сначала попробуй, потом удивись, потом приходи.
|
|||
20
Cube
24.06.14
✎
13:56
|
(19) Или я что-то не понял?
|
|||
21
kuzyara
24.06.14
✎
14:50
|
(20), дошло наконец-то.
Но, количество этих &П2,&П3,&П4,... прямопорционально количеству отборов, т.е. когда я добавляю ещё один отбор, &П4 становится &П5! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |