Имя: Пароль:
1C
1С v8
Подскажите, что за Приколы в Вычисляемом поле СКД
0 vfrcbv
 
04.07.19
14:59
Добрый день!
1. Если выражение «Вычисляемого поля» задать:
ОстатокНаСкладе-(НормаРасхода-КоличествоОборот)
то где КоличествоОборот > 0, вычисляемое выражение считается правильно. У всех остальных строк отчета (где КоличествоОборот нет) «Вычисляемое выражение» пустое. (что не верно)

2. Если выражение «Вычисляемого поля» задать:
ОстатокНаСкладе-(НормаРасхода-ISNULL(КоличествоОборот, 0))
то где КоличествоОборот > 0, вычисляемое выражение считается НЕ правильно. У всех остальных строк отчета (где КоличествоОборот нет) «Вычисляемое выражение» имеет правильное значение.
1 vfrcbv
 
04.07.19
15:01
подскажите куда копать?
2 vfrcbv
 
04.07.19
15:25
Ладно по другому спрошу, почему два выражение дают разные результаты:

1.ВЫБОР
        КОГДА КоличествоОборот>0
            ТОГДА ОстатокНаСкладе-(НормаРасхода-КоличествоОборот)
        ИНАЧЕ ОстатокНаСкладе-(НормаРасхода-ISNULL(КоличествоОборот, 0))
    КОНЕЦ



2.ВЫБОР
        КОГДА КоличествоОборот>0
            ТОГДА ОстатокНаСкладе-(НормаРасхода-КоличествоОборот)
        ИНАЧЕ 1
    КОНЕЦ


Дают разные результаты при истиности условия: КоличествоОборот>0
3 palsergeich
 
04.07.19
15:30
(2) Выведи в консоли, которая пустые типы умеет отображать и посмотри что у тебя в косячных строках
4 mikecool
 
04.07.19
15:31
второй вариант должен считать правильно, в данных мб косяки
5 toypaul
 
гуру
04.07.19
15:32
патамушта надо писать

КОГДА ISNULL(КоличествоОборот, 0)>0
6 shuhard
 
04.07.19
15:37
(5) +100500
7 vfrcbv
 
04.07.19
15:49
(5) к сожалению не в этом причина.

если так написать:

ВЫБОР
        КОГДА ISNULL(КоличествоОборот, 0)>0
            ТОГДА ОстатокНаСкладе-(НормаРасхода-КоличествоОборот)
        ИНАЧЕ 1
    КОНЕЦ

все работает.

но стоит в ветке иначе указать выражения с любым полями скд, результат меняется при ИСТИНОСТИ условия меняется

ВЫБОР
        КОГДА ISNULL(КоличествоОборот, 0)>0
            ТОГДА ОстатокНаСкладе-(НормаРасхода-КоличествоОборот)
        ИНАЧЕ ОстатокНаСкладе-НормаРасхода
    КОНЕЦ
8 palsergeich
 
04.07.19
15:49
(3) Ты это то сделай
9 vfrcbv
 
04.07.19
15:50
(7) + т.е. два условия, при истиности ISNULL(КоличествоОборот, 0)>0 дают разные результаты.
10 toypaul
 
гуру
04.07.19
15:52
у тебя в Иначе тоже может быть NULL
11 vfrcbv
 
04.07.19
15:58
(8) если не сложно можете ссылку кинуть?
12 vfrcbv
 
04.07.19
16:00
(10) Может я чето не догоняю, но если условия Истина, то значение разельтата не должно зависеть от того что написано в ветке иначе?!
13 dubolom
 
05.07.19
19:02
(0) Во втором случае что выдаёт-то, когда КоличествоОборот>0?
Закон Брукера: Даже маленькая практика стоит большой теории.