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

在SuiteScript中如何阻止N/search返回带父项ID前缀的子项itemid

NetSuite Search模块获取带父项的物料ItemID正确格式方案

方法1:分别查询父项与子项ID自行拼接

在搜索列中同时包含子项自身的itemid和父项的itemid(通过join关联父记录),之后手动拼接成网页显示的换行格式:

require([
  'N/search',
], function (search) {
  const searchIns = search.create({
    type: 'serializedassemblyitem',
    filters: ['internalid', 'is', '123123'],
    columns: [
      'itemid',
      search.createColumn({
        name: 'itemid',
        join: 'parent'
      })
    ],
  });
  const results = searchIns.run();
  results.each((r) => {
    const parentId = r.getValue({name: 'itemid', join: 'parent'});
    const childId = r.getValue('itemid');
    const formattedId = `${parentId}\n${childId}`;
    console.log(formattedId);
    return true;
  });
});

方法2:使用公式字段直接生成目标格式

利用NetSuite的公式文本字段,通过公式语法拼接父项与子项ID并插入换行符(CHAR(10)对应换行):

require([
  'N/search',
], function (search) {
  const searchIns = search.create({
    type: 'serializedassemblyitem',
    filters: ['internalid', 'is', '123123'],
    columns: [
      search.createColumn({
        name: 'formulatext',
        formula: '{parent.itemid} || CHAR(10) || {itemid}'
      })
    ],
  });
  const results = searchIns.run();
  results.each((r) => {
    console.log(r.getValue({name: 'formulatext'}));
    return true;
  });
});

方法3:尝试用getText替代getValue

部分场景下,getText会返回与网页端一致的显示格式(包含换行),可替换getValue测试:

require([
  'N/search',
], function (search) {
  const searchIns = search.create({
    type: 'serializedassemblyitem',
    filters: ['internalid', 'is', '123123'],
    columns: ['itemid'],
  });
  const results = searchIns.run();
  results.each((r) => {
    console.log(r.getText('itemid'));
    return true;
  });
});

内容的提问来源于stack exchange,提问作者d.k

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 16:12:40