0

私は.NETで作業しており、QuickBooks V2 APIを使用して、ユーザーのQBDのアイテム数を取得しようとしています。

「RecordCountQuery」クラスを実装してQBDのアイテム数を見つける方法の実例はありますか?

これが私の試みの1つです。

//
// Get a record count of the items
//
var qbItemsCount = new RecordCountQuery();

var myResults = qbItemsCount.ExecuteQuery<Item>(_oQBIDataServices.ServiceContext);

エラー:

Intuit.Ipp.Exception.IdsException was unhandled by user code
  HResult=-2146233088
  Message= The RecordCountQuery xml must wrap an existing supported query object. Please modify your query and try again.
  Source=""
  ErrorCode=-2015

これにより、Intuit.Ipp.Data.QBD.ItemQuery のような「ExecuteQuery」メソッドで別の型を使用する必要があることがわかりました。これを試しましたが、別のエラーが発生しました。

したがって、私が求めているのは、必ずしも上記のコードの修正ではなく、.NET の RecordCountQuery クラスの動作例です。

ありがとうございました。

4

1 に答える 1

2

編集- .net コードの追加

RecordCountQuery query = new RecordCountQuery();
CustomerQuery custQuery = new CustomerQuery();
query.Item1 = custQuery;
List<RecordCount> customerRecordCountQuery = query.ExecuteQuery<RecordCount>(context).ToList();
string customerCount = customerRecordCountQuery[0].Count;

私は動作中のJavaコードを持っています。有用かどうかを確認してください。

API エンドポイント - https://services.intuit.com/sb/recordcount/v2/ {*relam_id*}

投稿本文

<RecordCountQuery xmlns="http://www.intuit.com/sb/cdm/v2">
    <CustomerQuery/>
</RecordCountQuery>

応答

<?xml version="1.0" encoding="UTF-8"?><!--XML GENERATED by IntuitDataSyncEngine (IDS) using \\SBDomainServices\CDM\branches\3.9.0-rel-1-->
<RestResponse xmlns="http://www.intuit.com/sb/cdm/v2"
xmlns:xdb          ="http://xmlns.oracle.com/xdb"
xmlns:xsi          ="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation ="http://www.intuit.com/sb/cdm/v2 ../common/RestDataFilter.xsd"><RecordCounts>
<RecordCount>
<ObjectName>Customer</ObjectName>
<Count>392</Count>
</RecordCount>
</RecordCounts></RestResponse>

Java コード

public int testGetCount() {
    int objectCount = 0;
    try {
        QBCustomerQuery CustomerQuery = QBObjectFactory.getQBObject(
                context, QBCustomerQuery.class);
        QBDRecordCountService iRecordCountSer = QBDServiceFactory
                .getService(context, QBDRecordCountService.class);
        List<QBRecordCountImpl> recordCounts = iRecordCountSer.getCount(
                context, CustomerQuery);
        Iterator<QBRecordCountImpl> iterator = recordCounts.iterator();
        while (iterator.hasNext()) {
            QBRecordCountImpl next = iterator.next();
            objectCount = Integer.parseInt(next.getCount().toString());
        }
        System.out.println("Customer count - " + objectCount);
    } catch (QBInvalidContextException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
    return objectCount;
}

ありがとう

于 2013-08-19T13:44:53.130 に答える