yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Quintiq file version 2.0
#parent: #root
Method SerializeScopeElements () as owning JSONBuilder
{
  TextBody:
  [*
    
    array := JSON::Array();
    
    key_comment := LibOpt_Scope::JSON_Comment();
    key_group := LibOpt_Scope::JSON_Group();
    key_id := attribute( LibOpt_ScopeElement, InternalIdentifier ).Name();
    
    scope_elements := selectsortedset( this.ScopeElementsConst(), Elements, se, true, se.Key() );
    traverse( scope_elements, Elements, se )
    {
      se_json := JSON::Object();
      se_json.Add( key_comment, this.GetComment( se ) );
      group := this.GetGroupConst( se );
      if( not isnull( group ) )
      {
        se_json.Add( key_group, group.Name() );
      }
      se_json.Add( key_id, [String] se.InternalIdentifier() );
      se_json.Add( attribute( LibOpt_ScopeElement, Identifier ).Name(), se.Identifier() );
      se_json.Add( attribute( LibOpt_ScopeElement, Details ).Name(), se.Details() );
      array.Add( se_json );
    }
    
    return & array;
  *]
}