在 NetSuite 下拉列表中显示自定义文本而不创建单独的字段?

Show custom text in a NetSuite drop down without creating separate field?

我已经通过创建一个单独的字段然后镜像信息来完成这项工作,但是有没有办法更改下拉列表文本中显示的内容?我有一个位置列表。现在,它只显示位置名称,但我需要它显示位置编号,然后是名称,因此,“100 Location A”而不仅仅是 "Location A"。是否有捷径可寻?我有包含两条信息的字段,我只想将它们连接起来。我现在为完成此操作而采用的方法需要很长时间来填充新字段,因为其中有几个位置。大约需要 5 秒,我会说,我只想让它更快。

不幸的是,我认为您将不得不为此创建一个新字段,但不一定是 'new' 字段,这可能会导致混淆。这听起来可能很棘手,但您要做的是通过代码添加自定义字段并隐藏自然位置字段。在 beforeLoad 中,您可以隐藏自然 Location 字段,并添加一个新的 select 字段。通过代码添加字段的好处是您可以决定文本值的存在,以及每个值的内部 ID 是什么。在您的 beforeLoad 中搜索将 return 您想要的位置、名称、ID 等。根据结果动态构建对象,将对象的 属性 名称设置为类似“100 Location A”的名称,及其对 Location 内部 ID 的值。获得对象后,您可以使用 Object.keys(objName).forEach(function (属性Name) {}) 对其进行迭代,为新的自定义列表字段设置 Select 选项.请确保您在此代码中考虑了用户权限,运行 UE 作为管理员,或使用 SUITElet 来 运行 位置搜索和 return 您的对象。您还需要确保您正在检查自然位置字段是否已经在您的 beforeLoad 中设置,如果您想要获取它的值以便在您的自定义列表字段上设置 Default selection适当地。从那里您只需要确保将自然位置字段设置为在 beforeSubmit 函数的自定义字段中选择的任何内容。我过去做过类似的事情,它对性能没有明显影响,即使它是在搜索数千条交易记录,而不仅仅是几个位置。需要完成一些工作,但如果做得好,没有人能够通过与记录交互来判断是否有任何更改。希望对您有所帮助!