До кучи. Те же "куриные продукты", только в профиль. Нашёл у себя функцию (статический метод) определения значения (числа) енума по его русскому названию:
X++:
// преобразует значение метки перечисления в значение (0-250)
// например для перечисления InventType
// "Номенклатура" => 0 (ItemType::Item)
// "Услуга" => 2 (ItemType::Service)
static int enumLabel2Value( DictEnum _dictEnum, str _label )
{
int enumValue = 255;
int ind;
;
for (ind=0; ind<_dictEnum.values(); ind++)
{
if ( _dictEnum.index2Label(ind) == _label )
{
enumValue = _dictEnum.index2Value(ind);
break;
}
}
return enumValue;
}
// пример вызова: box::info(int2str(KKu::enumLabel2Value(new DictEnum(enumnum(ItemType)), 'Услуга')));