|
Объединение всех условий в запросе | ☑ | ||
---|---|---|---|---|
0
vladis222
18.07.19
✎
12:44
|
Здравствуйте,вчера писал вам насчет проверки,что движения на складе не было более года, но здесь дело в том,что есть номенклатура,есть ее характеристики, и нужно объединить условия по остаткам (<=0) и условия связанные с движением. Писал такой запрос но сомневаюсь в его правильной работе:
ВЫБРАТЬ Номенклатура.Ссылка КАК Номенклатура, ХарактеристикиНоменклатуры.Ссылка КАК Характеристика ПОМЕСТИТЬ ВТ ИЗ Справочник.Номенклатура КАК Номенклатура ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры ПО (ХарактеристикиНоменклатуры.Владелец = Номенклатура.Ссылка) ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ СУММА(ТоварыНаСкладахОбороты.КоличествоОборот) КАК Оборот, ВТ.Номенклатура, ВТ.Характеристика ПОМЕСТИТЬ ОборотныйРегистр ИЗ ВТ КАК ВТ ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Обороты(&нач, &кон, , ) КАК ТоварыНаСкладахОбороты ПО ВТ.Номенклатура = ТоварыНаСкладахОбороты.Номенклатура И ВТ.Характеристика = ТоварыНаСкладахОбороты.ХарактеристикаНоменклатуры ГДЕ ТоварыНаСкладахОбороты.КоличествоОборот ЕСТЬ NULL СГРУППИРОВАТЬ ПО ВТ.Номенклатура, ВТ.Характеристика ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ.Номенклатура, ВТ.Характеристика, ТоварыНаСкладахОстатки.КоличествоОстаток КАК Остаток ПОМЕСТИТЬ ОстаточныйРегистр ИЗ ВТ КАК ВТ ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки ПО ВТ.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура И ВТ.Характеристика = ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры ГДЕ ТоварыНаСкладахОстатки.КоличествоОстаток <0 ИЛИ ТоварыНаСкладахОстатки.КоличествоОстаток ЕСТЬ NULL ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ ВТ.Номенклатура, ВТ.Характеристика, СУММА(ОборотныйРегистр.Оборот) КАК Оборот, СУММА(ОстаточныйРегистр.Остаток) КАК Остаток ИЗ ВТ КАК ВТ ЛЕВОЕ СОЕДИНЕНИЕ ОборотныйРегистр КАК ОборотныйРегистр ПО ВТ.Номенклатура = ОборотныйРегистр.Номенклатура И ВТ.Характеристика = ОборотныйРегистр.Характеристика ЛЕВОЕ СОЕДИНЕНИЕ ОстаточныйРегистр КАК ОстаточныйРегистр ПО ВТ.Номенклатура = ОстаточныйРегистр.Номенклатура И ВТ.Характеристика = ОстаточныйРегистр.Характеристика СГРУППИРОВАТЬ ПО ВТ.Характеристика, ВТ.Номенклатура |
|||
1
vicof
18.07.19
✎
12:48
|
запрос можно выкинуть
|
|||
2
Simod
18.07.19
✎
13:27
|
(0) У тебя нет никакого отбора по номенклатуре и характеристикам, поэтому первый запрос не имеет смысла - ты выбираешь всю номенклатуру и все характеристики. Обороты ты получаешь за период, а остатки на текущую дату. Возможно необходимо использовать вирт. таблицу "ОстаткиИОбороты".
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |