Имя: Пароль:
1C
1С v8
оптимизация запроса
0 Doman26
 
20.07.11
15:32
имеется запросик
ВЫБРАТЬ РАЗРЕШЕННЫЕ
                      |    ВЫБОР
                      |        КОГДА Списание.Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыНаСкладе)
                      |            ТОГДА Списание.Субконто2
                      |        ИНАЧЕ Списание.Субконто1
                      |    КОНЕЦ КАК Номенклатура,
                      |    Списание.КоличествоОборотКт КАК СписаноСоСчета,
                      |    0 КАК КоличествоВДокументе
                      |ПОМЕСТИТЬ ВТСчета
                      |ИЗ
                      |    РегистрБухгалтерии.Хозрасчетный.Обороты(
                      |            ,
                      |            ,
                      |            Регистратор,
                      |            Счет = ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.ТоварыНаСкладе)
                      |                ИЛИ Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Материалы))
                      |                ИЛИ Счет В ИЕРАРХИИ (ЗНАЧЕНИЕ(ПланСчетов.Хозрасчетный.Товары)),
                      |            ,
                      |            ,
                      |            ,
                      |            ) КАК Списание
                      |ГДЕ
                      |    Списание.Регистратор.ДоговорКонтрагента.ВидДоговора <> ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровКонтрагентов.СКомиссионером)
                      |    И Списание.Регистратор = &ССылка
                      |;
                      |
                      |////////////////////////////////////////////////////////////////////////////////
                      |ВЫБРАТЬ
                      |    РеализацияТоваровУслугТовары.Номенклатура,
                      |    0 КАК СписаноСоСчета,
                      |    РеализацияТоваровУслугТовары.Количество * РеализацияТоваровУслугТовары.Коэффициент КАК КоличествоВДокументе
                      |ПОМЕСТИТЬ ВТТЧ
                      |ИЗ
                      |    Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
                      |ГДЕ
                      |    РеализацияТоваровУслугТовары.Ссылка = &Ссылка
                      |;
                      |
                      |////////////////////////////////////////////////////////////////////////////////
                      |ВЫБРАТЬ РАЗРЕШЕННЫЕ
                      |    ИсточникДанных.Номенклатура КАК Номенклатура,
                      |    СУММА(ИсточникДанных.СписаноСоСчета) КАК СписаноСоСчета,
                      |    СУММА(ИсточникДанных.КоличествоВДокументе) КАК КоличествоВДокументе
                      |ИЗ
                      |    (ВЫБРАТЬ
                      |        Списание.Номенклатура КАК Номенклатура,
                      |        СУММА(Списание.СписаноСоСчета) КАК СписаноСоСчета,
                      |        СУММА(Списание.КоличествоВДокументе) КАК КоличествоВДокументе
                      |    ИЗ
                      |        ВТСчета КАК Списание
                      |    
                      |    СГРУППИРОВАТЬ ПО
                      |        Списание.Номенклатура
                      |    
                      |    ОБЪЕДИНИТЬ ВСЕ
                      |    
                      |    ВЫБРАТЬ
                      |        РеализацияТоваровУслугТовары.Номенклатура,
                      |        СУММА(РеализацияТоваровУслугТовары.СписаноСоСчета),
                      |        РеализацияТоваровУслугТовары.КоличествоВДокументе
                      |    ИЗ
                      |        ВТТЧ КАК РеализацияТоваровУслугТовары
                      |    
                      |    СГРУППИРОВАТЬ ПО
                      |        РеализацияТоваровУслугТовары.Номенклатура,
                      |        РеализацияТоваровУслугТовары.КоличествоВДокументе) КАК ИсточникДанных
                      |
                      |СГРУППИРОВАТЬ ПО
                      |    ИсточникДанных.Номенклатура
                      |
                      |ИМЕЮЩИЕ
                      |    СУММА(ИсточникДанных.СписаноСоСчета) - СУММА(ИсточникДанных.КоличествоВДокументе) <> 0";

есть идеи оптимизации, только по возможности меньше не относящегося к делу стеба, я только начинаю
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший