Имя: Пароль:
1C
 
как ускорить запрос к регистру сведений ?
,
0 lim9
 
28.03.16
08:06
есть такой запрос:
ВЫБРАТЬ
    НормативыСтоимостиСрезПоследних.ВидОперации КАК ВидОперации,
    СУММА(ЕСТЬNULL(НормативыСтоимостиСрезПоследних.Стоимость, 0)) КАК Стоимость,
    СУММА(ЕСТЬNULL(НормативыСтоимостиСрезПоследних.Время, 0)) КАК НЧ
ИЗ
    РегистрСведений.НормативыСтоимости.СрезПоследних КАК НормативыСтоимостиСрезПоследних
ГДЕ
    ВЫБОР
            КОГДА &Инд = ИСТИНА
                ТОГДА НормативыСтоимостиСрезПоследних.нс = 1
            ИНАЧЕ НормативыСтоимостиСрезПоследних.нс = 0
        КОНЕЦ
    И НормативыСтоимостиСрезПоследних.Номенклатура = &Номенклатура
    И НормативыСтоимостиСрезПоследних.ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры

СГРУППИРОВАТЬ ПО
    НормативыСтоимостиСрезПоследних.ВидОперации

как его мона ускорить?
т.к. в замере производительности он занимает самое большое время
1 arishkaKlimova
 
28.03.16
08:07
(0) В цикле запсукаешь?
2 lim9
 
28.03.16
08:07
в итоге формируется верная(!) табличка, в ней всего 10 строк, но ОЧЕНЬ меделенно
3 lim9
 
28.03.16
08:08
(1) не имеет значения, т.к. вопрос именно в этом запросе
4 lim9
 
28.03.16
08:08
ТИИ сделано
5 asady
 
28.03.16
08:09
(0) структура регистра какая?
измерения что?
6 ObjectRelation Model
 
28.03.16
08:09
выкинь вот это:

ВЫБОР
            КОГДА &Инд = ИСТИНА
                ТОГДА НормативыСтоимостиСрезПоследних.нс = 1
            ИНАЧЕ НормативыСтоимостиСрезПоследних.нс = 0
        КОНЕЦ

и напиши нормально условие:

НормативыСтоимостиСрезПоследних.нс = &Параметр
7 hhhh
 
28.03.16
08:10
ИЗ
    РегистрСведений.НормативыСтоимости.СрезПоследних(, ВЫБОР
            КОГДА &Инд = ИСТИНА
                ТОГДА нс = 1
            ИНАЧЕ нс = 0
        КОНЕЦ
    И Номенклатура = &Номенклатура
    И ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры)  КАК НормативыСтоимостиСрезПоследних
8 Одинесю
 
28.03.16
08:12
А если условия в параметры виртуальной таблицы перенести?
9 lim9
 
28.03.16
08:13
(5)
Измерения:
Номенклатура (Справочник),
ХарактеристикаНоменклатуры (Справочник),
ВидОперации (Перечисление),
нс (Число).
Ресурсы:
Стоимость (Число),
Время (Число).
10 hhhh
 
28.03.16
08:24
(9) ну и ставьте условия в таблицу. Что за дикая мысль поставить в ГДЕ? Вы же каждый раз весь регистр лопатите.
11 lim9
 
28.03.16
08:24
Объединил (6) и (7) - Помогло!

Благодарю!!!

ВЫБРАТЬ
    НормативыСтоимостиСрезПоследних.ВидОперации КАК ВидОперации,
    СУММА(ЕСТЬNULL(НормативыСтоимостиСрезПоследних.Стоимость, 0)) КАК Стоимость,
    СУММА(ЕСТЬNULL(НормативыСтоимостиСрезПоследних.Время, 0)) КАК НЧ
ИЗ
    РегистрСведений.НормативыСтоимости.СрезПоследних(
            ,
            Номенклатура = &Номенклатура
                И ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры
                И нс = &ИндПарам) КАК НормативыСтоимостиСрезПоследних

СГРУППИРОВАТЬ ПО
    НормативыСтоимостиСрезПоследних.ВидОперации
12 lim9
 
28.03.16
08:25
(10) Да, вы абсолютно правы! Благодарю!
13 ИС-2
 
naïve
28.03.16
08:37
в регистре много записей?

Если, да то можно включить индексрование по номенклатуре и характеристике в самом регистре