Показать сообщение отдельно
Старый 25.05.2011, 15:12   #1  
timaluhs is offline
timaluhs
newborn in DAX
Аватар для timaluhs
 
102 / 10 (1) +
Регистрация: 16.12.2010
Адрес: Израиль
непонятное поведение поля enum NoYes
Есть таблица со всеми льготами
EmplID, NumOfbenefits, и разные поля в которых есть дополнительные характеристики

Нужно созадть табличку в которой в одной строке будут все льготы для сотрудника.
Создала табличку типа EmplID, Benefit1, характеристики для Benefit1, Benefit2, характеристики для Benefit2 ну и так до 27...
поля Benefit1 типа Enum, EnumType NoYes
В классе запускается цикл. Внутри цикла для каждого benefits

X++:
select BenefitTbl where BenefitTbl .emplId == MyTbl.EmplId
         && BenefitTbl .BenefitTypeId == '01';
//если есть такая льгота то 
        if (BenefitTbl != NULL)
        {
            MyTbl.Benefit1= NoYes::Yes;
                 
        }
        else
        {
            MyTbl.Benefit1= NoYes::No;
        }
и это повторяется для всех benefits только со сменой номера .

Вопрос 1: Почему-то в enum поля не всегда правильно записывается значение. С дебагером захожу внутрь цикла - т.е. должно быть Yes -1, a в БД - 0
Есть какая-то хитрость?
Вопрос 2: Можно ли это как-то оптимизировать. Муторно очень всё копировать
Спасибо