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