Блин… не очень это правильно. 0 это тоже значение и оно может быть 0 или может быть не 0. И получается, что в БД пишется 0 (не так важно, что статус тоже 0).
Не должно быть значение нуля из Коммуникатора. Это и без того усложняет всякие формулы, если нам необходимо контролировать что-то через значения.
Cnl; (Cnl == 0 && CnlStat > 0) ? 501: CnlStat
з.ы. и вот вся эта писанина уже порядком надоедает 🙂