0
bvb
22.06.12
✎
12:57
|
Суть в следующем : нужно вывести в отчет ВЕСЬ справочник «Номенклатура».
При том что некоторые номенклатуры имеют характеристики «год», а некоторые нет.
К таблице номенклатуры ЛЕВЫМ соединением нужно пристыковать остатки.
Проблема заключается в том, что остатки для номенклатуры без характеристики не пристыковываются, так как нет характеристики нет, а связь по характеристике в закладке «Связи» оговорена.
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
ВсяНоменклатура.Номенклатура КАК Номенклатура,
ВсяНоменклатура.Год КАК Год,
Запрос_Остатки_Резервы.Остаток КАК Остаток,
Запрос_Остатки_Резервы.Резерв КАК Резерв,
Запрос_Остатки_Резервы.ВсегоВНаличии КАК ВсегоВНаличии
ИЗ
(ВЫБРАТЬ
Номенклатура.Ссылка КАК Номенклатура,
ХарактеристикиНоменклатуры.Ссылка КАК Год
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец
ГДЕ
Номенклатура.алкВключатьВПрайсЛист
И (Номенклатура.ВидНоменклатуры В (&ВидНоменклатуры)
ИЛИ &ВсеВидыНоменклатуры)
И (Номенклатура.Ссылка В ИЕРАРХИИ (&СпНоменклатурДляОтбора)
ИЛИ &ВсяНоменклатура)) КАК ВсяНоменклатура
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
ТоварыНаСкладахОстатки.Номенклатура КАК НоменклатураОстатки,
ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры КАК ГодОстатки,
ТоварыНаСкладахОстатки.Склад КАК Склад,
ЕСТЬNULL(ТоварыНаСкладахОстатки.КоличествоОстаток, 0) - ЕСТЬNULL(ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток, 0) КАК Остаток,
ТоварыВРезервеНаСкладахОстатки.КоличествоОстаток КАК Резерв,
ТоварыНаСкладахОстатки.КоличествоОстаток КАК ВсегоВНаличии
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаКон, Склад В ИЕРАРХИИ (&Склад)) КАК ТоварыНаСкладахОстатки
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&ДатаКон, ) КАК ТоварыВРезервеНаСкладахОстатки
ПО ТоварыНаСкладахОстатки.Склад = ТоварыВРезервеНаСкладахОстатки.Склад
И ТоварыНаСкладахОстатки.Номенклатура = ТоварыВРезервеНаСкладахОстатки.Номенклатура
И ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры = ТоварыВРезервеНаСкладахОстатки.ХарактеристикаНоменклатуры) КАК Запрос_Остатки_Резервы
ПО ВсяНоменклатура.Номенклатура = Запрос_Остатки_Резервы.НоменклатураОстатки
И ВсяНоменклатура.Год = Запрос_Остатки_Резервы.ГодОстатки
ИТОГИ
СУММА(Остаток),
СУММА(Резерв),
СУММА(ВсегоВНаличии)
ПО
ОБЩИЕ,
Номенклатура
АВТОУПОРЯДОЧИВАНИЕ";
|
|