0
Капюшон
20.09.11
✎
00:16
|
Создал для УТ простенький запрос, который показывает все товары, которые есть в остатке, но и их цену из регистра "ЦеныНоменклатуры" срез последних. Но есть одна проблема. Когда товара в остатке нет, то поле "Номенклатура" пустое, но цена в столбике стоит. Как мне сделать, чтобы в любом случае столбик "Номенклатура" оказался заполненным?
Напрашивается на мысль только поставить условие в запрос
Выбор Когда
и проверить там если сумма остатка = 0 тогда брать номенклатуру из регистра сведений ЦеныНоменклатуры, а иначе из регистра остатки
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Номенклатура КАК Номенклатура,
ПРЕДСТАВЛЕНИЕ(ТоварыНаСкладахОстатки.Номенклатура),
СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток,
СУММА(ЦеныНоменклатурыСрезПоследних.Цена) КАК Цена,
ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура1
{ВЫБРАТЬ
Номенклатура.*,
Номенклатура1.*,
КоличествоОстаток,
Цена}
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&КонДата, ) КАК ТоварыНаСкладахОстатки
ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&КонДата, ) КАК ЦеныНоменклатурыСрезПоследних
ПО ТоварыНаСкладахОстатки.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
СГРУППИРОВАТЬ ПО
ТоварыНаСкладахОстатки.Номенклатура,
ЦеныНоменклатурыСрезПоследних.Номенклатура
УПОРЯДОЧИТЬ ПО
Номенклатура,
Номенклатура1,
КоличествоОстаток,
Цена
{УПОРЯДОЧИТЬ ПО
Номенклатура.*,
Номенклатура1.*,
КоличествоОстаток,
Цена}
ИТОГИ
СУММА(КоличествоОстаток),
СУММА(Цена)
ПО
ОБЩИЕ,
Номенклатура
{ИТОГИ ПО
Номенклатура.*,
КоличествоОстаток,
Цена}
|
|
4
Капюшон
20.09.11
✎
00:44
|
я решил задачу. всем спасибо.
вот так это делается:
ВЫБРАТЬ
СУММА(ВнешняяСтатистикаНоменклатурыСрезПоследних.ВнешняяСтатистика) КАК ВнешняяСтатистика,
СУММА(ТоварыНаСкладахОстатки.КоличествоОстаток) КАК КоличествоОстаток,
ВЫБОР
КОГДА ТоварыНаСкладахОстатки.КоличествоОстаток > 0
ТОГДА ТоварыНаСкладахОстатки.Номенклатура
ИНАЧЕ ВнешняяСтатистикаНоменклатурыСрезПоследних.Номенклатура
КОНЕЦ КАК Номенклатура
{ВЫБРАТЬ
ВнешняяСтатистика,
Номенклатура.*,
КоличествоОстаток}
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&КонДата, ) КАК ТоварыНаСкладахОстатки
ПОЛНОЕ СОЕДИНЕНИЕ РегистрСведений.ВнешняяСтатистикаНоменклатуры.СрезПоследних(&КонДата, ) КАК ВнешняяСтатистикаНоменклатурыСрезПоследних
ПО ТоварыНаСкладахОстатки.Номенклатура = ВнешняяСтатистикаНоменклатурыСрезПоследних.Номенклатура
СГРУППИРОВАТЬ ПО
ВЫБОР
КОГДА ТоварыНаСкладахОстатки.КоличествоОстаток > 0
ТОГДА ТоварыНаСкладахОстатки.Номенклатура
ИНАЧЕ ВнешняяСтатистикаНоменклатурыСрезПоследних.Номенклатура
КОНЕЦ
УПОРЯДОЧИТЬ ПО
Номенклатура,
ВнешняяСтатистика,
КоличествоОстаток
{УПОРЯДОЧИТЬ ПО
ВнешняяСтатистика,
ВнешняяСтатистика,
КоличествоОстаток,
Номенклатура.*}
ИТОГИ
СУММА(ВнешняяСтатистика),
СУММА(КоличествоОстаток)
ПО
ОБЩИЕ,
Номенклатура
{ИТОГИ ПО
ВнешняяСтатистика,
Номенклатура.*,
КоличествоОстаток,
ВнешняяСтатистика}
|
|