У меня вот так работает (KR3)
X++:
TreeNode getPrevLayeredNode(TreeNode _node)
{
int mask = _node.applObjectLayerMask();
UtilEntryLevel layer;
for (layer=_treeNode.applObjectLayer()-1; layer >= UtilEntryLevel::sys && layer <= UtilEntryLevel::usp; layer--)
{
if(mask & (1 << layer))
return _node.getNodeInLayer(layer);
}
return null;
}