|
Как оптимальнее написать запрос | ☑ | ||
---|---|---|---|---|
0
yabes
21.06.12
✎
12:07
|
Конфигурация Бухгалтерия КОРП. Подскажите, необходимо выводить обороты по всем филиалам за исключением головной организации. Я сделал это через пакетные запросы, наложив для виртуальной таблицы условие по организации. Как делать оптимально?
ВЫБРАТЬ Организации.Ссылка КАК Филиал ПОМЕСТИТЬ Филиалы ИЗ Справочник.Организации КАК Организации ГДЕ Организации.Код <> "000000001" ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ХозрасчетныйОбороты.Организация, ХозрасчетныйОбороты.СуммаОборот ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты( &НачалоПериода, &КонецПериода, , Счет В ИЕРАРХИИ (&Счет), , Организация В (ВЫБРАТЬ Филиалы.Филиал ИЗ Филиалы КАК Филиалы), , ) КАК ХозрасчетныйОбороты |
|||
1
Cube
21.06.12
✎
12:09
|
А что, отборы положить сразу не модно?
ВЫБРАТЬ ХозрасчетныйОбороты.Организация, ХозрасчетныйОбороты.СуммаОборот ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты( &НачалоПериода, &КонецПериода, , Счет В ИЕРАРХИИ (&Счет), , Организация.Код <> "000000001", , ) КАК ХозрасчетныйОбороты |
|||
2
Maxus43
21.06.12
✎
12:10
|
(1) так точно не модно)
(0) ссылку в запрос (1) передавайц |
|||
3
Yea-Yea
21.06.12
✎
12:10
|
имхо разбиение на два запроса тут неоправданно. ставь условие <> в виртуальной таблице.
З.Ы. и как минимум нужно было проиндексировать реультат в первом запросе |
|||
4
yabes
21.06.12
✎
12:11
|
(1)(2)(3), Да, что-то я загнул!))))))) Спасибо!
|
|||
5
Азазелло
21.06.12
✎
12:12
|
(1) Обращение внутри виртуальной таблицы к реквизитам измерений - мало того, что не модно, так еще и очень просаживает быстродействие. Вариант в (0) вполне оптимален.
|
|||
6
yabes
21.06.12
✎
12:12
|
(5) ну так как в итоге лучше?)
|
|||
7
Maxus43
21.06.12
✎
12:13
|
лучше (1) но сравнение НЕ Организация = &орг
|
|||
8
Yea-Yea
21.06.12
✎
12:13
|
(5) использование реквизита в качестве условия в принципе не оптимально. использовать сразу виртуальную и передавать туда ссылку в качестве параметра
|
|||
9
PR
21.06.12
✎
12:14
|
(5) Тогда уж
ВЫБРАТЬ Организации.Ссылка КАК Филиал ПОМЕСТИТЬ Филиалы ИЗ Справочник.Организации КАК Организации ГДЕ Организации.Код = "000000001" ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ХозрасчетныйОбороты.Организация, ХозрасчетныйОбороты.СуммаОборот ИЗ РегистрБухгалтерии.Хозрасчетный.Обороты( &НачалоПериода, &КонецПериода, , Счет В ИЕРАРХИИ (&Счет), , НЕ Организация В (ВЫБРАТЬ Филиалы.Филиал ИЗ Филиалы КАК Филиалы), , ) КАК ХозрасчетныйОбороты А еще лучше не выпендриваться и передать организацию параметром :)) |
|||
10
Yea-Yea
21.06.12
✎
12:15
|
(9) кстати одна из рекомендаций при подготовке к эксперту - не использовать НЕ в условиях
|
|||
11
Cube
21.06.12
✎
12:16
|
(2), (5) - у, налетели!!!)) Я показал ПРИМЕР с минимальными отличиями от исходника, чтобы выделить ГЛАВНОЕ! А то началось тут... :)
|
|||
12
Maxus43
21.06.12
✎
12:16
|
(10) <> юзать? надо кстати на досуге на план посмотреть
|
|||
13
Maxus43
21.06.12
✎
12:16
|
(11) не ожидал чтоле?)
|
|||
14
Yea-Yea
21.06.12
✎
12:16
|
(12) типа того
|
|||
15
yabes
21.06.12
✎
12:20
|
Ну а если бы список организаций брался, например, из табличной части документа? Тогда через пакетный запрос?
|
|||
16
Maxus43
21.06.12
✎
12:21
|
(15) или соединением, от конкретной ситуации зависит, но скорей всего да, пакетным
|
|||
17
Yea-Yea
21.06.12
✎
12:22
|
(15) да. и не забывай индексирование
|
|||
18
yabes
21.06.12
✎
12:28
|
(17) Поясни, пожалуйста!
|
|||
19
Maxus43
21.06.12
✎
12:29
|
если дело касается организаций - не факт что будет профит от индексирования. их как правило мало
|
|||
20
yabes
21.06.12
✎
12:54
|
А как индексирование делать?
|
|||
21
Yea-Yea
21.06.12
✎
13:21
|
(19) согласен
(20) в конструкторе запросов закладка индексирование |
|||
22
Buster007
21.06.12
✎
13:24
|
(10) у тебя есть эксперт?
|
|||
23
Азазелло
21.06.12
✎
13:31
|
(10) а как тогда проверять на то, что ссылка не является NULL ом?
|
|||
24
HEKPOH
21.06.12
✎
14:05
|
(23) приводить к строке и использовать <> )))))))))))
|
|||
25
Азазелло
21.06.12
✎
14:08
|
(24) бгг :))))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |