lazhen
2025-01-07 b3987122cbbc46c5c59d3173f37fca3170b6dc5a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Quintiq file version 2.0
#parent: #root
DeclarativeReferenceRelation CalcRootHierarchyObject
{
  #keys: '1[119464.0.580343879]'
  Expression:
  [*
    rootObject := select( this, SetObject.astype( LibDMF_HierarchyObject ), ho,
                          isnull( ho.Hierarchy() ) );
    
    // Select an arbitrary object as the Root if no Root is found (i.e. in case of a cycle),
    // in order to still be able to show the objects in a list in the UI.
    if( isnull( rootObject ) )
    {
      rootObject := select( this, SetObject.astype( LibDMF_HierarchyObject ), ho, true );
    }
    
    return rootObject;
  *]
  Relation: RootHierarchyObject
}