Имя: Пароль:
1C
1С v8
Помогите оптимизировать запрос. тормозит жутко.
0 yolops
 
24.02.14
19:36
ВЫБРАТЬ
    РезервыОстаткиПолные.Номенклатура,
    РезервыОстаткиПолные.Качество,
    РезервыОстаткиПолные.Характеристика,
    ВЫБОР
        КОГДА РезервыОстаткиПолные.Заказ ССЫЛКА Документ.Счет
            ТОГДА РезервыОстаткиПолные.Заказ.Дата
        КОГДА РезервыОстаткиПолные.Заказ ССЫЛКА Документ.ВнутреннийРезерв
            ТОГДА РезервыОстаткиПолные.Заказ.Дата
    КОНЕЦ КАК ДатаЗаказа,
    ВЫБОР
        КОГДА РезервыОстаткиПолные.Заказ ССЫЛКА Документ.Счет
            ТОГДА РезервыОстаткиПолные.Заказ
        КОГДА РезервыОстаткиПолные.Заказ ССЫЛКА Документ.ВнутреннийРезерв
            ТОГДА РезервыОстаткиПолные.Заказ
    КОНЕЦ КАК Заказ,
    РезервыОстаткиПолные.Склад,
    РезервыОстаткиПолные.РезервОстаток
ИЗ
    РегистрНакопления.Резервы.Остатки(
            &МоментВремени,
            ВЫРАЗИТЬ(Заказ КАК Документ.Счет) В (&ВыбЗаказы)
                ИЛИ ВЫРАЗИТЬ(Заказ КАК Документ.ВнутреннийРезерв) В (&ВыбЗаказы)) КАК РезервыОстаткиПоЗаказу
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Резервы.Остатки(&МоментВремени, ) КАК РезервыОстаткиПолные
        ПО РезервыОстаткиПоЗаказу.Номенклатура = РезервыОстаткиПолные.Номенклатура
            И РезервыОстаткиПоЗаказу.Качество = РезервыОстаткиПолные.Качество
            И РезервыОстаткиПоЗаказу.Характеристика = РезервыОстаткиПолные.Характеристика
            И РезервыОстаткиПоЗаказу.Склад = РезервыОстаткиПолные.Склад
УПОРЯДОЧИТЬ ПО
        ВЫБОР
        КОГДА РезервыОстаткиПолные.Заказ ССЫЛКА Документ.Счет
            ТОГДА РезервыОстаткиПолные.Заказ.МоментВремени
        КОГДА РезервыОстаткиПолные.Заказ ССЫЛКА Документ.ВнутреннийРезерв
            ТОГДА РезервыОстаткиПолные.Заказ.МоментВремени
        КОНЕЦ,
        РезервыОстаткиПолные.Номенклатура,
        РезервыОстаткиПолные.Качество,
        РезервыОстаткиПолные.Характеристика,
        РезервыОстаткиПолные.Склад
АВТОУПОРЯДОЧИВАНИЕ

Порядок измерений в РН     Резервы:
1)Заказ
2)Номенклатура
3)Качество
4)Характеристика
5)Склад
1 Wobland
 
24.02.14
19:38
Заказ В (&ВыбЗаказы)
2 Ненавижу 1С
 
гуру
24.02.14
19:40
+(1) это тоже порадовало:

ВЫБОР
        КОГДА РезервыОстаткиПолные.Заказ ССЫЛКА Документ.Счет
            ТОГДА РезервыОстаткиПолные.Заказ.МоментВремени
        КОГДА РезервыОстаткиПолные.Заказ ССЫЛКА Документ.ВнутреннийРезерв
            ТОГДА РезервыОстаткиПолные.Заказ.МоментВремени
        КОНЕЦ
3 Ненавижу 1С
 
гуру
24.02.14
19:41
и это:

ВЫБОР
        КОГДА РезервыОстаткиПолные.Заказ ССЫЛКА Документ.Счет
            ТОГДА РезервыОстаткиПолные.Заказ.Дата
        КОГДА РезервыОстаткиПолные.Заказ ССЫЛКА Документ.ВнутреннийРезерв
            ТОГДА РезервыОстаткиПолные.Заказ.Дата
    КОНЕЦ КАК ДатаЗаказа,
    ВЫБОР
        КОГДА РезервыОстаткиПолные.Заказ ССЫЛКА Документ.Счет
            ТОГДА РезервыОстаткиПолные.Заказ
        КОГДА РезервыОстаткиПолные.Заказ ССЫЛКА Документ.ВнутреннийРезерв
            ТОГДА РезервыОстаткиПолные.Заказ
    КОНЕЦ КАК Заказ
4 Wobland
 
24.02.14
19:42
человек упорно хочет когда-нибудь нулл ;)
5 Torquader
 
24.02.14
19:46
(4) Подумаешь Null.
А в условии ГДЕ(РезервыОстаткиПолные.Заказ ССЫЛКА Документ.Счет)ИЛИ(езервыОстаткиПолные.Заказ ССЫЛКА Документ.ВнутреннийРезерв)
написать нельзя ?
6 Wobland
 
24.02.14
19:48
(5) намекаешь на то, что он в ВыбЗаказы пихает все документы нужного типа?
7 Wobland
 
24.02.14
19:50
>КАК РезервыОстаткиПоЗаказу
похоже, имеется в виду 1 (одна) конкретная ссылка. тогда призываю сравнение на равенство
8 Torquader
 
24.02.14
19:53
(6) Ну, кто его знает, что он там пихает.
Я не очень понимаю, зачем для проверки делать "Выразить" - оно или там есть или нет.
Конечно, в ВыбЗаказы может быть всё, что угодно, то есть подозрение, что проще оттуда всё лишнее выкинуть, чем в запросе это проверять.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.