2013-05-29 114 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字段。