首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >限制NetSuite返回的invoice对象数量

限制NetSuite返回的invoice对象数量
EN

Stack Overflow用户
提问于 2016-06-30 04:39:44
回答 0查看 365关注 0票数 0

我正在与客户的NetSuite帐户集成工作,其中包括提取发票数据,以便创建“第一个销售日期”(创建的第一个发票)和“最后的销售日期”(创建的最新发票)。我的问题涉及限制响应中返回的发票数量,因为目前在他们的系统中大约有265,000个发票记录-其中数百个可以属于一个客户记录。有没有办法只为每个客户请求两个必要的发票记录?

下面是我在C#中的当前代码:

代码语言:javascript
复制
int invoiceCount = 0;

private void searchInvoices()
{
    // This operation requires a valid session 
    this.login(true);

    TransactionSearch transactionsSearch = new TransactionSearch();
    TransactionSearchBasic transactionSearchBasic = new TransactionSearchBasic();

    transactionSearchBasic.type = new SearchEnumMultiSelectField();
    transactionSearchBasic.type.@operator = SearchEnumMultiSelectFieldOperator.anyOf;
    transactionSearchBasic.type.operatorSpecified = true;
    transactionSearchBasic.type.searchValue = new string[] { "_invoice" };

    transactionsSearch.basic = transactionSearchBasic;

    SearchResult transactionResponse = _service.search(transactionsSearch);

    Invoice[] invoices = new Invoice[transactionResponse.totalRecords];

    if (transactionResponse.status.isSuccess)
    {
        if (transactionResponse.totalRecords > 0)
        {
            for (int i = 1; i <= transactionResponse.totalPages; i++)
            {
                invoices = processTransactionSearchResponse(transactionResponse, invoices);

                if (transactionResponse.pageIndex < transactionResponse.totalPages)
                {
                    this.setPreferences();
                    this.login(true);
                    transactionResponse = _service.searchMoreWithId(transactionResponse.searchId, i + 1);

                }
            }
        }
        else
        {
            _out.info("\nNothing found.");
        }
    }
}

private Invoice[] processTransactionSearchResponse(SearchResult transResult, Invoice[] invoices)
{
    Record[] transactionRecords = transResult.recordList;
    Invoice invoice = new Invoice();

    foreach (Record rec in transactionRecords)
    {
        invoice = (Invoice)rec;
        invoices[invoiceCount] = invoice;

        invoiceCount++;
    }

    return invoices;
}
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38109643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档