|
![]() |
#1 |
Участник
|
сначала dictField.typeId();
потом: X++: public void populateTree() { DictEnum policyRuleTypeEnum; int i; policyRuleTypeEnum = new DictEnum(enumNum(SysPolicyRuleTypeEnum)); for(i = 0; i < policyRuleTypeEnum.values(); i++) { str sym = policyRuleTypeEnum.value2Symbol(i); info(strFmt("%1 %2 %3", i, policyRuleTypeEnum.value2Name(i), sym)); } }
__________________
Felix nihil admirari |
|
![]() |
#2 |
Участник
|
.
|
|
![]() |
#3 |
Участник
|
Цитата:
Сообщение от wojzeh
![]() сначала dictField.typeId();
потом: X++: public void populateTree() { DictEnum policyRuleTypeEnum; int i; policyRuleTypeEnum = new DictEnum(enumNum(SysPolicyRuleTypeEnum)); for(i = 0; i < policyRuleTypeEnum.values(); i++) { str sym = policyRuleTypeEnum.value2Symbol(i); info(strFmt("%1 %2 %3", i, policyRuleTypeEnum.value2Name(i), sym)); } } Т.е. или в цикле i < policyRuleTypeEnum.values(), но тогда внутри policyRuleTypeEnum.index2Value(i) Или внутри цикла policyRuleTypeEnum.value2Symbol(i), но тогда в самом цикле I < 255 Для примера, подставь Base Enum с именем UtilElementType. Он как раз на 100 элементах и завершит работу, несмотря на тот факт, что есть значения и больше 100
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
![]() |
#4 |
Участник
|
Цитата:
Действительно 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. |
|
![]() |
#5 |
Участник
|
Цитата:
X++: for (i = 0; i < dictEnum.values(); i++) { enumValue = dictEnum.index2Value(i); nameLabel = dictEnum.index2Label(i); nameSymbol = dictEnum.index2Symbol(i); info(strfmt('%1\t%2 ("%3") = %4', enumName, nameSymbol, nameLabel, enumValue)); } |
|