NetSuite 在 SuiteScript 中使用记录上的任何字段查找记录 ID

NetSuite Look-up Record ID Using any Field On a Record in SuiteScript

我们使用自定义细分来跟踪销售订单的销售渠道。销售渠道自定义细分记录具有三个字段:Internal ID, Name, Raw_Channel。示例值为:

1, Amazon.com, AMAZON_COM
2, Amazon.ca, AMAZON_CA
3, Amazon.uk, AMAZON_UK

Raw_Channel 是销售订单上的一个文本字段,当我们的市场连接器将订单导入 NetSuite 时(该连接器从各个亚马逊市场提取订单并将其导入 NetSuite),该字段将被填充。

我希望做的是使用 Raw_Channel 字段查找销售渠道 ID 并使用记录提交脚本后设置销售渠道下拉自定义细分字段的值。下面是一个开始,但它显然不会工作,因为 nlapiLookUpField 使用 Internal ID 来查找值,但我只有 Raw_Channel 作为参考,而不是 ID。

我的最终问题是,如何使用非 ID 字段作为查找字段来获取销售渠道内部 ID?非常感谢您的帮助!

function setChannel (){
    var rawchannel = nlapiGetFieldValue('custbody_raw_channel')
    var channelid = nlapiLookUpField('cseg_tt_channel', rawchannel, 'id')
    nlapiSetFieldValue('custbody_cseg_tt_channel', channelid)
}

nlapiLookUpField 只有在您已经拥有记录的内部 ID 时才有用。

您将需要使用 nlapiSearchRecordnlapiCreateSearch 以及原始频道的过滤器来构建搜索。

您可以在帮助中心阅读有关脚本搜索的更多信息here

我发现 this Chrome extension 在 SuiteScript 中构建搜索时非常有用。它允许您在 UI 中创建搜索并自动生成 SuiteScript 代码。