Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Помогите пожалуйста с запросом (http://forums.kuban.ru/f1040/pomogite_pozhalujsta_s_zaprosom-2750936.html)

bvb 22.06.2012 14:38

Помогите пожалуйста с запросом
 
Суть в следующем : нужно вывести в отчет ВЕСЬ справочник «Номенклатура».
При том что некоторые номенклатуры имеют характеристики «год», а некоторые нет.

К таблице номенклатуры ЛЕВЫМ соединением нужно пристыковать остатки.
Проблема заключается в том, что остатки для номенклатуры без характеристики не пристыковываются, так как нет характеристики нет, а связь по характеристике в закладке «Связи» оговорена.

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

Lexusss 22.06.2012 15:11

ИЗ
(ВЫБРАТЬ
Номенклатура.Ссылка КАК Номенклатура,
ЕСТЬNULL(ХарактеристикиНоменклатуры.Ссылка, Значение(Справочник.ХарактеристикиНоменклатуры.ПустоеЗначение) КАК Год
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры КАК ХарактеристикиНоменклатуры
ПО Номенклатура.Ссылка = ХарактеристикиНоменклатуры.Владелец
ГДЕ
...


Текущее время: 12:54. Часовой пояс GMT +3.