|   |   | 
| 
 | Деление на 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)) | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |