lazhen
2025-01-09 8afe90b633046db39042aada36b88193062f8cff
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
Quintiq file version 2.0
#parent: #root
Method SynchronizeAccountTypes
{
  Description: 'Synchronize account types from knowledge table'
  TextBody:
  [*
    // TYG2 Jul-14-2016 (created)                             
    
    // Data that is not in KT will be deleted
    feedback := '';
    traverse( this, AccountType, at, not at.IsInKnowledgeTable() and at.CanDelete( feedback ) )
    {
      at.Delete();
    }
    
    accounttypesTable := AccountTypesTable::Table();
    traverse( accounttypesTable, Rows, row )
    {
      accounttype := select( this, AccountType, a, a.Name() = row.Name() );
      if( isnull( accounttype ) )
      {
        accounttype := AccountType::Create( this, row.Name() );
      }
    }
  *]
}