Look up and set up AOT Properties
Sometimes,We often need to lookup the dictionary date( such as table) list or modified the properties on AOT .
so,X++ code as below:
Jimmy August 3th 2010
Batch set up the field for table properties
static void Jimmy_LookUpsetTableList(Args _args)
{
#AOT
treeNode tableNode,childNode;
AotTableFieldList myAOTTablefieldList;
SysDictTable sysDictTable = new SysDictTable(tablenum(Test));
treenodeIterator nodeIterator;
str fields;
Str properties,Props;
;
tableNode = TreeNode::findNode(#TablesPath+'\\'+sysDictTable.name());
myAOTTablefieldList = TreeNode::findNode(#TablesPath+'\\'+sysDictTable.name() + "\\Fields");
nodeIterator = myAOTTablefieldList.AOTiterator();
childNode = nodeIterator.next();
while (childNode)
{
fields = childNode.treeNodeName();
if (fields == "ItemId")
{
properties = setProperty(childNode.AOTgetProperties(), "Label","New label");
Props =
" PROPERTIES\n" +
" Name #ItemId\n" +
" Label #Item number\n" +
" HelpText #Jimmy X++ Code\n" +
" ExtendedDataType #ItemId\n" +
" ENDPROPERTIES\n";
childNode.AOTsetProperties(properties);//设置单个属性
childNode.AOTsetProperties(Props);//可以批量设置表属性
childNode.AOTsave();
childNode.AOTcompile();
childNode.AOTrefresh();
}
info(fields);
childNode = nodeIterator.next();
}
}
Look up the table properties
static void Jimmy_TableProperty(Args _args)
{
/*
Author : Jimmy xie
Date : April 16, 2010
Purpose : get to the table properties
*/
#AOT
str Property;
TreeNode TreeNode;
identifiername identifiername;
str Name;
;
TreeNode = TreeNode::findNode(#TablesPath);
TreeNode = TreeNode.AOTfirstChild();
while (TreeNode)
{
Name = TreeNode.AOTname();
Property = TreeNode.AOTgetProperties();
identifiername = findproperty(Property, 'SecurityKey');
info (strfmt("%1, %2", Name, identifiername));
treenode = TreeNode.AOTnextSibling();
}
}
set up the table properties
static void Jimmy_TablePropertySet(Args _args)
{
/*
Author : Jimmy xie
Date : April 16, 2010
Purpose : set up to the table properties
*/
str Property;
TreeNode TreeNode;
str Name;
;
Name = "CustTable";
TreeNode = TreeNode::findNode("Data Dictionary\\Tables\\" + Table);
if (TreeNode)
ttsbegin;
Property = TreeNode.AOTgetProperties();
Property = SetProperty(Property, "ModifiedDate", "Yes");
TreeNode.AOTsetProperties(Property);
TreeNode.AOTcompile();
TreeNode.AOTsave();
}
}
Look up the projects properties of AOT
private void Jimmy_ProjectsList()
{
/*
Author : Jimmy xie
Date : September 30, 2010
Purpose : get to the table properties
*/
TreeNode privateProjectNode; TreeNode sharedProjectNode; TreeNode node; ProjectNode projectNode; int i; ; privateProjectNode = infolog.projectRootNode().AOTfirstChild(); node = privateProjectNode.AOTfirstChild(); setPrefix(privateProjectNode.AOTname()); while(node != null) { info("--"+node.AOTname()); node = node.AOTnextSibling(); } sharedProjectNode = privateProjectNode.AOTnextSibling(); node = sharedProjectNode.AOTfirstChild(); setPrefix(sharedProjectNode.AOTname()); while(node != null) { i++; projectNode = node; projectNode = projectNode.loadForInspection(); info(strfmt("%6 : %1, -- %2, %3, -- %4, %5",projectNode.name(),projectNode.createdBy(),projectNode.creationDate(),projectNode.changedBy(),projectNode.changedDate(),i)); node = node.AOTnextSibling(); projectNode = node; } /*** loadForInspection()非常重要,我们需要把Project加载进来,才能确保可以读取到所有内容 你也可以调用getRunNode()方法来加载Project,但这时会打开Project form */ }

浙公网安备 33010602011771号