2013-05-29 62 views
2

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

文档是不存在的,样本也是如此,所以我在黑暗中戳动。

当使用get方法检索发票时,我期待这些被指定(字段amountPaid和amountRemaining),但它们不是。

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

难道是真的只有吗?!

(我可能将不得不考虑存款和存款应用,因为它们是独立的记录类型的叹息。)

任何帮助表示赞赏

乔治

UPDATE:工作代码示例

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); 

回答

2

做交易搜索。

标准:

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

结果/列 “您的发票内部ID”:

已付金额
剩余金额

将上述内容转换为SuiteTalk API(TransactionSearchAdvanced),您应该能够得到你想要的东西。

+0

不是最简单的API使用,呵呵。很多未记录的值,例如交易类型和金额与总额之间的差异是什么?无论如何,它的工作非常感谢! – georged

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字段。