07.08.2023, 12:12 | #1 |
Участник
|
2012: Тип свойства таблицы
Добрый день
Метод sysDictTable.cacheLookup(); судя по всплывающей подсказке, возвращает тип enum recordCacheLevel. Вернее стринговое значение элемента. Возможно ли как то получить ID этого enum. Конечная цель: сделать lookup возможных значений указанного свойства таблицы. Может кто то решал подобную задачу, поделитесь сакральными знаниями. |
|
07.08.2023, 12:34 | #2 |
Мрачный тип
|
X++: public void lookup() { this.performFormLookup(SysLookup::lookupEnumType(enumnum(recordCacheLevel))); }
__________________
Мы летаем, кружимся, нагоняем ужасы ... |
|
07.08.2023, 13:27 | #3 |
Участник
|
спасибо.. мы тоже так умеем
но смысл вопроса был в том, как получить этот enunnum(recordCacheLevel) . то есть по имени свойства получить ID enum, значения из которого это свойство возвращает. как то так.. |
|
07.08.2023, 14:15 | #4 |
Мрачный тип
|
Экземпляр класса SysDictEnum, инициализированный ID-шником данного енума в помощь - там есть всякое по перебору элементов и ихних свойств:
X++: static void Job1149(Args _args) { SysDictEnum enum = new SysDictEnum(EnumNum(recordCacheLevel)); int i; ; for( i = 0 ; i < enum.values() ; i++) { info(enum.index2Name(i) + ' = ' + int2str(enum.index2Value(i))); } }
__________________
Мы летаем, кружимся, нагоняем ужасы ... |
|
07.08.2023, 15:05 | #5 |
Участник
|
Вы про это?
Как получить из элемента enum-а код типа (enum-а)? X++: enumId = DictEnum::value2id(sysDictTable.cacheLookup()));
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... Последний раз редактировалось Владимир Максимов; 07.08.2023 в 15:16. |
|
|
За это сообщение автора поблагодарили: AxeUser (1). |
07.08.2023, 16:36 | #6 |
Участник
|
бинго! Владимир ты лучший. Спасибо. Слона то я и не заметил
|
|
|
|