Netsuite上的计费时间表记录创建

时间:2018-11-12 05:20:51

标签: netsuite

我编写了一个脚本,该脚本使用afterSubmit()用户事件脚本为创建销售订单时的项目创建开票时间表记录。 将为每个物料创建开票计划记录,但也应在销售订单的行级字段“开票计划”中进行设置。详细信息This is the field marked where i need billing schedule to set附件

var rec =nlapiCreateRecord('billingschedule');

            var res = itemname.substring(0, 40);
            rec.setFieldValue('name',res);
            rec.setFieldValue('initialamount',itemamount);
            rec.setFieldValue('numberremaining','5');
            rec.setFieldText('frequency','Daily');

                                var sub = nlapiSubmitRecord(rec,true);
                                if(sub!=null)
                                    {
                                        nlapiSetLineItemValue('item','billingschedule',i+1,sub);
                                    }

1 个答案:

答案 0 :(得分:0)

您需要将记录加载到afterSubmit中,否则它是只读的。

var salesOrderId = nlapiGetRecordId();
var soRec = nlapiLoadRecord('salesorder', salesOrderId);
// DO YOUR BILLING SCHEDULE CREATION LINE WORK
var soLines = soRec.getLineItemCount('item');
// SS1 indexes start at 1
for (var x = 1; x <= soLines; x++) {
    var rec =nlapiCreateRecord('billingschedule');  
    var res = itemname.substring(0, 40);
    rec.setFieldValue('name',res);
    rec.setFieldValue('initialamount',itemamount);
    rec.setFieldValue('numberremaining','5');
    rec.setFieldText('frequency','Daily');
    var sub = nlapiSubmitRecord(rec,true);
    if(sub!=null) {
        soRec.setLineItemValue('item','billingschedule', x, sub);
    }
}
// Submit the record to save the values
 nlapiSubmitRecord(soRec);