如何通过nlapi方法在saveRecord函数中保存多条记录?

How to save multiple records in the saveRecord function through nlapi methods?

我已经自定义了默认促销表单,如果用户点击特定促销,该表单将显示使用 jquery 的动态元素(因为我们尚未为此创建字段或 lists/records要求)。

因此,根据数据,我们可能需要在提交表单时创建多条记录。我在已经映射到表单的 js 文件中创建了 saveRecord() 函数。我正在尝试动态创建 promotionRecord。但是无法保存我收到 "the items you requested in the record have been deleted since you retrieved the form" 错误的记录。可能是什么问题,是否可以在单个表单提交中保存多条记录?

departments = Object.keys(samplePromotions);
  $.each(departments, function(key,value){
    console.log(samplePromotions[value]);
    promotion = nlapiCreateRecord('customrecord_promotion');
    console.log(promotion);
    //required
    promotion.setFieldValue('name','jAVASCRIPT pROMOTION cREATION_'+value);
    promotion.setFieldValue('custrecord_px_promotion_id','js_prom_creation_'+value);
    id = (Math.round(new Date().getTime()/1000));
    console.log(id);
    promotion.setFieldValue('id',id);

    var id = nlapiSubmitRecord(promotion);

必须是这一行

promotion.setFieldValue('id',id);

记录对象的id字段包含记录的内部id。这是在您创建记录时由 NetSuite 生成的。

不确定这是否是您的代码中的问题,但要回答您的问题,您只能提交一条带有 API 的记录。

我只想创建一个数组并遍历它的长度,然后为每个数组调用 nlapiCreateRecordnlapiSubmitRecord

-- 编辑 对此不确定,但这对我来说看起来很奇怪。您正在使用 setFieldValue 方法设置 id,我认为这是外部 ID。然后您使用 nlapiSubmitRecord 调用再次设置设置 id。这 returns 内部 ID。也许这也会引起问题?