You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SuiteScript1.0客户端脚本能否调用getFieldText等服务端函数?

SuiteScript 1.0 客户端获取成本类别字段文本值解决方案

SuiteScript 1.0 客户端环境没有原生提供getFieldText类的直接方法,可通过以下两种方案实现需求:

方案1:编辑模式下直接读取表单DOM

适用于脚本运行在记录编辑页面的场景,无需额外调用搜索接口:

  • 先通过nlapiGetFieldValue()方法拿到成本类别字段的存储值(内部ID)
  • 再读取下拉选项的展示文本,示例代码如下:
// 替换为你实际使用的成本类别字段ID
const costCategoryFieldId = 'custbody_cost_category';
const fieldElement = document.getElementById(nlapiGetField(costCategoryFieldId).getId());
const costCategoryText = fieldElement.options[fieldElement.selectedIndex].text;

注意:该方法仅适用于编辑模式,查看模式下字段无下拉DOM结构,无法生效。

方案2:调用客户端搜索接口拉取文本(全模式兼容)

兼容查看、编辑两种页面模式,适用所有字段类型:

  • 先通过nlapiGetFieldValue()拿到成本类别的内部ID
  • 调用SuiteScript 1.0客户端支持的nlapiSearchRecord查询对应记录的名称字段,示例代码如下:
// 替换为你实际使用的成本类别字段ID
const costCategoryFieldId = 'custbody_cost_category';
const costCategoryId = nlapiGetFieldValue(costCategoryFieldId);
let costCategoryText = '';

if (costCategoryId) {
  // 标准成本类别记录类型ID为costcategory,自定义记录请替换为对应ID
  const searchResult = nlapiSearchRecord('costcategory', costCategoryId, null, [new nlobjSearchColumn('name')]);
  if (searchResult?.length) {
    costCategoryText = searchResult[0].getValue('name');
  }
}

补充:如果你的成本类别是自定义记录类型,把nlapiSearchRecord的第一个参数替换为对应的自定义记录类型ID即可。

内容的提问来源于stack exchange,提问作者Nick the coder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 16:45:02