Netsuite 获取自定义字段的值 Java

Netsuite get value of custom field Java

我有一个从 ReadResponse 转换而来的 SalesOrder 对象,如下所示:

SalesOrder salesOrder = ((SalesOrder) response.getRecord());

如何访问附加到 SalesOrder 对象的各个订单项中自定义字段的值?

到目前为止我已经有了这个,如果我需要的值是一个常规字段,它会完美地工作:

for(SalesOrderItem item: salesOrder.getItemList().getItem()){
    //etc...    
}

我还可以访问与订单项关联的所有自定义字段的 names/internalIDs,如下所示:

for(CustomFieldRef field: item.getCustomFieldList().getCustomField()){
        _console.info(field.getScriptId() + " : " + field.getInternalId());
}

如何将这些用于 return 值?还是我根本走错了路?

问题是我必须将该字段转换为适当的 "Custom Field" 类型才能访问 "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();
            }
        }