看起来很简单,但是对于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行注释掉,则所有交易(包括我想要的状态为“ Open”的交易)都可以正常进行,但是当它在那里时,我什么也收不到。不用说,将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));

关于java - Netsuite,如何搜索未清供应商账单(交易),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61609945/

10-09 05:52
查看更多