Имя: Пароль:
1C
1С v8
Вычисляемые поля в СКД
0 prog11
 
26.07.19
08:22
Приветствую.
Такие дела.
Есть вычисляемое ПОЛЕ1:
(Выбор Когда Склад = Значение(Справочник.лпСклады.СкладПиломатериаловВСортировке) Тогда ЕстьNull(ШтукиНаНачало,0)+ЕстьNull(ШтукиПриходПослеСушки,0)+ЕстьNull(ШтукиПриходССГП,0)+ЕстьNull(ШтукиПриходСЦСиГПД,0)-ЕстьNull(ШтукиСписания,0)-ЕстьNull(ШтукиПеремещениеНаЦСиГПД,0)-ЕстьNull(ШтукиНаКонец,0) Иначе 0 Конец)
Надо получить вычисляемое ПОЛЕ2, в котором при условии что, если значение ПОЛЕ1 >= 0, принимается значение этого же самого ПОЛЕ1. Если значение Поле1 < 0, тогда надо возвратить 0 в ПОЛЕ2.
ПОЛЕ2 у меня имеет такой вид:
Выбор Когда (Выбор Когда Склад = Значение(Справочник.лпСклады.СкладПиломатериаловВСортировке) Тогда ЕстьNull(ШтукиНаНачало,0)+ЕстьNull(ШтукиПриходПослеСушки,0)+ЕстьNull(ШтукиПриходССГП,0)+ЕстьNull(ШтукиПриходСЦСиГПД,0)-ЕстьNull(ШтукиСписания,0)-ЕстьNull(ШтукиПеремещениеНаЦСиГПД,0)-ЕстьNull(ШтукиНаКонец,0) Иначе 0 Конец) >=0 Тогда (Выбор Когда Склад = Значение(Справочник.лпСклады.СкладПиломатериаловВСортировке) Тогда ЕстьNull(ШтукиНаНачало,0)+ЕстьNull(ШтукиПриходПослеСушки,0)+ЕстьNull(ШтукиПриходССГП,0)+ЕстьNull(ШтукиПриходСЦСиГПД,0)-ЕстьNull(ШтукиСписания,0)-ЕстьNull(ШтукиПеремещениеНаЦСиГПД,0)-ЕстьNull(ШтукиНаКонец,0) Иначе 0 Конец) Иначе 0 Конец

В итоге ПОЛЕ2 возвращает не то, что надо. Конкретная ситуация не отрабатывается, когда ПОЛЕ1 возвращает 0 и есть КоличествоПеремещениеНаЦСиГПД > 0, то в Поле2 на КоличествоПеремещениеНаЦСиГПД почему-то срабатывает ЕстьNULL, хотя там есть значение больше 0.

То есть у меня в конкретном случае есть остаток на начало и его переместили на участок ЦС и ГПД, то есть результат - это ноль. И он получается в ПОЛЕ1. Но в ПОЛЕ2 в моем выражении - возвращается только отстаток на начало, а на перемещенный объем срабатывает ЕстьNULL.
1 Максим Нижегородец
 
26.07.19
17:16
(0) Если в запросе нет ни одной записи, может вернуться NULL из-за этого.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший