|   |   | 
| 
 | Избегаем деления на 0 в СКД | ☑ | ||
|---|---|---|---|---|
| 0
    
        prilforreal 03.07.18✎ 11:55 | 
        Доброго времени суток! В СКД пишу отчет, столкнулся с тем что СКД не дает делить на ноль, в запросе подменяю ноль на небольшое число, но ошибка повторяется
 ВЫБРАТЬ ПроизводствоПечатьТабличнаяЧасть1.Ссылка.Дата, ПроизводствоПечатьТабличнаяЧасть1.Ссылка.Проведен, ПроизводствоПечатьТабличнаяЧасть1.Материал, ПроизводствоПечатьТабличнаяЧасть1.МатериалФакт, ПроизводствоПечатьТабличнаяЧасть1.ПлощадьМатериала, ПроизводствоПечатьТабличнаяЧасть1.Площадь, ВЫБОР КОГДА ПроизводствоПечатьТабличнаяЧасть1.Площадь = 0 ТОГДА ПроизводствоПечатьТабличнаяЧасть1.Площадь + 0.00000001 ИНАЧЕ ПроизводствоПечатьТабличнаяЧасть1.Площадь КОНЕЦ, ПроизводствоПечатьТабличнаяЧасть1.Площадь / 100 * 5 + ПроизводствоПечатьТабличнаяЧасть1.Площадь КАК ПорогПерерасхода, ПроизводствоПечатьТабличнаяЧасть1.Ссылка, ПроизводствоПечатьТабличнаяЧасть1.ПлощадьМатериала / ПроизводствоПечатьТабличнаяЧасть1.Площадь КАК КИМ ИЗ Документ.ПроизводствоПечать.ТабличнаяЧасть1 КАК ПроизводствоПечатьТабличнаяЧасть1 | |||
| 1
    
        Nikoss 03.07.18✎ 11:57 | 
        где ты в запросе, где деление, подменил 0 ?     | |||
| 2
    
        piter3 03.07.18✎ 11:57 | 
        не там где нужно подменил)     | |||
| 3
    
        prilforreal 03.07.18✎ 11:58 | 
        (1) ВЫБОР КОГДА ПроизводствоПечатьТабличнаяЧасть1.Площадь = 0 
 ТОГДА ПроизводствоПечатьТабличнаяЧасть1.Площадь + 0.00000001 ИНАЧЕ ПроизводствоПечатьТабличнаяЧасть1.Площадь КОНЕЦ, | |||
| 4
    
        Мандалай 03.07.18✎ 11:58 | 
        Выбор когда ЕстьNULL(ПроизводствоПечатьТабличнаяЧасть1.Площадь ,0) =  0 Тогда 1 Иначе ПроизводствоПечатьТабличнаяЧасть1.Площадь Конец     | |||
| 5
    
        СвинТуз 03.07.18✎ 11:59 | 
        Есть такой оператор . Называется "Выбор" . Слабо его использовать?     | |||
| 6
    
        Dmitry1c 03.07.18✎ 11:59 | 
        (3) в анналы истории
 а если у тебя там NULL, а не 0? NULL + 0.00001 = NULL | |||
| 7
    
        Мандалай 03.07.18✎ 11:59 | 
        Ну хотя ЕстьNULL наверное лишнее.     | |||
| 8
    
        Мандалай 03.07.18✎ 12:00 | 
        (6)Я так понимаю данные берутся из ТЧ, откуда там NULL?     | |||
| 9
    
        Мандалай 03.07.18✎ 12:00 | 
        (0)То что тебе написали прям в сказуемое вставляй     | |||
| 10
    
        Мандалай 03.07.18✎ 12:01 | 
        100 * 5 + ПроизводствоПечатьТабличнаяЧасть1.Площадь должна вернуть 500 если ПроизводствоПечатьТабличнаяЧасть1.Площадь = 0. Тут проверка не нужна.     | |||
| 11
    
        SadrArt 03.07.18✎ 12:05 | 
        ПроизводствоПечатьТабличнаяЧасть1.ПлощадьМатериала / ВЫБОР КОГДА ПроизводствоПечатьТабличнаяЧасть1.Площадь = 0 ТОГДА 1 ИНАЧЕ ПроизводствоПечатьТабличнаяЧасть1.Площадь КОНЕЦ КАК КИМ     | |||
| 12
    
        SadrArt 03.07.18✎ 12:06 | ПроизводствоПечатьТабличнаяЧасть1.ПлощадьМатериала / ВЫБОР КОГДА ПроизводствоПечатьТабличнаяЧасть1.Площадь = 0 ТОГДА 1 ИНАЧЕ ПроизводствоПечатьТабличнаяЧасть1.Площадь КОНЕЦ КАК КИМ
 | |||
| 13
    
        prilforreal 03.07.18✎ 12:08 | 
        (8) Да, конечно из ТЧ, (10) ПроизводствоПечатьТабличнаяЧасть1.Площадь / 100 * 5 + ПроизводствоПечатьТабличнаяЧасть1.Площадь КАК ПорогПерерасхода
 Это расчет перерасхода, в вывод отчета попадают только те строчки, в которых материала израсходовано => 105% | |||
| 14
    
        SadrArt 03.07.18✎ 12:08 | 
        (9) "Сказуемое" - вроде из другой пьесы, здесь "Знаменатель"     | |||
| 15
    
        prilforreal 03.07.18✎ 12:15 | 
        (12) (9) Спасибо, думал не обязательно в знаменатель вставлять)     | |||
| 16
    
        Мандалай 03.07.18✎ 12:16 | 
        (14)Ну да, эт я алгебру с русязом перепутал :)     | |||
| 17
    
        Малыш Джон 03.07.18✎ 12:16 | 
        (12) я так понимаю, если площадь=0, то там не площадь материала должна быть.
 (15)КИМ - это ведь коэф. используемого места? тогда: ВЫБОР КОГДА ПроизводствоПечатьТабличнаяЧасть1.Площадь = 0 ТОГДА "Хер вам, а не КИМ" ИНАЧЕ ПроизводствоПечатьТабличнаяЧасть1.ПлощадьМатериала / ПроизводствоПечатьТабличнаяЧасть1.Площадь КОНЕЦ Как КИМ | |||
| 18
    
        VladZ 03.07.18✎ 12:22 | 
        (0) "в запросе подменяю ноль на небольшое число". - круто, чо.  Ты своим "+ что-то там" намеренно вносишь искажения в данные. Зачем????
 Используй "Выбор когда" и будет тебе Щастье! | |||
| 19
    
        prilforreal 03.07.18✎ 12:29 | 
        (17) Только при таком запросе "Хер вам а не ким" будет писаться в поле площадь, на не в поле КИМ     | |||
| 20
    
        Малыш Джон 03.07.18✎ 12:40 | 
        (19) в площадь будет писаться площадь, а то, что в (17)  - будет писаться в поле КИМ.     | |||
| 21
    
        Малыш Джон 03.07.18✎ 12:40 | 
        Это разъяснение, для тех, кто пропустил слова "Как КИМ"     | |||
| 22
    
        Малыш Джон 03.07.18✎ 12:41 | 
        (19) у тебя деление на ноль происходит в коэффициенте, а не в площади
 зачем площадь-то трогать? | |||
| 23
    
        prilforreal 03.07.18✎ 12:47 | 
        (22) Спасибо, понял теперь     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |