"ВЫБРАТЬ
| СУММА(ВЫБОР
| КОГДА ДвиженияДенежныхСредствОстатки.СуммаОстаток = NULL
| ТОГДА 0
| ИНАЧЕ ДвиженияДенежныхСредствОстатки.СуммаОстаток
| КОНЕЦ) КАК СуммаОстаток,
Писала так
"ВЫБРАТЬ
| СУММА(ЕстьNULL(ДвиженияДенежныхСредствОстатки.СуммаОстаток,0) ) КАК СуммаОстаток,
Все равно
в выборке
Если ВыборкаДетальныеЗаписи.СуммаОстаток > 0 Тогда
ругается на Операции сравнения на больше-меньше допустимы..
Ну что я делаю не так?!
Надо: получить сальдо на начало времен (условно 01.01.0001), если задаю дату после первой записи в регистр, допустим 15.02.2016, то сальдо считает верно.
ЕСТЬNULL(СУММА(ДвиженияДенежныхСредствОстатки.СуммаОстаток),0) КАК СуммаОстаток,
ЕСТЬNULL(СУММА(ДвиженияДенежныхСредствОстатки.СуммаДокОстаток),0) КАК СуммаДокОстаток,
(8) если хотите получить "остатки" на дату до начала всех записей, то остатков в принципе быть не должно и запрос вернет пустую выборку.
Если по конкретному взаиморасчету, то его не будет в выборке.
(1) второй вариант в запросе правильный. Но ошибка не с этим связана.
В запросе скорее всего используются общие итоги.
Первыми записями выборки будут только группировки, остальные поля будут всегда NULL. Вот на эту первую строку и нарываетесь.
Не видя вашего кода могу предложить так:
Если ЗначениеЗаполнено(ВыборкаДетальныеЗаписи.СуммаОстаток) И ВыборкаДетальныеЗаписи.СуммаОстаток > 0 Тогда
ВЫБРАТЬ
| СУММА(ЕСТЬNULL(ДвиженияДенежныхСредствОстатки.СуммаОстаток,0)) КАК СуммаОстаток,
| СУММА(ЕСТЬNULL(ДвиженияДенежныхСредствОстатки.СуммаДокОстаток,0)) КАК СуммаДокОстаток,
| СУММА(ЕСТЬNULL(ДвиженияДенежныхСредствОстатки.СуммаРубОстаток,0)) КАК СуммаРубОстаток,
| СУММА(ЕСТЬNULL(ДвиженияДенежныхСредствОстатки.СуммаДокРубОстаток,0)) КАК СуммаДокРубОстаток
|ИЗ
| РегистрНакопления.ДвиженияДенежныхСредств.Остатки(&НачалоПериода, ) КАК УП_ДвиженияДенежныхСредствОстатки
|ГДЕ
| ДвиженияДенежныхСредствОстатки.МестонахождениеДенежныхСредств В ИЕРАРХИИ(&МестонахождениеДенежныхСредств)
ЕСТЬNULL(СУММА(ДвиженияДенежныхСредствОстатки.СуммаОстаток),0) КАК СуммаОстаток,
ЕСТЬNULL(СУММА(ДвиженияДенежныхСредствОстатки.СуммаДокОстаток),0) КАК СуммаДокОстаток,
(11)
Спасибо...
чтото я конструктом пользоваться умею, а подумать куда в другое место поставить нул не смогла(((
Сальдо начальное выводит как надо - пустую строку!
(9) если это весь текст запроса, то проверка на null вообще не нужна. Ресурсы не могут быть null.
И сам запрос нерабочий. имя "УП_ДвиженияДенежныхСредствОстатки", а выбираете по "ДвиженияДенежныхСредствОстатки". Что-то недоговариваете.
"ВЫБРАТЬ
| СУММА(ВЫБОР
| КОГДА ЕСТЬNULL(ДвиженияДенежныхСредствОстатки.СуммаОстаток,0) = 0
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(ДвиженияДенежныхСредствОстатки.СуммаОстаток,0)
| КОНЕЦ) КАК СуммаОстаток,