![](/img/trans.png)
[英]Programmatically edit approval status of vendor bills using NetSuite SOAP API
[英]Netsuite, how to search for Open Vendor Bills (Transactions)
看起來很簡單,但與 .netsuite 一樣,這很痛苦。 這是我到目前為止所擁有的:
TransactionSearch invoiceSearch = new TransactionSearch();
TransactionSearchBasic invoiceSearchBasic = new TransactionSearchBasic();
SearchEnumMultiSelectField criteria = new SearchEnumMultiSelectField();
criteria.setOperator(SearchEnumMultiSelectFieldOperator.ANY_OF);
String[] statuses = new String[] { TransactionStatus.BILL_OPEN.toString() };
stats.getSearchValue().addAll(Arrays.asList(statuses));
invoiceSearchBasic.setStatus(stats);
如果我注釋掉 invoiceSearchBasic.setStatus 行,我會得到所有交易(包括我想要的狀態為“打開”的交易),但是當它出現時我什么也得不到。 不用說將 TransactionStatus.BILL_OPEN.toString() 更改為“Open”也不起作用,那太容易了!
好的,我已經解決了。 對於其他人來說,這就是問題所在:
來自 TransactionStatus 枚舉:
@XmlEnumValue("_billOpen")
BILL_OPEN("_billOpen")
當您記錄 toString 值時,它會給出BILL_OPEN (不是_billOpen )
但我們需要的是_billOpen !
解決方案:
SearchEnumMultiSelectField criteria = new SearchEnumMultiSelectField();
criteria.setOperator(SearchEnumMultiSelectFieldOperator.ANY_OF);
String[] statuses = new String[] { "_billOpen" };
criteria.getSearchValue().addAll(Arrays.asList(statuses));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.