Имя: Пароль:
1C
1С v8
Как обойти деление на 0 в запросе?
,
0 bvn-2005
 
27.04.21
15:15
|    ХозрасчетныйОборотыДтКт.СуммаОборот / ХозрасчетныйОборотыДтКт.КоличествоОборотДт КАК Цена

Бывает, сумма есть, а количества нет... Как обойти эту ситуацию?
1 polosov
 
27.04.21
15:16
|    ХозрасчетныйОборотыДтКт.СуммаОборот / ВЫБОР КОГДА ЕстьNULL(ХозрасчетныйОборотыДтКт.КоличествоОборотДт,0) = 0 ТОГДА 1 ИНАЧЕ ЕстьNULL(ХозрасчетныйОборотыДтКт.КоличествоОборотДт,0) КОНЕЦ  КАК Цена
2 Kassern
 
27.04.21
15:20
(0) Выбор когда ЕстьNull(ХозрасчетныйОборотыДтКт.КоличествоОборотДт,0)<>0 Тогда ХозрасчетныйОборотыДтКт.СуммаОборот / ХозрасчетныйОборотыДтКт.КоличествоОборотДт Иначе ХозрасчетныйОборотыДтКт.СуммаОборот Конец
3 Жан Пердежон
 
27.04.21
15:27
ГДЕ ХозрасчетныйОборотыДтКт.КоличествоОборотДт <> 0
4 Classic
 
27.04.21
15:44
(3)
Огонь
5 Курцвейл
 
27.04.21
15:53
(3) ГДЕ ХозрасчетныйОборотыДтКт.КоличествоОборотДт > 0

Так правильнее
6 Kassern
 
27.04.21
16:08
(4) (5) Следующая ветка ТС будет, куда то пропали сточки из запроса, как исправить)
7 Жан Пердежон
 
27.04.21
16:09
(5) никогда сторнирующих проводок не видел?
8 mistеr
 
27.04.21
16:23
(6) Не, не так, "с обороткой не идет".
9 программистище
 
27.04.21
16:25
(1) ВЫБОР КОГДА ЕстьNULL(ХозрасчетныйОборотыДтКт.КоличествоОборотДт,0) = 0 ТОГДА 1 ИНАЧЕ ЕстьNULL(ХозрасчетныйОборотыДтКт.КоличествоОборотДт,0) КОНЕЦ
а могет ли оно быть ЕстьNULL(ХозрасчетныйОборотыДтКт.КоличествоОборотДт,0) в ИНАЧЕ
10 программистище
 
27.04.21
16:27
я бы написал
|    ВЫБОР КОГДА ЕстьNULL(ХозрасчетныйОборотыДтКт.КоличествоОборотДт,0) = 0 ТОГДА ХозрасчетныйОборотыДтКт.СуммаОборот ИНАЧЕ ХозрасчетныйОборотыДтКт.СуммаОборот /ХозрасчетныйОборотыДтКт.КоличествоОборотДт КОНЕЦ  КАК Цена

если нужны записи с нулевым оборотом
или исключил записи, тогда (3)
11 Kassern
 
27.04.21
16:31
(10) а чем это отличается от (2)?
12 pasha_d
 
27.04.21
16:33
причем тут вообще естьnull? разве у ТС соединение с другими таблицами есть?
13 Kassern
 
27.04.21
16:53
(12) дурная привычка, тут действительно 1 таблица и смысла проверки на нул нет.