1

我正在尝试使用适用于 .NET 的 SAP Business One(B1 或 BO)数据接口 API(DI API)获取所有公司帐户的列表。
帐户表示为ChartOfAccountsSDK 的类型。
我不知道是否有办法做这样的事情(这就是我获取项目列表的方式):

    var oItem = (Items) Company.GetBusinessObject(BoObjectTypes.oItems);
    var oSBObob = (SBObob)Company.GetBusinessObject(BoObjectTypes.BoBridge);
    var oRecordSet = oSBObob.GetItemList();

但似乎没有类似于类型GetItemList()帐户的方法SBObob

有人知道如何获取公司帐户列表吗?

4

1 回答 1

2

我使用一种Recordset方法来实现这一点,即直接查询OACTDB 表以获取帐户密钥列表(AcctCodeDB 字段),然后使用ChartOfAccounts's GetByKey()方法填充其他ChartOfAccounts字段,如下所示:

            var sapAccount = (ChartOfAccounts)Company.GetBusinessObject(BoObjectTypes.oChartOfAccounts);
            var oRecordSet = (Recordset)company.GetBusinessObject(BoObjectTypes.BoRecordset);
            oRecordSet.DoQuery("SELECT AcctCode FROM OACT");

            while (!oRecordSet.EoF)
            {
                var key = oRecordSet.Fields.Item(0).Value.ToString();
                sapAccount.GetByKey(key)

                // Now sapAccount is filled with current account data - do something with its fields

                oRecordSet.MoveNext();
            }
于 2016-11-22T23:15:15.843 回答