Имя: Пароль:
1C
 
УТ 10.3 Неоптимальный запрос
,
0 saradip
 
04.08.23
12:56
Добрый день
В документе "установка цен номенклатуры" есть возможность заполнить список по цене и группе номенклатуры,
запрос на группу товара с 20 позициями выполняется около 20 минут и имеет следующий вид:

ВЫБРАТЬ
    Ном.НоменклатурнаяГруппа КАК НоменклатурнаяГруппа,
    Ном.ЦеноваяГруппа КАК ЦеноваяГруппа,
    Ном.ЭтоГруппа КАК ЭтоГруппа,
    ХарактеристикиНоменклатуры.Ссылка КАК ХарактеристикаНоменклатуры,
    ВЫБОР
        КОГДА Ном.НаименованиеПолное ПОДОБНО &ПустаяСтрока
            ТОГДА Ном.Наименование
        ИНАЧЕ Ном.НаименованиеПолное
    КОНЕЦ КАК ПолноеНаименование,
    ВЫБОР
        КОГДА &ДопКолонка = &Артикул
            ТОГДА Ном.Артикул
        КОГДА &ДопКолонка = &Код
            ТОГДА Ном.Код
        ИНАЧЕ NULL
    КОНЕЦ КАК Артикул,
    Рег.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
    Рег.Валюта КАК Валюта,
    Рег.ПроцентСкидкиНаценки КАК ПроцентСкидкиНаценки,
    Рег.СпособРасчетаЦены КАК СпособРасчетаЦены,
    Тип.ВалютаЦены КАК ВалютаЦены,
    КурсыВалют.Курс КАК КурсВалюты,
    КурсыВалют.Кратность КАК КратностьВалюты,
    КурсыВалютЦены.Курс КАК КурсВалютыЦены,
    КурсыВалютЦены.Кратность КАК КратностьВалютыЦены,
    ВЫБОР
        КОГДА Тип.Рассчитывается
            ТОГДА Рег.Цена * (100 + Тип.ПроцентСкидкиНаценки) / 100
        ИНАЧЕ Рег.Цена
    КОНЕЦ КАК Цена,
    Тип.Ссылка КАК ТипЦен,
    Ном.Ссылка КАК Номенклатура,
    Ном.Родитель КАК Группа
ИЗ
    Справочник.Номенклатура КАК Ном
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            Характеристики.Ссылка КАК Ссылка,
            Характеристики.Владелец КАК Владелец
        ИЗ
            Справочник.ХарактеристикиНоменклатуры КАК Характеристики
        
        ОБЪЕДИНИТЬ ВСЕ
        
        ВЫБРАТЬ
            ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка),
            Номенклатура.Ссылка
        ИЗ
            Справочник.Номенклатура КАК Номенклатура) КАК ХарактеристикиНоменклатуры
        ПО (ХарактеристикиНоменклатуры.Владелец = Ном.Ссылка)
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ТипыЦенНоменклатуры КАК Тип
        ПО (ИСТИНА)
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаЦенСкидок, ) КАК Рег
        ПО (Тип.Ссылка = Рег.ТипЦен)
            И Ном.Ссылка = Рег.Номенклатура
            И (Рег.ХарактеристикаНоменклатуры = ХарактеристикиНоменклатуры.Ссылка)
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаЦенСкидок, ) КАК КурсыВалют
        ПО (КурсыВалют.Валюта = Рег.Валюта)
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаЦенСкидок, ) КАК КурсыВалютЦены
        ПО (КурсыВалютЦены.Валюта = Тип.ВалютаЦены)
ГДЕ
    НЕ Ном.Набор
    И Ном.Ссылка В
            (ВЫБРАТЬ
                РегистрСведений.ЦеныНоменклатуры.СрезПоследних.Номенклатура
            ИЗ
                РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаЦенСкидок, ))
    И ХарактеристикиНоменклатуры.Ссылка В
            (ВЫБРАТЬ
                РегистрСведений.ЦеныНоменклатуры.СрезПоследних.ХарактеристикаНоменклатуры
            ИЗ
                РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаЦенСкидок, ))
    И Тип.Ссылка = &Параметр1
    И Ном.Ссылка В ИЕРАРХИИ (&Параметр2)

УПОРЯДОЧИТЬ ПО
    Номенклатура,
    ХарактеристикаНоменклатуры,
    ТипЦен
ИТОГИ ПО
    Номенклатура ТОЛЬКО ИЕРАРХИЯ
АВТОУПОРЯДОЧИВАНИЕ

Помогите оптимизировать
1 vis
 
04.08.23
13:00
Это типовой запрос?
2 Широкий
 
04.08.23
13:03
Это пипец.
Стаж: 4 года 12 дней
3 saradip
 
04.08.23
13:03
(1) Да
4 asady
 
04.08.23
13:05
(3) название конфигурации в студию!
5 saradip
 
04.08.23
13:16
(4) "Управление торговлей", редакция 10.3 (10.3.35.1)
6 asady
 
04.08.23
13:18
(5) Уточни пожалуйста в каком месте конфигурации можно найти этот запрос.
7 saradip
 
04.08.23
13:25
(6)
Обработка.ФормированиеЦен

Форма

Процедура КнопкаВыполнитьНажатие(Элемент)

Строка: Запрос = ПостроительОтчета.ПолучитьЗапрос();
8 saradip
 
04.08.23
13:25
У меня номер 112
9 saradip
 
04.08.23
13:28
Извиняюсь, модуль ФормыЗаполнения
10 nodrama
 
04.08.23
13:33
вы вкурсе что 10.3.35.1 выпущена в 2015 году ?

запрос не читал, у меня есть копия базы УТ 10.3 последнего на сегодня релиза.. поднял на своем компе, тестануть. таких проблем не обнаружил и там было больше 20 позиций. я конечно могу заморочится и глянуть мб запрос поменялся но сам факт
11 vis
 
04.08.23
14:42
> вы вкурсе что 10.3.35.1 выпущена в 2015 году ?
Вполне возможно, что у людей просто нет необходимости постоянно обновлять.
12 Vstur
 
04.08.23
16:58
(11) "Торопиться не надо, да?" (c) Кавказская Пленница
))
13 lubitelxml
 
04.08.23
17:01
(11) ну тогда пускай страдают ))
14 Гипервизор
 
04.08.23
18:50
(11) Действительно, всего 8 лет прошло, ещё не все баги отловили, надо ещё пару лет подождать. )
15 nodrama
 
05.08.23
09:20
(12) так я это больше к тому что самое логичное как по мне в его ситуации, было бы поставить себе демку 10.3 последнего релиза и глянуть как там работает и глянуть модуль тим. вот и все. а там уже решать, ручками че то перекидывать из нового релиза, либо обновлять) 8 лет достаточный срок))))
16 nodrama
 
05.08.23
09:21
заморочился нашел у себя в архивах 17 релиз))) там запрос другой. у него в 35-ом) уже другой.. ну и в последнем релизе, модуль опять же изменен )
17 vis
 
05.08.23
10:41
(16) Автор и сам может посмотреть в конфигурации поставщика.
18 Тихий омут
 
07.08.23
04:08
В ИЕРАРХИИ?

Ном.Родитель=&Параметр2 ИЛИ Ном.Родитель.Родитель=&Параметр2 ИЛИ etc
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан