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

如何在SuiteScript中获取指定交易记录的系统备注?搜索遇错求助

获取指定交易记录的系统备注(SuiteScript)

你之前的错误原因是:搜索SYSTEM_NOTE时,仅用record字段传记录ID无法让NetSuite识别对应的记录类型,需要结合记录类型一起过滤,或者使用recordtype+recordid的组合过滤器。

以下是两种可行的实现方式:

方式一:组合记录类型与ID到record字段

直接在record字段的值中拼接记录类型和ID,格式为[记录类型]:[记录ID],操作符使用IS即可:

// 替换为你的交易类型(如salesorder、invoice)和记录ID
var targetRecord = 'salesorder:2252668';

var systemNoteSearch = search.create({
    type: search.Type.SYSTEM_NOTE,
    filters: [{
        name: 'record',
        operator: search.Operator.IS,
        values: targetRecord
    }],
    columns: ['note', 'date', 'author'] // 根据需求选择需要的字段
});

// 执行搜索并处理结果
var noteResults = systemNoteSearch.run().getRange({start: 0, end: 1000});
noteResults.forEach(function(result) {
    var noteContent = result.getValue('note');
    var noteDate = result.getValue('date');
    // 这里添加你的业务逻辑
});

方式二:分开使用recordtype和recordid过滤器

这种方式更清晰,适合动态获取当前记录类型和ID的场景(比如交易表单上的按钮脚本):

// 如果是在客户端脚本中,可直接获取当前交易的类型和ID
var currentRec = currentRecord.get();
var recType = currentRec.type;
var recId = currentRec.id;

var systemNoteSearch = search.create({
    type: search.Type.SYSTEM_NOTE,
    filters: [
        ['recordtype', search.Operator.IS, recType],
        'AND',
        ['recordid', search.Operator.IS, recId]
    ],
    columns: ['note']
});

// 执行搜索
var results = systemNoteSearch.run().getRange({start: 0, end: 1000});
// 遍历结果提取系统备注
results.forEach(function(res) {
    console.log('系统备注:' + res.getValue('note'));
});

内容的提问来源于stack exchange,提问作者edamazzio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 21:00:59