| 
    
        
     
     | 
    
  | 
Проблема с отрицательными числами в вычисляемом поле СКД | ☑ | ||
|---|---|---|---|---|
| 
    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) В том и дело, проверил тип - "Число". Загадка, в общем.Настройки формата смотрел, вдруг неотрицательное стоИт или еще где-нибудь, ничего такого не нашел.     
         | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |