Показать сообщение отдельно
Старый 16.04.2015, 07:12   #1  
ski is offline
ski
Участник
 
35 / 12 (1) ++
Регистрация: 27.05.2009
Особенности работы X++ и CIL
Добрый день!
При реализации сервиса в Dynamics AX 2012, внутри которого идет работа со стандартными классами, я нашел некоторую особенность. Код на Х++ и CIL работает по-разному:
X++:
    container   emptyFields;
    ;
    if (! _rec.DocumentNumber)
    {
        emptyFields += "@SYS8434";
    }
    if (! _rec.DocumentDate)
    {
        emptyFields += "@SYS2587";
    }
    if (! _rec.PayerAccount)
    {
        emptyFields += "@GLS100568";
    }
    if (! _rec.PayeeAccount)
    {
        emptyFields += "@GLS100577";
    }

    if (!_rec.AmountCur)
    {
        emptyFields += "@SYS860";
    }

    if(emptyFields)
    {
        // даже если emptyFields пустое, в CIL вызывает исключение  
        throw error(strFmt("@GLS115341", con2Str(emptyFields, #comma)));
    }
Собственно вопрос - при вашей реализации сервисов, вы пишите код на CIL, или всё же используете Х++ для реализации бизнес-логики?