Netsuite库存项目自定义字段更新

Netsuite库存项目自定义字段更新,netsuite,Netsuite,我试图弄清楚如何在Netsuite中更新InventoryItem记录上的自定义字段。我可以更新常规字段,但似乎无法更新任何内容 InventoryItem item = new InventoryItem(); WriteResponse response; List<CustomFieldRef> oCustomFieldRefList = new List<CustomFieldRef>(); item.internalId = "9"; StringCustom

我试图弄清楚如何在Netsuite中更新InventoryItem记录上的自定义字段。我可以更新常规字段,但似乎无法更新任何内容

InventoryItem item = new InventoryItem();
WriteResponse response;
List<CustomFieldRef> oCustomFieldRefList = new List<CustomFieldRef>();

item.internalId = "9";
StringCustomFieldRef objStringCustomFieldRef = new StringCustomFieldRef();
objStringCustomFieldRef.internalId = "custitem_main_photo";
objStringCustomFieldRef.value = "http://www.google.com/test.jpg";
oCustomFieldRefList.Add(objStringCustomFieldRef); 

item.customFieldList = oCustomFieldRefList.ToArray();
response = _nsService.update(item);
InventoryItem=newinventoryItem();
书写反应;
List oCustomFieldRefList=新列表();
item.internalId=“9”;
StringCustomFieldRef objStringCustomFieldRef=新StringCustomFieldRef();
objStringCustomFieldRef.internalId=“custitem\u main\u photo”;
objStringCustomFieldRef.value=”http://www.google.com/test.jpg";
oCustomFieldRefList.Add(objStringCustomFieldRef);
item.customFieldList=ocustomFieldRelist.ToArray();
响应=\n服务更新(项目);

更新调用返回的状态为Success。它只是不更新自定义字段。我尝试了不同的字段和类型,但似乎没有保存任何内容。

自定义字段的internalId是数字id,而不是字符串id。不确定为什么文档中都显示字符串id值,但使用数字解决了我的问题。

不是分配内部id,而是分配scriptId

转这个

objStringCustomFieldRef.internalId = "custitem_main_photo";
为此:

objStringCustomFieldRef.scriptId = "custitem_main_photo";

该字段是否显示在Web服务日志中的SOAP请求中?如果不是,NetSuite会认为该值为空。Hi@Brian NetSuite是否有任何特定权限才能更新自定义字段列表?