NetSuite 开发日记:创建 Transfer(转账单)

经测试,截止到 2022.12.26,Transfer 只能使用 Client 脚本创建,使用服务端脚本创建报错:ReferenceError: "document" is not defined. (NLRecordScripting.scriptInit$lib#440)
猜测:NS 的服务端脚本底层代码存在 BUG

  1. 使用代码新建 Transfer 保存后,查看记录发现:
    1. fromamounttoamount 字段值并非我们所设置的值
    2. exchangerate 字段根据fromamounttoamount 字段变化,等于toamountfromamount
    3. Accounting Books 行上的值会根据头上自动带出,无需赋值
  2. 经测试发现:fromamounttoamount 字段两者后设置的值会覆盖前设置的值
  3. 使用代码编辑并修改记录的fromamounttoamount 字段可以解决第2步中的问题:
    1. 使用record.submitFields()方法会报错
    2. 使用record.load()方法可以修改数据,但只支持标准模式
var rec = record.create({
	type:'transfer',
	isDynamic:false // 只支持标准模式创建,不支持动态模式创建
});
rec.setValue('fromaccount','960')
rec.setValue('toaccount','963')
rec.setValue('trandate',new Date())
rec.setValue('fromamount',499985.00)
rec.setsetValueText('toamount',3222303.33)
rec.setValue('exchangerate','6.4448')
var id = rec.save();

// 只支持标准模式加载,不支持动态模式加载
var rec = record.load({type:'transfer',id:transferId,isDynamic:false});
rec.setValue('fromamount',499985.00)
rec.setValue('toamount',3222303.33)
rec.save()
posted @ 2022-12-26 21:54  橙噫i  阅读(111)  评论(0编辑  收藏  举报