|
![]() |
#1 |
NavAx
|
Не пробовал, но если FormTreeItem.toString() вернет \vewrv\verwvwewe\evwvr, то вот номер уровня
print(conlen(str2con(FormTreeItem.toString(),"\\"))); |
|
![]() |
#2 |
Участник
|
X++: int LevelItem(int _treeItemNum) { int treeItemNumLoc; int level; ; treeItemNumLoc = _treeItemNum; while (treeItemNumLoc) { treeItemNumLoc = tree.getParent(treeItemNumLoc); if (treeItemNumLoc) level++; } return level; } |
|
![]() |
#3 |
Moderator
|
до кучи
Когда-то ковырялся со списком всех пунктов меню. Тоже зачем-то нужен был уровень. Написал маленький джобик с использованием рекурсии, причём получившаяся компактность поразила. Может быть, на что сгодится (например, уровни надо куда-то в таблицу нагенерить). Уровень иерархии hLevel по ходу вычисляется простой инкрементацией "туда-сюда". Признаться, сейчас не сразу смогу сообразить, как это всё работает, но работает
![]() X++: static void Job_MenusList(Args _args) { int row, hLevel; TreeNode treeNode = new xInfo().rootNode().AOTfindChild('Menus'); void nextNode( treeNode _tn) { ; hLevel++; _tn = _tn.AOTfirstChild(); while (_tn ) { row++; info(strfmt('%1 -- %2 -- %3', row, hLevel, _tn.treeNodePath())); nextNode(_tn ); _tn = _tn.AOTnextSibling(); } hLevel--; } ; nextNode( treeNode ); } |
|
![]() |
#4 |
Участник
|
Тоже до кучи
A я когда то делал так.
Бежит по всем узлам репозитария. Легко на основе этого свой нестондартный поиск написать, если надо конечно. |
|
|
![]() |
||||
Тема | Ответов | |||
AX 2009 создание узла в WSS | 7 | |||
Пропали пункты меню в дереве настройки прав доступа | 10 | |||
уровень доступа на форму | 23 | |||
поиск узла в проекте | 8 | |||
Как посмотреть уровень изоляции | 17 |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|