NetSuite Ruby gem按子公司或客户获取配送方式列表方案咨询
解决方案
多子公司架构下NetSuite的shipMethod(配送方式)属于关联依赖字段,需要传入上游关联字段的值才能拿到过滤后的结果,API返回的警告已明确要求传入entity(客户)字段值,有两种实现方案:
方案1:按指定客户获取配送方式
和前端表单逻辑一致,传入客户ID后会自动关联该客户对应的子公司,返回匹配的配送方式列表:
# 替换为实际客户的内部ID customer_internal_id = 1234 entity_ref = NetSuite::Records::BaseRef.new(internal_id: customer_internal_id, type: 'customer') ship_methods = NetSuite::Records::BaseRefList.get_select_value({ recordType: "salesOrder", field: "shipMethod", filters: { entity: entity_ref } }).base_refs
方案2:直接按子公司获取配送方式
如果不需要绑定具体客户,可直接传入子公司ID过滤:
# 替换为实际子公司的内部ID subsidiary_internal_id = 56 subsidiary_ref = NetSuite::Records::BaseRef.new(internal_id: subsidiary_internal_id, type: 'subsidiary') ship_methods = NetSuite::Records::BaseRefList.get_select_value({ recordType: "salesOrder", field: "shipMethod", filters: { subsidiary: subsidiary_ref } }).base_refs
注意事项
- 传入的关联字段ID要和当前API请求的角色权限匹配,否则依然会返回空结果
- 若账号开启了配送方式和客户、子公司的双重校验,优先选择方案1,和前端表单逻辑完全对齐
内容的提问来源于stack exchange,提问作者Wojtek Kruszewski
相关产品推荐
相关产品推荐

