Показать сообщение отдельно
Старый 01.03.2006, 14:38   #5  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2476 (88) +++++++++
Регистрация: 20.08.2005
Заднепроходно, но могу предложить такой вариант
X++:
static void Job90(Args _args)
{
    EnumId  GetEnumId(AnyType enum)
    {
        ContainerClass  contClass;
        str             sEnum;
        EnumId          enumId = 0;
        ;
        if (typeOf(enum) != Types::Enum)
            return 0;

        contClass = New ContainerClass([enum]);
        sEnum = BinData::dataToString(contClass.toBlob());
        if (sEnum && strlen(sEnum) == 12)
        {
            if (hex2int(substr(sEnum, 1, 2)) == 0x07 && hex2int(substr(sEnum, 3, 2)) == 0x04)
            {
                enumId = (hex2int(substr(sEnum, 9, 2)) << 8) | hex2int(substr(sEnum, 7, 2));
            }
        }
        return enumId;
    }
    ;
    info(int2str(enumnum(NoYesCombo)));
    info(int2str(GetEnumId(NoYesCombo::No)));
}
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Logger (5), Borsugg (0).