NetSuite错误:CustomFieldRef是抽象类型,无法实例化

问题描述:

我正在使用NetSuite WSDL。我被困在过去两天的这个错误。我在互联网上搜索,但无法找到解决方案。NetSuite错误:CustomFieldRef是抽象类型,无法实例化

我尝试使用Python添加在NetSuite的一个custom field但我得到的错误

zeep.exceptions.Fault: org.xml.sax.SAXException: {urn:core_2017_1.platform.webservices.netsuite.com}CustomFieldRef is an abstract type and cannot be instantiated 

任何形式的帮助将appretiated。提前致谢。

列表我用SelectCustomFieldRef代替CustomFieldRef解决的问题。即

new_record['companyName']= 'test_clinic1' 
new_record['firstName']= 'test_clinic_first_name1' 
new_record['altName']= 'test_clinic1' 
new_record['lastName']='test_last__clinic_name2' 
record = RecordRef(internalId=1, type='subsidiary') 
new_record['subsidiary'] = record 

customField= SelectCustomFieldRef() 
customField.internalId='285' 
customField.scriptId='custentity_profile_type' 
customField.value={ 
       'name': 'Clinic', 
       'internalId': '2', 
       'externalId': None, 
       'typeId': '31' 
      } 

new_record['customFieldList']=CustomFieldList(customField) 

该错误几乎不言自明,尽管没有帮助,除非您已经理解它。

如果你想编辑/创建自定义字段,你必须实例化正确的类型。

例如在Java中

StringCustomFieldRef strCF = new StringCustomFieldRef(); 
strCF.setInternalId(cfNSKey); 

你可以得到的类型在Netsuite docs

+0

如果你能在python中给出一个示例代码将会很有帮助。 –

+0

这将是但我不知道。基本的概念是你需要创建一个具体的类型。提供Java是因为这就是我所拥有的。 – bknights

+0

你能提供沙盒NetSuite的链接吗? –