java - Netsuite,如何搜索 Open Vendor Bills(交易)
问题描述
看起来很简单,但与 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));
推荐阅读
- google-bigquery - BigQuery - 不能对范围聚合使用不同的计数
- apache-spark - kafka.common.KafkaException:错误的请求类型 18
- javascript - Javascript:选择 2 个单独的列表(选择选项)后执行 3 个操作
- javascript - 如何使用函数检查Hashmap的键和值然后返回输出?
- ios - ios UITabBarcontroller 自定义,如何实现如下tabbar架构师
- encryption - 可以为端到端加密的每条消息更改密钥对吗?
- javascript - 一页中不固定数量正方形的CSS大网格
- autoscaling - Spinnaker + AWS Autoscaling 生命周期挂钩
- llvm - 无效的 shufflevector 操作数!LLVM JavaCPP
- antlr4 - Antlr4:当有转义字符加回车,换行时单引号规则失败