Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Netsuite获取自定义字段Java的值_Java_Web Services_Soap_Netsuite_Suitetalk - Fatal编程技术网

Netsuite获取自定义字段Java的值

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对象,它是从ReadResponse转换而来的,如下所示:

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();
            }
        }