|
Деление на 0 СКД | ☑ | ||
---|---|---|---|---|
0
dd74
04.12.19
✎
11:08
|
Добрый день, комрады. Столкнулся с ошибкой. Если Вычисляемое поле с запросом
ВЫБОР Когда СреднийЗапас <> 0 И ВНаличииКонечныйОстаток/СреднийЗапас >2 ТОГДА 0 КОГДА ЕСТЬNULL(КоличествоПродажа,0) <=0 ТОГДА Себестоимость КОГДА СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0)*(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив>=0 ТОГДА (СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив)*Себестоимость/(СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1)) Иначе 0 КОНЕЦ Выдает Деление на 0. Понимаю что где в условии есть 0 но как исправить? |
|||
1
hhhh
04.12.19
✎
11:11
|
(0) вставить проверку на 0 в выражение
|
|||
2
Nikoss
04.12.19
✎
11:12
|
Всмысле как? Искать где 0, далее обернуть это в условие
|
|||
3
Borteg
04.12.19
✎
11:15
|
(0) убрать = 0 в условиях
|
|||
4
dka80
04.12.19
✎
11:16
|
КОГДА ЕСТЬNULL(КоличествоПродажа,0) <0 ТОГДА
|
|||
5
NUser
04.12.19
✎
11:17
|
В тот же ВЫБОР Когда обрамить:
ВЫБОР КОГДА ЕСТЬNULL(КоличествоПродажа,0)*(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив <> 0 Тогда ВЫБОР Когда СреднийЗапас <> 0 И ВНаличииКонечныйОстаток/СреднийЗапас >2 ТОГДА 0 КОГДА ЕСТЬNULL(КоличествоПродажа,0) <=0 ТОГДА Себестоимость КОГДА СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0)*(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив>=0 ТОГДА (СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив)*Себестоимость/(СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1)) Иначе 0 КОНЕЦ ИНАЧЕ КОНЕЦ и.т.д |
|||
6
NUser
04.12.19
✎
11:18
|
+(5) ИНАЧЕ 0
|
|||
7
hhhh
04.12.19
✎
11:19
|
(5) ЕСТЬNULL(КоличествоПродажа,0) <0 , равно 0 здесь не может
|
|||
8
NUser
04.12.19
✎
11:24
|
(6) у него >=0 стоит
|
|||
9
dd74
04.12.19
✎
11:27
|
(4) Также остается
|
|||
10
hhhh
04.12.19
✎
11:28
|
(8) КОГДА ЕСТЬNULL(КоличествоПродажа,0) <=0 ТОГДА у него
и дальше везде СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) |
|||
11
hhhh
04.12.19
✎
11:31
|
(8) а, да, это в дугом месте
|
|||
12
dka80
04.12.19
✎
11:32
|
ВЫБОР
Когда СреднийЗапас <> 0 И ВНаличииКонечныйОстаток/СреднийЗапас >2 ТОГДА 0 КОГДА ЕСТЬNULL(КоличествоПродажа,0) <=0 ТОГДА Себестоимость КОГДА ЕСТЬNULL(КоличествоПродажа,0)*(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) <> 0 Тогда Выбор Когда СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0)*(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив>=0 ТОГДА (СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив)*Себестоимость/(СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1)) Иначе 0 конец иначе 0 КОНЕЦ |
|||
13
dd74
04.12.19
✎
11:33
|
(6) Тот же эффект к сожалению
|
|||
14
dd74
04.12.19
✎
11:34
|
(12) Тоже Деление на 0 выдает
|
|||
15
dka80
04.12.19
✎
11:35
|
ВЫБОР
Когда СреднийЗапас <> 0 И ВНаличииКонечныйОстаток/СреднийЗапас >2 ТОГДА 0 КОГДА ЕСТЬNULL(КоличествоПродажа,0) <=0 ТОГДА Себестоимость КОГДА ЕСТЬNULL(КоличествоПродажа,0) <> 0 И СреднийЗапас<> 0Тогда Выбор Когда СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0)*(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив>=0 ТОГДА (СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив)*Себестоимость/(СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1)) Иначе 0 конец иначе 0 КОНЕЦ |
|||
16
hhhh
04.12.19
✎
11:38
|
(14) ну так
ВЫБОР КОГДА ВЫБОР Когда СреднийЗапас <> 0 И ВНаличииКонечныйОстаток/СреднийЗапас >2 ТОГДА 0 КОГДА ЕСТЬNULL(КоличествоПродажа,0) <=0 ТОГДА Себестоимость КОГДА СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0)*(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив>=0 ТОГДА (СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив)*Себестоимость/(СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1)) Иначе 0 КОНЕЦ = 0 ТОГДА 0 ИНАЧЕ ВЫБОР Когда СреднийЗапас <> 0 И ВНаличииКонечныйОстаток/СреднийЗапас >2 ТОГДА 0 КОГДА ЕСТЬNULL(КоличествоПродажа,0) <=0 ТОГДА Себестоимость КОГДА СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0)*(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив>=0 ТОГДА (СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив)*Себестоимость/(СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1)) Иначе 0 КОНЕЦ КОНЕЦ |
|||
17
dd74
04.12.19
✎
11:49
|
(15) Вот этот вариант вроде бы подошел. Сейчас буду проверять данные. Огромное спасибо
|
|||
18
mikecool
04.12.19
✎
11:52
|
оО детский сад штаны на лямках....
|
|||
19
dd74
04.12.19
✎
14:02
|
Вариант теперь не показывает "Деление на 0" но цифры совсем не те выдает
|
|||
20
dd74
04.12.19
✎
14:03
|
(16) Ваш вариант не могу проверить ссылается на ошибку.
|
|||
21
dd74
04.12.19
✎
14:05
|
Пока такой вариант
ВЫБОР Когда СреднийЗапас <> 0 И ВНаличииКонечныйОстаток/СреднийЗапас >2 ТОГДА 0 КОГДА ЕСТЬNULL(КоличествоПродажа,0) <=0 ТОГДА Себестоимость КОГДА ЕСТЬNULL(КоличествоПродажа,0) <> 0 И СреднийЗапас <> 0 И (ВЫБОР КОГДА ЕСТЬNULL(КоличествоПродажа,0) >0 ТОГДА ВНаличииКонечныйОстаток*(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) /КоличествоПродажа Иначе 0 КОНЕЦ) < Норматив Тогда Выбор Когда СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0)*(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив >= 0 ТОГДА (СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив)*Себестоимость/(СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1)) Иначе 0 конец иначе 0 КОНЕЦ но он не считает вот это (СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив)*Себестоимость/(СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1)) а если добавляю его перед последним 0 КОНЕЦ от показывает "Деление на 0" |
|||
22
dd74
04.12.19
✎
14:29
|
Ошибка в том что в первоначальной формуле СреднийЗапас может быть 0
ВЫБОР Когда СреднийЗапас <> 0 И ВНаличииКонечныйОстаток/СреднийЗапас >2 ТОГДА 0 КОГДА ЕСТЬNULL(КоличествоПродажа,0) <=0 ТОГДА Себестоимость КОГДА СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0)*(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив>=0 ТОГДА (СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1) -Норматив)*Себестоимость/СреднийЗапас/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1)) Иначе 0 КОНЕЦ Поставив так не помогает (ЕСТЬNULL(СреднийЗапас,0)/ЕСТЬNULL(КоличествоПродажа,0) *(РАЗНОСТЬДАТ(&НАчалоПериода, &КонецПериода, "ДЕНЬ") + 1)) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |