我编写了一个脚本,该脚本使用afterSubmit()用户事件脚本为创建销售订单时的项目创建开票时间表记录。 将为每个物料创建开票计划记录,但也应在销售订单的行级字段“开票计划”中进行设置。详细信息附件
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);
}
答案 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);