|
Оптимизация работы Динамических списков. | ☑ | ||
---|---|---|---|---|
0
busy1
19.08.14
✎
14:55
|
Добрый день камрады. Уже битый час рою информацию по вопросу оптимизации динамических списков в УФ и что то все варианты сводятся к банальному: "Исправь запрос на более простой". А вот если нельзя изменить запрос, он вот такой каким родился. Можно ли как то его переместить там в обработку или может быть есть ещё какие то хитрые способы?
|
|||
1
PR
19.08.14
✎
14:57
|
Нет
|
|||
2
Bober
19.08.14
✎
14:57
|
(0) можно
|
|||
3
DmitrO
19.08.14
✎
14:58
|
Обычно.. если запрос изменить уже нельзя, то тогда менять надо структуру данных.. :)
|
|||
4
acsent
19.08.14
✎
14:58
|
в смысле в оработку?
|
|||
5
Bober
19.08.14
✎
14:59
|
||||
6
busy1
19.08.14
✎
15:00
|
Ну я не знаю. Сделать это как то в модуле документа, а потом вывести это в динамический список формыСписка, ну как то так.
|
|||
7
busy1
19.08.14
✎
15:00
|
(5) Благодарю, почитаю
|
|||
8
busy1
19.08.14
✎
15:02
|
(5) немного не то.
|
|||
9
Bober
19.08.14
✎
15:03
|
(8) далее идет отключение динамического считывания данных.
|
|||
10
acsent
19.08.14
✎
15:03
|
(7) в 8.3 может уже и починили это
|
|||
11
sf
19.08.14
✎
15:03
|
(0) мега запрос в студию
|
|||
12
Bober
19.08.14
✎
15:03
|
(8) сложно помочь, когда не видна проблема.
|
|||
13
acsent
19.08.14
✎
15:03
|
Ничто не помогает, переходи к (3)
|
|||
14
Immortal
19.08.14
✎
15:04
|
преобразуй данные таким образом, чтобы их можно было считать с минимальным количеством соединений или без них
|
|||
15
busy1
19.08.14
✎
15:05
|
То есть вывод всё таки неутешительный. Упрости и будет быстрее.
|
|||
16
busy1
19.08.14
✎
15:06
|
ВЫБРАТЬ
ПеремещениеТоваров.Ссылка, СУММА(ВЫБОР КОГДА ПодЗапрос.Склад = ПеремещениеТоваров.СкладПолучатель ТОГДА ПодЗапрос.Плюс ИНАЧЕ 0 КОНЕЦ) КАК Недоприход, СУММА(ВЫБОР КОГДА ПодЗапрос.Склад = ПеремещениеТоваров.СкладПолучатель ТОГДА -ПодЗапрос.Минус ИНАЧЕ 0 КОНЕЦ) КАК Переприход, СУММА(ВЫБОР КОГДА ПодЗапрос.Склад = ПеремещениеТоваров.СкладОтправитель ТОГДА -ПодЗапрос.Минус ИНАЧЕ 0 КОНЕЦ) КАК Недорасход, СУММА(ВЫБОР КОГДА ПодЗапрос.Склад = ПеремещениеТоваров.СкладОтправитель ТОГДА ПодЗапрос.Плюс ИНАЧЕ 0 КОНЕЦ) КАК Перерасход, ПеремещениеТоваров.ПометкаУдаления, ПеремещениеТоваров.Номер, ПеремещениеТоваров.Дата, ПеремещениеТоваров.СкладОтправитель, ПеремещениеТоваров.СкладПолучатель, ПеремещениеТоваров.ДокументОснование КАК Основание, ПеремещениеТоваров.МагазинОтправитель, ПеремещениеТоваров.МагазинПолучатель, ПеремещениеТоваров.Ответственный, ПеремещениеТоваров.СуммаДокумента, ПеремещениеТоваров.Организация, ВЫРАЗИТЬ(ПеремещениеТоваров.Комментарий КАК СТРОКА(50)) КАК Комментарий ИЗ Документ.ПеремещениеТоваров КАК ПеремещениеТоваров ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ СУММА(ВЫБОР КОГДА ТоварыВПути.КоличествоОстаток > 0 ТОГДА ТоварыВПути.КоличествоОстаток ИНАЧЕ 0 КОНЕЦ) КАК Плюс, СУММА(ВЫБОР КОГДА ТоварыВПути.КоличествоОстаток < 0 ТОГДА ТоварыВПути.КоличествоОстаток ИНАЧЕ 0 КОНЕЦ) КАК Минус, ТоварыВПути.Номенклатура КАК Номенклатура, ТоварыВПути.Склад КАК Склад, ТоварыВПути.Характеристика КАК Характеристика, ТоварыВПути.ДокументОснование КАК ДокументОснование1 ИЗ РегистрНакопления.ТоварыКПоступлениюРеализации.Остатки(, ДокументОснование ССЫЛКА Документ.ПеремещениеТоваров) КАК ТоварыВПути СГРУППИРОВАТЬ ПО ТоварыВПути.Номенклатура, ТоварыВПути.Характеристика, ТоварыВПути.Склад, ТоварыВПути.ДокументОснование) КАК ПодЗапрос ПО ПодЗапрос.ДокументОснование1 = ПеремещениеТоваров.Ссылка СГРУППИРОВАТЬ ПО ПеремещениеТоваров.Ссылка, ПеремещениеТоваров.ПометкаУдаления, ПеремещениеТоваров.Номер, ПеремещениеТоваров.Дата, ПеремещениеТоваров.СкладОтправитель, ПеремещениеТоваров.СкладПолучатель, ПеремещениеТоваров.ДокументОснование, ПеремещениеТоваров.МагазинОтправитель, ПеремещениеТоваров.МагазинПолучатель, ПеремещениеТоваров.Ответственный, ПеремещениеТоваров.СуммаДокумента, ПеремещениеТоваров.Организация, ВЫРАЗИТЬ(ПеремещениеТоваров.Комментарий КАК СТРОКА(50)) |
|||
17
Bober
19.08.14
✎
15:09
|
(16) да, есть над чем поработать в запросе.
|
|||
18
busy1
19.08.14
✎
15:11
|
(17) Подкинь направление. ;)
|
|||
19
Bober
19.08.14
✎
15:15
|
(18)
- убрать вложенный запрос, - в запросе к остаткам оставить детализацию до склад, документ основание - переделать на два левых соединения 1. по остатках склада отправителя 2. по остатках склада получателя. а вообще лучше: - убрать всю муть с плюс\минус и недо. две колонки(по каждому складеу), в них либо > 0 либо <. |
|||
20
busy1
19.08.14
✎
15:18
|
(19) Спасибо. Кстати, мне тоже этот плюс/минус как то глаз маячил.
|
|||
21
DmitrO
19.08.14
✎
15:42
|
мда.. мне одному кажется, что в этом запросе нет ничего "динамического"? :)
|
|||
22
busy1
19.08.14
✎
15:43
|
(21) Предложения?
|
|||
23
DmitrO
19.08.14
✎
15:45
|
(22) последнее "сгруппировать по" убрать как минимум
|
|||
24
РенеДекарт
19.08.14
✎
15:58
|
(21) если запрос для ДС - то он "динамический".
(16) у вас три соединения мимнимум. Упростите, посмотрите, что наиболее трудоемко, этот процесс и убыстряйте. |
|||
25
busy1
19.08.14
✎
16:02
|
Благодарю за советы
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |