• AX Query


    AX 用代码方式调用静态Query(AOTQueries节点下面的Query)的方法

    static void AXD_CallQuery_SalesInfo(Args _args)
    {
        SysQueryRun queryRun = new SysQueryRun(querystr(AXD_SalesInfo));
        SalesLine m_salesLine;
        InventTable m_InventTable;
        ;
        if (queryRun.prompt())
        {
            while (queryRun.next())
            {
                m_salesLine = queryRun.get(tableNum(salesLine));
                m_InventTable = queryRun.get(tableNum(InventTable));
                if (queryRun.changed(tableNum(salesLine)))
                {
                    info(strfmt("SalesID: %1,itemid:%2",
                    m_salesLine.salesID,m_InventTable.itemId));
                }
            }
        }
    }                        
    

    Query构造条件里面不同字段结果是或的关系

    复杂表达式:
    
    Qbr = qbds.addRange(fieldnum(InventTable,ItemId));
    
    Qbr.value(strfmt(‘(%1 == “%2”)’,fieldstr(InventTable,ItemId),queryvalue(‘I-999’));
    
    到目前,你可能会觉得表达式不过是把简单的问题搞复杂而已,但是,我要说的是,表达式功能很强大,我们会在后面做更详细的介绍。
    
    在使用strfmt来构造表达式的时候有几点要注意:
    
    (a)        传递给value方法的参数最外层要用’value’的形式括起来,即用单引号括起来;
    
    (b)        表达式中的每一个等式以及整个表达式都要使用小括号括起来,如:
    
    ‘((%1 == %2) || (%1 == %3))’
    
    (c)        变量依次在表达式中用%n 的形式表示;
    
    (d)        如果被用来做过滤的值是字符串型的,必须用双引号将值所对应的变量括起来,如:
    
    Strfmt(‘(%1 == “%2”)’,fieldstr(InventTable,ItemId),queryvalue(‘I-999’));
    

      

  • 相关阅读:
    Django集成CAS
    JAVA命名规范
    Mybatis(5)——动态SQL
    Mybatis(4)——ResultMap
    Mybatis(3)——参数处理
    Mybatis(2)——Mapper映射文件
    Mybatis(1)——配置文件
    Gson(http://www.jianshu.com/p/e740196225a4)
    Gson中fromJson方法
    SessionAttributes和ModelAttribute
  • 原文地址:https://www.cnblogs.com/sxypeace/p/4384187.html
Copyright © 2020-2023  润新知