.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;
}

转载于:https://www.cnblogs.com/perock/p/3360968.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值