Подскажите пожалуйста,где косяк:
Запрос долго выполняется:
Запрос долго выполняется:
ВЫБРАТЬ
Номенклатура.Ссылка КАК Номенклатура
ПОМЕСТИТЬ ВТ_Номенклатура
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
Номенклатура.Ссылка В ИЕРАРХИИ(&ГруппаНоменклатуры)
И НЕ Номенклатура.ЭтоГруппа
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Номенклатура.Номенклатура,
СУММА(ЗаказПокупателяТовары.Количество) КАК Количество
ПОМЕСТИТЬ Номенклатура_ВЗаказах
ИЗ
Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Номенклатура КАК ВТ_Номенклатура
ПО ЗаказПокупателяТовары.Номенклатура = ВТ_Номенклатура.Номенклатура
ГДЕ
ЗаказПокупателяТовары.Ссылка.ДатаОтгрузки МЕЖДУ &НачалоПериода1 И &КонецПериода1
И ЗаказПокупателяТовары.Ссылка.Статус <> &Статус
И ВТ_Номенклатура.Номенклатура В ИЕРАРХИИ(&ГруппаНоменклатуры)
СГРУППИРОВАТЬ ПО
ВТ_Номенклатура.Номенклатура
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ВТ_Номенклатура.Номенклатура,
СУММА(ЗаказПокупателяТовары.Количество) КАК Количество
ПОМЕСТИТЬ Номенклатура_Размещённая
ИЗ
Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Номенклатура КАК ВТ_Номенклатура
ПО ЗаказПокупателяТовары.Номенклатура = ВТ_Номенклатура.Номенклатура
ГДЕ
ЗаказПокупателяТовары.Ссылка.ДатаОтгрузки МЕЖДУ &НачалоПериода2 И &КонецПериода2
И ЗаказПокупателяТовары.Ссылка.Статус <> &Статус
И ВТ_Номенклатура.Номенклатура В ИЕРАРХИИ(&ГруппаНоменклатуры)
СГРУППИРОВАТЬ ПО
ВТ_Номенклатура.Номенклатура
;
//////////////////////////////////////////////////////////// ////////////////////
ВЫБРАТЬ
ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток КАК ОстатокНаСкладе,
ТоварыНаСкладахОстаткиИОбороты.Номенклатура,
ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК ВРезерве,
ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) КАК ДоступныйОстаток,
Номенклатура_ВЗаказах.Количество КАК КоличествоВЗаказах,
Номенклатура_Размещённая.Количество КАК КоличествоРазмещ,
0 КАК Поле1,
ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(Номенклатура_ВЗаказах.Количество, 0) + ЕСТЬNULL(0, 0) КАК Остаток,
ЕСТЬNULL(ТоварыНаСкладахОстаткиИОбороты.КоличествоКонечныйОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(Номенклатура_ВЗаказах.Количество, 0) + ЕСТЬNULL(0, 0) - ЕСТЬNULL(Номенклатура_Размещённая.Количество, 0) КАК ОстатокРасчета
ИЗ
ВТ_Номенклатура КАК ВТ_Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, &СегодняшняяДата, Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&СегодняшняяДата, ) КАК ТоварыВРезервеНаСкладахОстатки
ПО ТоварыНаСкладахОстаткиИОбороты.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура
ПО ВТ_Номенклатура.Номенклатура = ТоварыНаСкладахОстаткиИОбороты.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ Номенклатура_ВЗаказах КАК Номенклатура_ВЗаказах
ПО (Номенклатура_ВЗаказах.Номенклатура = ВТ_Номенклатура.Номенклатура)
ЛЕВОЕ СОЕДИНЕНИЕ Номенклатура_Размещённая КАК Номенклатура_Размещённая
ПО ВТ_Номенклатура.Номенклатура = Номенклатура_Размещённая.Номенклатура
ГДЕ
ТоварыНаСкладахОстаткиИОбороты.Качество = &Качество
И ТоварыНаСкладахОстаткиИОбороты.Склад = &Склад
ПоказатьПо теме из базы знаний
- Управляемая консоль отчетов – новый функциональный инструмент для работы с запросами и СКД в управляемых формах
- Смотрим запросы 1С через Microsoft SQL Profiler по следам ошибок разработчиков, приводящих к проблемам производительности
- Почему PostgreSQL не лучше MS SQL
- Быстрый фронт в базе размером 6.8 терабайт – наши стандарты при разработке и рефакторинге запросов
- MS SQL Server: изучаем планы запросов
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот