代码之家  ›  专栏  ›  技术社区  ›  bogus

python-如何使用netsuite webservices设置自定义字段

  •  2
  • bogus  · 技术社区  · 6 年前

    我正在尝试使用WebServices在NetSuite中设置自定义字段。 我使用的wsdl是: https://webservices.netsuite.com/wsdl/v2017_2_0/netsuite.wsdl

    目前我正在测试创建一个客户。以下是我目前掌握的情况:

    def add_customer():
      client = login_client()
      RecordRef = client.get_type('ns0:RecordRef')
      Customer = client.get_type('ns13:Customer')
      customer = Customer(
        companyName='TEST',
        subsidiary = RecordRef(internalId='5', type='subsidiary')
      )
      response = client.service.add(customer)
      print(response) 
    
    add_customer()
    

    这工作得很好,但是现在我试图设置一个带有id的自定义字段 custfield1 在做了一些搜索之后,我发现:

    http://www.netsuite.com/help/helpcenter/en_US/srbrowser/Browser2016_2/schema/other/customfieldlist.html?mode=package

    从这个链接我知道我需要使用 CustomFieldRef ,我只是不确定如何实施。

    1 回复  |  直到 6 年前
        1
  •  2
  •   bogus    6 年前

    我找到了一个办法:

    def add_customer():
       client = login_client()
       RecordRef = client.get_type('ns0:RecordRef')
       StringCustomFieldRef = client.get_type('ns0:StringCustomFieldRef') #StringCustomFieldRef
       CustomFieldList = client.get_type('ns0:CustomFieldList') #To go from object to list
    
       #Cust field 1
       acctName = StringCustomFieldRef()
       acctName.internalID = '1569'
       acctName.scriptId = 'custentity_account_name'
       acctName.value = 'testData'
    
       #custField2
       acctID= StringCustomFieldRef()
       acctID.internalId= '1596'
       acctID.scriptId= 'custentity_sf_account_id'
       acctID.value = 'FIELD DATA'
    
       Customer = client.get_type('ns13:Customer')
       customer = Customer(
          companyName='TEST',
          entityId='TEST ID',
          subsidiary = RecordRef(internalId='5', type='subsidiary'),
          customFieldList = CustomFieldList([acctID,acctName]) #List of cust objects
       )
       response = client.service.add(customer)
       print(response)
    
    add_customer()
    

    您必须对正在使用的字段使用ref类型: https://system.na1.netsuite.com/app/help/helpcenter.nl?fid=section_n3458179.html