Bij het importeren van grote XPO bestanden kan het handig zijn om op voorhand al automatisch de elementen te laten controleren waar geen verschil in zit t.o.v. de AOT. De elementen die vervolgens overblijven kunnen dan alsnog handmatig gecontroleerd worden.
De code hiervoor is vrij eenvoudig.
1.) Open de AOT
2.) Ga naar Forms \ SysImportDialog
3.) Voeg onderstaande methode toe aan het form:
1 public void removeDuplicates()
2 {
3 TreeNodePath treeNodePath;
4 TreeNode treenodeInAot;
5 TreeNode treenodeInXpo;
6
7 while select tmpImportAot
8 {
9 try
10 {
11 treeNodePath = tmpImportAot.TreeNodePath;
12 treenodeInAot = TreeNode::findNode(treeNodePath);
13 //AX2012
14 treenodeInXpo = SysImportElementsForm.extractTreenodeFromFile(treeNodePath);
15 //AX2009 - Turn this on for AX2009 and remove line above
16 //treenodeInXpo = SysImportElements.extractTreenodeFromFile(treeNodePath);
17
18 if (treenodeInAot &&
19 treenodeInXpo)
20 {
21 if( SysCompare::silentCompare(SysTreeNode::newTreeNode(treenodeInAot), SysTreeNode::newTreeNode(treenodeInXpo)) )
22 {
23 tmpImportAot.delete();
24 }
25 }
26 }
27 catch
28 {
29 tmpImportAot.delete();
30 continue;
31 }
32 }
33
34 SysImportElementsForm.buildTree(aotTree);
35 SysFormTreeControl::expandTree(aotTree, aotTree.getRoot());
36 }
37
4.) Ga vervolgens naar het Design en open de ButtonGroup AOTButtonGroup.
5.) Voeg een nieuwe button toe: BtnRemoveDuplicateElements
6.) Voeg een Clicked methode toe met onderstaande code
1 void clicked()
2 {
3 super();
4
5 element.removeDuplicates();
6 }
7.) Geef een Label aan de button: Identiek verwijderen.