Есть запрос следующего вида:
ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Номенклатура, Продажи1.КоличествоОборот КАК Оборот1, Продажи2.КоличествоОборот КАК Оборот2, Продажи3.КоличествоОборот КАК Оборот3, Продажи4.КоличествоОборот КАК Оборот4, ПродажиВсего.КоличествоОборот КАК ОборотВсего, ПродажиЗаГод.КоличествоОборот КАК ОборотЗаГод, ПродажиЗаГодТек.КоличествоОборот КАК ОборотЗаГодТек, СНачалаПродаж.КоличествоОборот КАК ОборотСНачалаПродаж, Остатки.КоличествоОстаток КАК Остаток, ОстаткиРезерв.КоличествоОстаток КАК ОстатокРезерв, Остатки.КоличествоОстаток - ОстаткиРезерв.КоличествоОстаток КАК ЧистыйОстаток ИЗ Справочник.Номенклатура КАК СпрНоменклатура ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач1, &ДатаКон1, Период, ) КАК Продажи1 ПО (Продажи1.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач2, &ДатаКон2, Период, ) КАК Продажи2 ПО (Продажи2.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач3, &ДатаКон3, Период, ) КАК Продажи3 ПО (Продажи3.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ДатаНач4, &ДатаКон4, Период, ) КАК Продажи4 ПО (Продажи4.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ПериодНач, &ПериодКон, Период, ) КАК ПродажиВсего ПО (ПродажиВсего.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ГодНач, &ГодКон, Период, ) КАК ПродажиЗаГод ПО (ПродажиЗаГод.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&ГодНачТек, &ГодКонТек, Период, ) КАК ПродажиЗаГодТек ПО (ПродажиЗаГодТек.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(, , Период, ) КАК СНачалаПродаж ПО (СНачалаПродаж.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ПериодКон, ) КАК Остатки ПО (Остатки.Номенклатура = СпрНоменклатура.Ссылка) ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ПериодКон, ) КАК ОстаткиРезерв ПО (ОстаткиРезерв.Номенклатура = СпрНоменклатура.Ссылка) ГДЕ (ПродажиВсего.КоличествоОборот <> 0 ИЛИ ПродажиЗаГод.КоличествоОборот <> 0 ИЛИ ПродажиЗаГодТек.КоличествоОборот <> 0 ИЛИ Остатки.КоличествоОстаток <> 0)и бла-бла-бла.
Запрос работает не быстро, но работает.
Добавили в него еще условий:
И (НЕ Продажи1.Контрагент.Код В (&Клиенты)) И (НЕ Продажи2.Контрагент.Код В (&Клиенты)) И (НЕ Продажи3.Контрагент.Код В (&Клиенты)) И (НЕ Продажи4.Контрагент.Код В (&Клиенты)) И (НЕ ПродажиВсего.Контрагент.Код В (&Клиенты)) И (НЕ ПродажиЗаГод.Контрагент.Код В (&Клиенты)) И (НЕ ПродажиЗаГодТек.Контрагент.Код В (&Клиенты)) И (НЕ СНачалаПродаж.Контрагент.Код В (&Клиенты))
В Массиве "Клиенты" всего два контрагента, но этого вполне достаточно :))) На компе 6гиг оперативы, выполнение обработки медленно, но верно жрет оперативку до самого конца. В итоге выдает сообщение "Недостаточно памяти" и 1С закрывается :(
Можно как-то оптимизировать данный запрос? Или выполнить его каким-то образом на сервере? Ускорит-ли это выполнение запроса?











