|   |   | 
| 
 | Проблема с отрицательными числами в вычисляемом поле СКД | ☑ | ||
|---|---|---|---|---|
| 0
    
        BKL 25.09.19✎ 10:20 | 
        Здравствуйте.
 Помогите разобраться. В вычисляемом поле есть следующее условие: Выбор Когда Сумма>0 Тогда Сумма/1000 Конец Все работает. Когда меняешь условие на: Выбор Когда Сумма<0 Тогда Сумма/1000 Конец при выполнении отчета происходит исключение: "Неправильный параметр /". Если убрать деление и "1000" - все работает. Умножение, деление ставлю - вылезает исключение. Не могу понять, в чем дело, подскажите, пожалуйста. | |||
| 1
    
        ДенисЧ 25.09.19✎ 10:27 | 
        Выбор Когда Сумма<0 Тогда (Сумма/1000) ИНАЧЕ Сумма Конец     | |||
| 2
    
        vicof 25.09.19✎ 10:44 | 
        Скобки необязательно     | |||
| 3
    
        toypaul гуру 25.09.19✎ 10:57 | 
        Сумма может быть NULL, а с ним ничего делать нельзя     | |||
| 4
    
        toypaul гуру 25.09.19✎ 10:58 | 
        ну и конечно без ИНАЧЕ эта конструкция не понятно что может посчитать когда будет иначе     | |||
| 5
    
        Кир Пластелинин 25.09.19✎ 11:22 | 
        (3) эт почему это нельзя ничего делать с null? null/число - будет null     | |||
| 6
    
        BKL 25.09.19✎ 12:11 | 
        Я дико извиняюсь, но вопрос у меня был в том, что Сумма>0 работает без "иначе", а Сумма<0 вызывает исключение при выполнении. Причем если Выбор Когда Сумма<0 Тогда Сумма Конец - работает. А когда Выбор Когда Сумма<0 Тогда Сумма/1000 Конец - исключение при выполнении.     | |||
| 7
    
        Tonik992 25.09.19✎ 12:32 | 
        Нужен полный текст ошибки.     | |||
| 8
    
        BKL 25.09.19✎ 13:36 | 
        (7) При попытки сформировать отчет, окно:  " Неверные параметры "/" ". Сама сумма берется из запроса к регистру ХозрасчетныйДвиженияССубконто, поле "Сумма".     | |||
| 9
    
        Кир Пластелинин 25.09.19✎ 14:05 | 
        проблема в итоговом типе значения поля 'сумма'. там не число и не null. отсюда и ошибка выполнения     | |||
| 10
    
        BKL 25.09.19✎ 14:17 | 
        (9) Возможно и так. А положительные числа, тогда почему делятся без ошибки поле же одно и тоже? Пробовал Число(Сумма)/1000 - "Синтаксическая ошибка Число()". Как быть? И почему, если не использовать математические операции (/, *), отрицательные числа выводятся без проблем?     | |||
| 11
    
        Кир Пластелинин 25.09.19✎ 14:21 | 
        (10) еще раз. проверяйте тип у 'сумма'. по всем симптомам там не число. разве сложно вывести в отчет отдельную колонку 'сумма' и колонку, которая будет ТИПЗНАЧЕНИЯ('сумма')? без вычисляемого выражения естественно. в первую очередь исключите это.     | |||
| 12
    
        BKL 25.09.19✎ 14:24 | 
        Спасибо за совет, попробую.     | |||
| 13
    
        vova1122 25.09.19✎ 14:35 | 
        (10) ну или может через неразрывный пробел в значении "Сумма". Попробуйте убрать его     | |||
| 14
    
        Кир Пластелинин 25.09.19✎ 14:40 | 
        (13) это позволит разделить строку на число?)     | |||
| 15
    
        vova1122 25.09.19✎ 14:44 | 
        (14) Функция Число("1 000") не преобразует это значение в число. Поэтому как вариант исключить в этом значении неразрывный пробел     | |||
| 16
    
        Кир Пластелинин 25.09.19✎ 14:46 | 
        (15) это как гланды через одно место удалять     | |||
| 17
    
        toypaul гуру 25.09.19✎ 15:14 | 
        интересно какой такой тип значения может быть меньше 0 ... и при этом не быть числом     | |||
| 18
    
        toypaul гуру 25.09.19✎ 15:14 | 
        насчет null согласен, что делить можно.     | |||
| 19
    
        toypaul гуру 25.09.19✎ 15:16 | 
        если только строка ... (что вообще бред). тогда получается что сравнивается как Сумма < "0"     | |||
| 20
    
        Сияющий в темноте 25.09.19✎ 15:33 | 
        null или неопределено меньше любого числа
 вставьте первым условием проверку на null | |||
| 21
    
        Кир Пластелинин 25.09.19✎ 16:10 | 
        (20) выражение null/1000 не вернет ошибку, а null. даже null/0 емнп не вернет ошибки, а все тот же null. вот неопределено может. не проверял     | |||
| 22
    
        Сияющий в темноте 25.09.19✎ 19:19 | 
        Если выразить(поле,"число")есть Null     | |||
| 23
    
        BKL 26.09.19✎ 10:05 | 
        (11) Попробовал. Тип значения и у положительного и у отрицательного числа - "Число". Но. если положительное в вычисляемом поле делить на 1000 - ОК, а отрицательное - ошибка. Ничего не понимаю. Проблему я решил, конечно, поле сумма попадает в СКД из модуля формы, я делю там на 1000, а в вычисляемом поле ставлю Выбор Когда Сумма<>0 Тогда Сумма Конец. Но это же изврат, должно работать в вычисляемом поле...     | |||
| 24
    
        BKL 26.09.19✎ 10:06 | 
        (17) В том и дело, проверил тип - "Число". Загадка, в общем.Настройки формата смотрел, вдруг неотрицательное стоИт или еще где-нибудь, ничего такого не нашел.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |