• .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;
    }
  • 相关阅读:
    Kafka基础
    操作系统实验(一)-Shell编程
    计算机组成原理05-系统总线(下)
    计算机组成原理04-系统总线
    计算机组成原理03-概论思考
    计算机组成原理02-系统概论(下)
    计算机组成原理01-系统概论
    Python&&Pip
    我的爱情观
    node.js简介
  • 原文地址:https://www.cnblogs.com/perock/p/3360968.html
Copyright © 2020-2023  润新知