Суммирование с условием в отчете на СКД #809965


#0 by 25-11
Есть отчёт на СКД, в котором некий ресурс (Остаток) имеет на уровне детальных записей как положительные так и отрицательные значения. В пользовательском режиме (без конфигуратора) создано Пользовательское поле для отображения абсолютной величины числа. Выражение для детальных записей: Выбор    Когда Остаток < 0 Тогда -Остаток Конец Когда пытаюсь в выражении для итоговых записей использовать Сумма(ТоЖеСамоеВыражение), то при формировании отчета получаю сообщение Неверные параметры "-" и отчёт не формируется. Подскажите, как такую задачу решать на пользовательском уровне?  Или всё-таки только конфигуратор?
#1 by nordbox
Так тебе же ясно сказали >>Неверные параметры "-" открой глаза и посмотри на код
#2 by nordbox
в чем загадочный смысл этого выражения? Когда Остаток < 0 Тогда -Остаток    Иначе Остаток
#3 by 25-11
А что непонятного-то? Если 3, то выводим 3. Если -3, то тоже 3. Модуль или абсолютная величина числа - в седьмом классе проходят, кажется :)
#4 by 25-11
Для детальных записей работает... Если в выражении для итоговых записей написать Выбор    Когда Сумма(Остаток) < 0 Тогда -Сумма(Остаток) Конец тоже работает. Но неправильно :)
#5 by nordbox
Ну попробуй вот так Когда Остаток < 0 Тогда (-Остаток)    Иначе Остаток
#6 by nordbox
или вот так Когда Остаток < 0 Тогда (Остаток*(-1))    Иначе Остаток
#7 by 25-11
без разницы - СКД в пользовательском режиме "не понимает" выражение, которое нужно просуммировать.
#8 by nordbox
в СКД есть ВычислитьВыражение
#9 by nordbox
#10 by 25-11
А у тебя ВычислитьВыражение работает в пользовательском режиме? Можешь показать? Я считал, что это инструмент, применяющийся только в конфигураторе. Но тогда уж лучше сразу в запросе ещё одно поле добавить. Интересует именно возможность без конфигурирования
#11 by nordbox
В пользовательском не пробовал, но как то инфа проскакивала что можно
#12 by nordbox
+11 пробовать не буду )) сам не могу себя заставит доделать отчет и клиент-банк раскурочить, лень ))
#13 by 25-11
Может быть кто-то из гуру по СКД откликнется? И авторитетно скажет, что в пользовательском режиме этого не добиться?
#14 by 2dolist
Я мб что-то не понял в задаче, но что мешает написать сумма(выбор когда Остаток < 0 тогда -Остаток иначе Остаток конец)
#15 by 25-11
Мешает только то, что отчёт не формируется. И вдается сообщение об ошибке.Которое приведено в
#16 by 25-11
"вдается=выдаётся
#17 by тарам пам пам
в польз. режиме использовать ВычислитьВыражение и вообще все остальные функции СКД можно, это работает и у меня особо продвинутые клиенты даже смогли добавить пару таких польз. полей. По - раз ругается на параметры "-", значит Остаток где-то имеет тип не число - скорее всего NULL, раз на сравнение с нулем не ругается. Попробуй через ЕСТЬNULL написать.
#18 by 2dolist
либо у тебя остаток называется не как остаток, либо действительно Null, тогда можешь проверку добавить сумма(isnull(выбор когда Остаток < 0 тогда -Остаток иначе Остаток конец,0))
#19 by 25-11
Анализ на Null не помогает, дело не в этом ВычислитьВыражение в пользовательском режиме пока не пробовал. Это и в конфигураторе не так просто правильно использовать... Я это раньше применял только на закладке "Ресурсы", не для вычисляемых полей.
#20 by Cyberhawk
"0+Остаток" уже пробовал?
#21 by Cyberhawk
Ну или "0-Остаток"
#22 by тарам пам пам
а ты правильно анализ на null сделал? в потому что выражение неправильно написано, нужно сумма(выбор когда естьnull(Остаток, 0) < 0 тогда -естьnull(Остаток, 0) иначе естьnull(Остаток, 0) конец)
#23 by 25-11
Я думаю, что анализ на Null правильно написал :)
#24 by 25-11
Да, и замена Null на 0, как положено, выполнена уже в запросе. Так что это здесь точно не должно играть никакой роли...
#25 by mehfk
Ты что-то делаешь не так, скорее всего у тебя значения поля могут быть нечисловые.
#26 by mehfk
Попробуй вот так:
#27 by 25-11
Убедительно... Сейчас попробую.
#28 by 25-11
Круто! заработало! Спасибо! Откуда там не NULL и не число - х.з., но получается, дело именно в этом.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С