0
Double_Medved
30.01.13
✎
00:55
|
Подскажите плиз, проблема довольно простая наверно, но что-то не выходит: УТ11, дописанная. Мне нужно написать простой отчетик, который будет брать ОстаткиНаСкладе на ДатаКонца, Цену на ДатаНачала и Цену на ДатаКонца. Он должен вывести те позиции, цена на которые изменилась за период отчета и на сколько изменилась и на сколько суммарно изменилась, например на складе 2 ручки , ЦенаНаНачало = 10, ЦенаКонец = 12, отчет должен показать что цена изменалась на 2, а общая сумма на 4. Проблема в том, что если цена назначалась в период отчета, то есть на начало не была назначена, и видимо это NULL, то он показывает цены, но не высчитывает разницу и сумму, видио ему мешает NULL. Подскажите как ему сказать чтобы он брал NULL за ноль?
ВЫБРАТЬ
ТоварыНаСкладах.Номенклатура,
ТоварыНаСкладах.Склад,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК Цена,
ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних2.Цена, 0) КАК Цена2,
ТоварыНаСкладах.ВНаличииОстаток КАК Количество,
ВЫРАЗИТЬ(ЦеныНоменклатурыСрезПоследних2.Цена - ЦеныНоменклатурыСрезПоследних.Цена КАК ЧИСЛО(15, 2)) КАК Разница,
ВЫРАЗИТЬ(ТоварыНаСкладах.ВНаличииОстаток * (ЦеныНоменклатурыСрезПоследних2.Цена - ЦеныНоменклатурыСрезПоследних.Цена) КАК ЧИСЛО(15, 2)) КАК Сумма
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки(&дата2, Склад = &Склад) КАК ТоварыНаСкладах
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ВидЦены = &тип) КАК ЦеныНоменклатурыСрезПоследних
ПО ТоварыНаСкладах.Номенклатура = ЦеныНоменклатурыСрезПоследних.Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата2, ВидЦены = &тип) КАК ЦеныНоменклатурыСрезПоследних2
ПО ТоварыНаСкладах.Номенклатура = ЦеныНоменклатурыСрезПоследних2.Номенклатура
|
|
2
Double_Medved
30.01.13
✎
00:57
|
может как-то так?
ВЫРАЗИТЬ(ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних2.Цена, 0) - ЕСТЬNULL(ЦеныНоменклатурыСрезПоследних.Цена, 0) КАК ЧИСЛО(15, 2)) КАК Разница
|
|