Netsuite获取自定义字段Java的值
我有一个SalesOrder对象,它是从ReadResponse转换而来的,如下所示:Netsuite获取自定义字段Java的值,java,web-services,soap,netsuite,suitetalk,Java,Web Services,Soap,Netsuite,Suitetalk,我有一个SalesOrder对象,它是从ReadResponse转换而来的,如下所示: SalesOrder salesOrder = ((SalesOrder) response.getRecord()); for(CustomFieldRef field: item.getCustomFieldList().getCustomField()){ _console.info(field.getScriptId() + " : " + field.getInternalId()
SalesOrder salesOrder = ((SalesOrder) response.getRecord());
for(CustomFieldRef field: item.getCustomFieldList().getCustomField()){
_console.info(field.getScriptId() + " : " + field.getInternalId());
}
如何访问附加到SalesOrder对象的各个行项目中的customfields值
到目前为止,我已经有了这个,如果我需要的值是一个正则字段,它将非常有效:
for(SalesOrderItem item: salesOrder.getItemList().getItem()){
//etc...
}
我还可以访问与行项目关联的所有自定义字段的名称/内部ID,如下所示:
SalesOrder salesOrder = ((SalesOrder) response.getRecord());
for(CustomFieldRef field: item.getCustomFieldList().getCustomField()){
_console.info(field.getScriptId() + " : " + field.getInternalId());
}
如何使用这些返回值?或者我的路径根本不对?问题是我必须将字段强制转换为适当的“自定义字段”类型才能访问“getValue()”函数。像这样:
//loop through custom fields for custom field data.
for(SearchColumnCustomField field: fieldArray){
//_console.writeLn(field.getInternalId() + " " + field.getScriptId());
//Then we are at the [Custom Field internalId: 1855].
if (field.getInternalId().equals("1855")){
SearchColumnStringCustomField searchBodyField = (SearchColumnStringCustomField)field;
couponCode = searchBodyField.getSearchValue();
}
//Then we are at the [Custom Field internalId: 681]
if (field.getInternalId().equals("681")){
SearchColumnStringCustomField searchBodyField = (SearchColumnStringCustomField)field;
orderId = searchBodyField.getSearchValue();
}
}