Цитата:
Сообщение от
Владимир Максимов
в цикле 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));
}
}