我正在使用netsuite红宝石,并且发票和客户之间的关联存在问题,想知道我是否缺少明显的东西。
我们有一个invoice
与customer
相关联。我们在external_id
上设置了customer
(通过来自Salesforce的celigo同步),并且在直接查询时可以在customer
上看到它:
customer = NetSuite::Records::Customer.get("14829")
customer.internal_id
# "14829"
customer.external_id
# "xxxxxxxxxxxxxx1"
但是,当我们查询发票时,external_id
上的type
和entity
都是nil
:
NetSuite::Records::Invoice.get("79502").entity
# #<NetSuite::Records::RecordRef:0x00007fb30aa63cf8 @internal_id="14829", @external_id=nil, @type=nil, @attributes={:name=>"customer name"}>
这也使我们无法使用external_id
进行搜索,例如:
search_params = {
criteria: {
basic: [{
field: 'internalId',
operator: 'anyOf',
value: [ NetSuite::Records::Invoice.new(internal_id: '79502') ]
}],
customerJoin: [{
field: 'internalId',
operator: 'anyOf',
# value: [ NetSuite::Records::Customer.new(internal_id: '14829') ] # this works
value: [ NetSuite::Records::Customer.new(external_id: 'xxxxxxxxxxxxxx1') ] # this returns a `INVALID_KEY_OR_REF` error
}]
}
}
NetSuite::Records::Invoice.search(search_params)
我想知道是否错过了从发票中获取关联的entity
的东西。任何见解将不胜感激!谢谢!
答案 0 :(得分:2)
如果您使用的是外部ID,则需要更改
customerJoin: [{
field: 'internalId',
operator: 'anyOf',
value: [ NetSuite::Records::Customer.new(external_id: 'xxxxxxxxxxxxxx1') ]
}]
对此
customerJoin: [{
field: 'externalId',
operator: 'anyOf',
value: [ NetSuite::Records::Customer.new(external_id: 'xxxxxxxxxxxxxx1') ]
}]
您设置的外部ID位于客户记录的其他字段中。