Имя: Пароль:
1C
1С v8
РН "ПартииТоваровНаСкладах", измерение "Организация" стоит на последнем месте.
0 H A D G E H O G s
 
10.09.14
11:07
Дня доброго.

Собственно сабж.
Типовая УПП.
Данное измерение стоит в конце, при формировании дерева остатков при партионном списании используется в отборе, однако из за последнего места в кластерном индексе используется как остаточный предикат.

Это косяк, и можно это измерение перенести в начало или есть хитрый смысл?
1 Ненавижу 1С
 
гуру
10.09.14
11:09
ты уже план запроса смотрел?
2 Ненавижу 1С
 
гуру
10.09.14
11:10
в УТ 10 такого измерения вообще нет
3 Ненавижу 1С
 
гуру
10.09.14
11:12
посмотрел УПП - там есть
4 ДенисЧ
 
10.09.14
11:12
на первом месте должно быть наиболее часто используемое и изменяющееся измерение.
У 100500 организаций?
5 H A D G E H O G s
 
10.09.14
11:14
(4) кыш
6 H A D G E H O G s
 
10.09.14
11:16
(1)

|--Clustered Index Seek(OBJECT:([mybase].[dbo].[_AccumRgT18949].[_Accum18949_ByDims_TRRRRRRRRRN] AS [T3]), SEEK:([T3].[_Period]=[@P1]),  WHERE:([mybase].[dbo].[_AccumRgT18949].[_Fld23355RRef] as [T3].[_Fld23355RRef]=[@P2]) ORDERED FORWARD)
7 H A D G E H O G s
 
10.09.14
11:16
WHERE:([mybase].[dbo].[_AccumRgT18949].[_Fld23355RRef] as [T3].[_Fld23355RRef]=[@P2]

_Fld23355RRef - Измерение "Организация"
8 shuhard
 
10.09.14
12:24
(0) есть хитрый смысл, как правило это измерение пустое, поскольку вариант настройки учетной политики по каждой организации во многих релизах работает криво
9 H A D G E H O G s
 
10.09.14
12:26
(8) Ииии?
10 H A D G E H O G s
 
10.09.14
12:27
(8) Зачем они тогда фигачат условие в отбор по пустой организации?
11 shuhard
 
10.09.14
12:27
(9) пустое, т.е. там нет ни чего, вакуум, лакуна - так понятно =)
12 shuhard
 
10.09.14
12:28
(10) это УПП (с)
13 H A D G E H O G s
 
10.09.14
12:28
Ну и конструкция

И ВЫБОР
    |                        КОГДА &ВестиПартионныйУчетПоСкладам = ЛОЖЬ
    |                                ИЛИ Склад = &ПустойСклад
    |                            ТОГДА Номенклатура В
    |                                    (ВЫБРАТЬ
    |                                        СписанныеТовары.Номенклатура
    |                                    ИЗ
    |                                        СписанныеТовары КАК СписанныеТовары)
    |                        ИНАЧЕ (Номенклатура, Склад) В
    |                                (ВЫБРАТЬ
    |                                    СписанныеТовары.Номенклатура,
    |                                    СписанныеТовары.Склад
    |                                ИЗ
    |                                    СписанныеТовары КАК СписанныеТовары)

а именно вот эта ветка алгоритма
ИЛИ Склад = &ПустойСклад

превращается в адово действо в sql-е.
14 H A D G E H O G s
 
10.09.14
12:29
Пока не знаю, как обойти.

Только разложить на 2 запроса с объединением, но выигрыша нет, проигрыш.
15 H A D G E H O G s
 
10.09.14
12:31
Убрал

|    ПартииТоваровНаСкладах.ДокументОприходования.Представление КАК ДокументОприходованияПредставление,

заменив на

|    "" КАК ДокументОприходованияПредставление,

ибо не увидел, где это представление используется, а кошмара в SQL-е от этого дофига.

Если нужно - проще потом выборку обойти и заполнить представления.
16 H A D G E H O G s
 
10.09.14
12:34
(15) это для Бух и Нал.
17 ОбычныйЧеловек
 
10.09.14
13:41
(14) посмотри
http://infostart.ru/public/191732/
+ комменты там же, может чем поможет
18 H A D G E H O G s
 
10.09.14
13:51
(17) Я делал это до того, как это стало мейнстримом :-)
19 Зойч
 
10.09.14
13:53
по первым полям отбор накладывается?
20 Зойч
 
10.09.14
13:54
в упп можно поиметь выигрыш если параллельно по разным видам учета проводить: уу, бу, ну