Имя: Пароль:
1C
1C 7.7
v7: помогите с прямым запросом
0 dreamoff
 
10.04.15
15:06
вроде простой запрос,но давно с 1срр не работал видно)
есть запрос

SELECT ТранспортныеЗатратыОстаткиОбороты.Фирма [Фирма $Справочник.Фирмы]
    , ТранспортныеЗатратыОстаткиОбороты.ВидЗатрат [ВидЗатрат $Справочник.Товары]
    , ТранспортныеЗатратыОстаткиОбороты.ПоставщикУслуг [ПоставщикУслуг $Справочник.Клиенты]
    , ТранспортныеЗатратыОстаткиОбороты.ДокПрихРасх [ДокПрихРасх $Документ]
    , ТранспортныеЗатратыОстаткиОбороты.ВидДвижения
    , (CASE WHEN ТранспортныеЗатратыОстаткиОбороты.ВидДвижения=2 THEN NULLIF(ТранспортныеЗатратыОстаткиОбороты.СуммаНачальныйОстаток, 0) - 0 END) СуммаНачОст
    , (CASE WHEN ТранспортныеЗатратыОстаткиОбороты.ВидДвижения=2 THEN NULLIF(ТранспортныеЗатратыОстаткиОбороты.СуммаПриход, 0) - NULLIF(БанкОстаткиОбороты.СуммаПриход, 0) END) СуммаПрРн
    , (CASE WHEN ТранспортныеЗатратыОстаткиОбороты.ВидДвижения=2 THEN NULLIF(ТранспортныеЗатратыОстаткиОбороты.СуммаРасход, 0) - NULLIF(БанкОстаткиОбороты.СуммаРасход, 0) END) СуммаРхРн
    , (CASE WHEN ТранспортныеЗатратыОстаткиОбороты.ВидДвижения=2 THEN NULLIF(ТранспортныеЗатратыОстаткиОбороты.СуммаКонечныйОстаток, 0) - NULLIF(БанкОстаткиОбороты.СуммаКонечныйОстаток, 0) END) СуммаКонРн
FROM $РегистрОстаткиОбороты.ТранспортныеЗатраты(:НачДата,
        :КонДата,,,,
        ,
        (Фирма, ВидЗатрат, ПоставщикУслуг, ДокПрихРасх, ВидДвижения),) AS ТранспортныеЗатратыОстаткиОбороты
    LEFT OUTER JOIN $РегистрОстаткиОбороты.Банк(:НачДата,
        :КонДата,,,,,
        (Фирма, Контрагент),
        Сумма) AS БанкОстаткиОбороты ON ТранспортныеЗатратыОстаткиОбороты.Фирма = БанкОстаткиОбороты.Фирма AND ТранспортныеЗатратыОстаткиОбороты.ПоставщикУслуг = БанкОстаткиОбороты.Контрагент


все суммы равны null если убрать суммы по БанкОстаткиОбороты,то суммы есть.скажите в чем ошибка?
1 Дык ё
 
10.04.15
15:21
поменяй nullif на isnull :)
2 Ёпрст
 
10.04.15
15:25
NULLIF(ТранспортныеЗатратыОстаткиОбороты

Это нафига ?
там null никогда не будет
3 Ёпрст
 
10.04.15
15:26
в БанкОстаткиОбороты  может еще быть, а в ТранспортныеЗатратыОстаткиОбороты никак нет
4 Ёпрст
 
10.04.15
15:27
ну и в case воткни хотя бы везде else 0
5 Ёпрст
 
10.04.15
15:27
ибо , если ВидДвижения<>2 там как раз и будет null всегда
6 dreamoff
 
10.04.15
15:33
(1) спасибо,просто спас мою пятницу
(2) это я уже от отчаяния,пробовал по -разному.спасибо,приму к размышлению