Netsuite 从保存的搜索结果更新多条记录

Netsuite 从保存的搜索结果更新多条记录,netsuite,Netsuite,我有一个脚本(如下所示),可以执行以下操作: 获取当前记录的销售订单id 获取当前记录的“创建自”id 加载一个已保存的搜索,该搜索将搜索自定义文件中的所有条目 记录 使用从id创建的作为已保存搜索的筛选器 更新找到的自定义记录中的字段 所有的工作都很好,除了我遇到了一个路障时,超过1记录被发现 如何更新多个记录 关于如何做到这一点,有什么提示吗 代码: /** *@NApiVersion 2.x *@NScriptType ClientScript *@NModuleScope SameA

我有一个脚本(如下所示),可以执行以下操作:

  • 获取当前记录的销售订单id
  • 获取当前记录的“创建自”id
  • 加载一个已保存的搜索,该搜索将搜索自定义文件中的所有条目 记录
  • 使用从id创建的作为已保存搜索的筛选器
  • 更新找到的自定义记录中的字段
所有的工作都很好,除了我遇到了一个路障时,超过1记录被发现

如何更新多个记录

关于如何做到这一点,有什么提示吗

代码:

/**
*@NApiVersion 2.x
*@NScriptType ClientScript
*@NModuleScope SameAccount
*/
定义(['N/record','N/search'],
功能(记录、当前记录、搜索){
提交后的函数(上下文){
var currentRecord=context.newRecord;
var createdFrom=currentRecord.getValue({“fieldId”:“createdFrom”});
var salesOrderId=currentRecord.getValue({“fieldId”:“id”});
var mySearch=search.load({
id:“customsearch1086”
});
var filter1=search.createFilter({
名称:'custrecord\u estimate\u id',
操作员:search.operator.IS,
值:createdFrom
});
mySearch.filters.push(filter1);
var result=mySearch.run().getRange(0,1000);
var id=新数组();
对于(变量i=0;i
您可以将record.submitFields移动到循环中,循环遍历搜索结果。请注意治理使用限制。您不需要record.load调用-请将其删除

/**
     * @NApiVersion 2.x
     * @NScriptType ClientScript
      * @NModuleScope SameAccount
     */
    define(['N/record', 'N/search'], 
    function (record, currentRecord, search) {
        function afterSubmit(context) {
    var currentRecord = context.newRecord;
    var createdFrom = currentRecord.getValue({"fieldId": "createdfrom"});
    var salesOrderId = currentRecord.getValue({"fieldId": "id"});
    var mySearch = search.load({
         id: 'customsearch1086'
        });
    var filter1 = search.createFilter({
    name: 'custrecord_estimate_id',
    operator: search.Operator.IS,
    values: createdFrom
    });
    mySearch.filters.push(filter1);
    var result = mySearch.run().getRange(0, 1000);
    var ids = new Array();
    for (var i=0; i < result.length; i++) {
    ids.push(result[i].getValue({ name: 'id'}));
    }
    var gdid = parseInt(ids);
    if (gdid) {
    var myRecord = record.load({
    type: 'customrecord352', 
    id: gdid,
    isDynamic: true
    });
        record.submitFields({
            "type": 'customrecord352',
            "id": gdid,
            "values": {
            "custrecord_salesOrder_id": salesOrderId
            }
        });
    }
    else {
    // Do Nothing
    }

            return {
            afterSubmit: afterSubmit
    };
    }});