3

我搜索了 hi 和 lo,但找不到任何像样的参考资料,如何使用 SuiteTalk API 在 NetSuite 中获得发票的付款和未结金额。

文档不存在,样本也不存在,所以我在这里摸不着头脑。

当使用 get 方法检索发票时,我有点希望指定这些(字段 amountPaid 和 amountRemaining),但事实并非如此。

不幸的是,下一个停靠点是搜索已应用于目标发票的客户付款。搜索有效,但更糟糕的是,每笔付款都在没有任何申请详细信息的情况下返回,因此需要额外致电以获取所有申请详细信息并计算出应用于发票的总付款金额。

真的是唯一的方法吗?!

(而且我可能不得不考虑存款和存款申请,因为它们是单独的记录类型。叹息)

任何帮助表示赞赏

乔治

更新:工作代码示例

long internalInvoiceId = 42;
TransactionSearchAdvanced tsa = new TransactionSearchAdvanced()
{
    columns = new TransactionSearchRow()
    {
        basic = new TransactionSearchRowBasic()
        {
            total = new SearchColumnDoubleField[] { new SearchColumnDoubleField() },
            amount = new SearchColumnDoubleField[] { new SearchColumnDoubleField() },
            amountPaid = new SearchColumnDoubleField[] { new SearchColumnDoubleField() },
            amountRemaining = new SearchColumnDoubleField[] { new SearchColumnDoubleField() }
        }
    },
    criteria = new TransactionSearch()
    {
        basic = new TransactionSearchBasic()
        {
            mainLine = new SearchBooleanField()
            {
                searchValue = true,
                searchValueSpecified = true
            },
            type = new SearchEnumMultiSelectField()
            {
                @operator = SearchEnumMultiSelectFieldOperator.anyOf,
                operatorSpecified = true,
                searchValue = new string[] { "_invoice" }
            },
            internalIdNumber = new SearchLongField()
            {
                @operator = SearchLongFieldOperator.equalTo,
                operatorSpecified = true,
                searchValue = internalInvoiceId,
                searchValueSpecified = true
            }
        }
    }
};

SearchResult sr = nss.search(tsa);
4

2 回答 2

2

进行交易搜索。

标准:

主线:是
类型:发票
(可选)内部 ID:“发票的内部 ID”

结果/列:

已付
金额 剩余金额

将上面的内容翻译成 SuiteTalk API (TransactionSearchAdvanced),你应该可以得到你想要的。

于 2013-05-31T12:48:30.067 回答
0

这是一个使用 NetSuite ruby​​ 绑定的函数,用于检索发票上的剩余(到期)金额:

def amount_due_for_invoice(ns_invoice)
  search = NetSuite::Records::Invoice.search(
    criteria: {
      basic: [
        {
          field: 'type',
          operator: 'anyOf',
          value: %w(_invoice)
        },
        {
          field: 'mainLine',
          value: true
        },
        {
          field: 'internalIdNumber',
          operator: 'equalTo',
          value: ns_invoice.internal_id
        }
      ]
    },

    columns: {
      'tranSales:basic' => {
        'platformCommon:internalId/' => {},
        'platformCommon:amountRemaining' => {}
      }
    }
  )

  if search.results.size > 1
    fail "invoice search on internalId should never return more than a single result"
  end

  search.results.first.attributes[:amount_remaining].to_f
end

这里的另一种解决方案是创建一个自定义交易正文公式字段,该字段提取发票amountremainingtotalbox字段的值。

于 2016-09-18T00:44:23.453 回答