zoukankan      html  css  js  c++  java
  • .NET 中使用 Business Connector Dynamics AX

    Axapta ax;
     
    AxaptaRecord custtable;
     
    AxaptaObject query;
    AxaptaObject queryrun;
    AxaptaObject querybuilddatasource;
    AxaptaObject querybuildrange;
     
    //---------------------------------
    // 登录
    ax = new Axapta();
     
    ax.Logon("", "", "", "");
    //---------------------------------
     
    //---------------------------------
    // 创建query对象和数据源
    query = ax.CreateAxaptaObject("Query");
    querybuilddatasource = query.Call("AddDataSource", 77) as AxaptaObject;  // CustTable的 tableId = 77
    querybuildrange = querybuilddatasource.Call("AddRange", 1) as AxaptaObject;  // AccountNum的 fieldId = 1
     
    querybuildrange.Call("value", "4000");  //查找 AccountNum=4000
    //---------------------------------
     
    //---------------------------------
    // 执行query
    queryrun = ax.CreateAxaptaObject("QueryRun", query) as AxaptaObject;
     
    queryrun.Call("prompt");
     
    queryrun.Call("next");
    //---------------------------------
     
    //---------------------------------
    // 获取结果
    custtable = queryrun.Call("getNo", 1) as AxaptaRecord;
     
    MessageBox.Show((string)custtable.get_Field("Name"));
    //---------------------------------
     
    //---------------------------------
    //注销
    ax.Logoff();
    //---------------------------------
    

      需要添加引用 Microsoft.Dynamics.BusinessConnectorNet 简单的:

    Axapta ax;
    AxaptaRecord custtable;
    AxaptaObject connTest;
     
    //---------------------------------
    // 登录
    ax = new Axapta();
     
    ax.Logon("", "", "", "");
    //---------------------------------
     
    //---------------------------------
    // 创建一个ax类对象的实例
    connTest = ax.CreateAxaptaObject("ConnTest");
    // 执行方法 getCust
    custtable = connTest.Call("getCust", "4000") as AxaptaRecord;
     
    MessageBox.Show((string)custtable.get_Field("Name"));
    //---------------------------------
     
    //---------------------------------
    // 注销
    ax.Logoff();
    //---------------------------------
    

      ax中代码:

    class ConnTest
    {
     
    }
     
    public CustTable getCust(str _custAccount)
    {
        Query                   q;
        QueryRun                qr;
        QueryBuildDataSource    qbds;
        QueryBuildRange         qrange;
     
        TableId                 _tableId;
        CustTable               _custtable;
        ;
     
        _tableId = tablename2id("CustTable");
     
        q = new Query();
     
        qbds = q.addDataSource(_tableId);
     
        qrange = qbds.addRange(fieldname2id(_tableId, "AccountNum"));
        qrange.value(_custAccount);
     
        qr = new QueryRun(q);
     
        qr.interactive(false);
     
        qr.prompt();
     
        if (qr.next())
            _custtable = qr.getNo(1);
     
        return _custtable;
    }
    

      

  • 相关阅读:
    Runloop 新的看法
    如何利用openCV做灰度图片
    WebViewJavascriptBridge使用说明(iOS)
    页面滑动返回和点击返回按钮动作实现;
    获取设备UDID、IMEI、ICCID、序列号、Mac地址等信息
    设计模式----单例模式
    多线程理论知识 -- 小白的教程
    SQLite 的创建与编辑
    strong,weak, retain, assign的区别
    CGContextRef 画线简单用法
  • 原文地址:https://www.cnblogs.com/huaen/p/2723817.html
Copyright © 2011-2022 走看看