Имя: Пароль:
1C
 
Долго работает отбор в СКД
0 unknown181538
 
21.09.18
15:24
Отчет на СКД

ВЫБРАТЬ
    ВыручкаИСебестоимостьПродажОбороты.СуммаВыручкиОборот,
    ВЫБОР
        КОГДА &ТипСебестомости = "ПоследняяЗакупочная"
            ТОГДА ЕСТЬNULL(ЗакупочныеЦены.Цена, 0)
        КОГДА &ТипСебестомости = "Себестоимость"
                И ЕСТЬNULL(ВШ_ПартииОбороты.КоличествоРасход, 0) = 0
            ТОГДА 0
        КОГДА &ТипСебестомости = "Себестоимость"
            ТОГДА ЕСТЬNULL(ВШ_ПартииОбороты.СуммаРасход, 0) / ЕСТЬNULL(ВШ_ПартииОбороты.КоличествоРасход, 0)
        ИНАЧЕ 0
    КОНЕЦ КАК Себестоимость,
    ВыручкаИСебестоимостьПродажОбороты.КоличествоОборот,
    РегАнП.Партнер КАК Клиент,
    РегАнН.Номенклатура КАК Номенклатура
ИЗ
    РегистрНакопления.ВыручкаИСебестоимостьПродаж.Обороты(, , Регистратор, ) КАК ВыручкаИСебестоимостьПродажОбороты
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаНоменклатуры КАК РегАнН
        ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаНоменклатуры = РегАнН.КлючАналитики
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПоПартнерам КАК РегАнП
        ПО ВыручкаИСебестоимостьПродажОбороты.АналитикаУчетаПоПартнерам = РегАнП.КлючАналитики
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ВШ_Партии.Обороты(, , Регистратор, ) КАК ВШ_ПартииОбороты
        ПО (&ТипСебестомости = "Себестоимость")
            И ВыручкаИСебестоимостьПродажОбороты.Регистратор = ВШ_ПартииОбороты.Регистратор
            И (РегАнН.Номенклатура = ВШ_ПартииОбороты.Номенклатура)
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(, ВидЦены = &ВидЦен) КАК ЗакупочныеЦены
        ПО (&ТипСебестомости = "ПоследняяЗакупочная")
            И (ВыручкаИСебестоимостьПродажОбороты.Регистратор = ВШ_ПартииОбороты.Регистратор)
            И (РегАнН.Номенклатура = ВШ_ПартииОбороты.Номенклатура)
{ГДЕ
    РегАнН.Номенклатура.* КАК НоменклатураОтбор}

Когда делаю отбор по
НоменклатураОтбор, отчет выполняется долго. Без отбора быстро.
Что я делаю не так?
1 unknown181538
 
21.09.18
15:27
А нет. Туплю... не в СКД дело, а в отборе.
2 unknown181538
 
21.09.18
15:34
Получается, что если мы следуем идеологии 1с,то должны делать соединение с регистром ключей аналитики, и не можем отобрать в параметрах виртуальных таблиц. Я посмотрел - стандартная валовая прибыль тоже работает неверно...
Либо в параметрах отбирать по АналитикаУчетаНоменклатуры.Номенклатура...
я не понимаю, зачем так сделали, и как быть.
3 unknown181538
 
21.09.18
15:56
Сделать в ПВТ отбор по АналитикаУчетаНоменклатуры.Номенклатура. Отчет заработал быстрее. Соединение с РС убрал. Теперь у меня соединения через 2 точки, но так все же быстрее, чем стандартный отчет "валовая прибыль".
Как это все можн объяснить, и кто это придумал?
Независимо от того, куда вы едете — это в гору и против ветра!