zoukankan      html  css  js  c++  java
  • 获取AX数据字典

    AX提供了很多反射类可以获取元数据信息,刚刚一个同事需要一个AX数据字典的列表,顺手写了一个,没啥技术含量,在这里做个备份,以便以后复制粘贴.
    static void DataDictionary(Args _args)
    {
        #AOT
        
    #define.FileName(@"d:\DataDictionary.txt")
        TextBuffer  tb 
    = new TextBuffer();
        TreeNode    treeNode 
    = TreeNode::findNode(#TablesPath);
        DictTable   dictTable;
        DictField   dictField;
        
    int         i;
        ;

        treeNode 
    = treeNode.AOTfirstChild();

        
    while(treeNode)
        
    {
            dictTable 
    = new DictTable(tableName2Id(treeNode.AOTname()));
            tb.appendText(dictTable.name()
    +' '+dictTable.label());
            tb.appendText(
    '\n');
            
    for(i=1;i<=dictTable.fieldCnt();i++)
            
    {
                dictField 
    = new DictField(dictTable.id(),dictTable.fieldCnt2Id(i));
                tb.appendText(
    '         '+dictField.name()+' ' + dictField.label());
                tb.appendText(
    '\n');
            }

            
            print treeNode.AOTname();
            treeNode 
    = treeNode.AOTnextSibling();
            
        }

        tb.toFile(#FileName);

    }

    当然也可以不用TreeNode,而用Dictionary得到表.
    static void DataDictionary2(Args _args)
    {
        #AOT
        
    #define.FileName(@"d:\DataDictionary.txt")
        TextBuffer  tb 
    = new TextBuffer();
        Dictionary  dictionary 
    = new Dictionary();

        DictTable   dictTable;
        DictField   dictField;
        
    int         i;
        
    int         j;
        ;

        
    for( i=1;i<= dictionary.tableCnt();i++)
        
    {
            dictTable 
    = new DictTable(dictionary.tableCnt2Id(i));
            tb.appendText(dictTable.name()
    +' '+dictTable.label());
            tb.appendText(
    '\n');
            
    for(j=1;j<=dictTable.fieldCnt();j++)
            
    {
                dictField 
    = new DictField(dictTable.id(),dictTable.fieldCnt2Id(j));
                tb.appendText(
    '         '+dictField.name()+' ' + dictField.label());
                tb.appendText(
    '\n');
            }


            print dictTable.name();
            
    //treeNode = treeNode.AOTnextSibling();

        }

        tb.toFile(#FileName);

    }
  • 相关阅读:
    python 3.6.2 使用VScode 安装requests包
    JExcel读取Excel,完成随机数对应学号,随机选取学生姓名
    HashMap和Map的道道
    腾讯云主机windows 2012 r2搭建ftp服务器
    关于网站域名访问出现welcome to nginx 的问题
    腾讯云主机windows 2012 r2标准版&&搭建java环境(jdk+tomcat)
    Anaconda 安装+使用+换源+更新
    已知三点求平面方程、平面法向量和点到平面的距离
    Open Cascade:计算体积
    VS2015安装QT插件
  • 原文地址:https://www.cnblogs.com/Farseer1215/p/981148.html
Copyright © 2011-2022 走看看