Dynamics AX Blog - aot - Beiträge von 2014
Momentan angezeigt werden nur Beiträge von »2014«.
Objekte per Code zu einem Projekt hinzufügenNachstehend ein kurzer Job, mit dessen Hilfe man AOT-Elemente zu einem bestehenden Shared Project hinzufügen kann. static void AddNodeToSharedProject(Args _args)
{ projectNode projectNode; TreeNode treeNode; #AOT #AOTExport projectNode = infolog.projectRootNode(); projectNode = projectNode.AOTfindChild(#expProjectShared); projectNode = projectNode.AOTfindChild('MyProject'); // Add objects treenode = TreeNode::findNode(#TablesPath+'\\'+tableid2name(tablenum(CustGroup))); projectNode.addNode(treenode); treenode = TreeNode::findNode(#TablesPath+'\\'+tableid2name(tablenum(VendGroup))); projectNode.addNode(treenode); treenode = TreeNode::findNode(#ClassesPath+'\\'+classStr(PriceDisc)); projectNode.addNode(treenode); } Das geänderte Projekt sieht beispielsweise wie folgt aus: |
|
|
|
|
|
|
Der hier vorgestellte Job gibt über das Infolog alle Tabellen aus, bei welchen eine bestimmte Eigenschaft - im Beispiel wird die Property ModifiedBy abgefragt -
einen bestimmten Wert aufweist.
Im Makro #Properties findet man alle weiteren möglichen Properties von AOT-Objekten, wodurch man den Job auch für Abfragen anderer Eigenschaften einsetzen kann.
{
TreeNode treeNodeTables;
TreeNode treeNode;
str prop;
str properties;
#aot
#Properties;
treeNodeTables = TreeNode::findNode(#TablesPath + #AOTRootPath);
treeNodeTables = treeNodeTables.AOTfirstChild();
while(treeNodeTables)
{
properties = treeNodeTables.AOTgetProperties();
prop = Global::findProperty(properties,#PropertyModifiedBy);
if(prop == "yes")
{
info(treeNodeTables.AOTname());
}
treeNodeTables = treeNodeTables.AOTnextSibling();
}
}