Показать сообщение отдельно
Старый 14.08.2020, 05:42   #9  
oleggy is offline
oleggy
Участник
 
256 / 36 (2) +++
Регистрация: 03.12.2019
Адрес: Россия
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
в цикле i < policyRuleTypeEnum.values(), но тогда внутри policyRuleTypeEnum.index2Value(i)
Или внутри цикла policyRuleTypeEnum
А как вывести системное название текущего значения Enum если в цикле используешь values() ?
Действительно value2Symbol(i) пишет фигню.


X++:
    Name enumName = 'InventTransType';
    DictEnum    dictEnum = new DictEnum(enumName2Id(enumName));
    Name nameLabel, nameSys;
    AnyType enumValue;
    Counter     i;
    ;
    setprefix('Сообщения');

    if (true) // 255
    {
        for (i = 0; i < 255; i++)
        {
            nameLabel = dictEnum.value2Name(i);
            nameSys = dictEnum.value2Symbol(i);
            if (nameSys)
                info(strfmt('%1\t%2 ("%3") = %4', enumName, nameSys, nameLabel, i));
        }
    }
    else // values()
    {
        for (i = 0; i < dictEnum.values(); i++)
        {
            enumValue = dictEnum.index2Value(i);
            //nameSys = dictEnum.value2Symbol(i); // некорректно выводит
            info(strfmt('%1\t%2 = %3', enumName, nameSys, enumValue));
        }
    }

Последний раз редактировалось oleggy; 14.08.2020 в 05:49.