如何在提交后用户事件中修改客户退款

How to modify a Customer Refund in an After Submit User Event

保存新的客户退款记录后(提交用户事件后)我需要与外部 Web 服务通信,然后更新记录中的 2 个字段。执行此代码以加载客户退款时

var o = nlapiLoadRecord("customerrefund", 1906);

返回此错误消息:

INVALID_TRANS_TYP
Transaction type specified is incorrect.

我在 SuiteScript Developer & Reference Guide 的 "Chapter 60 SuiteScript Supported Records" 中找到了支持记录的列表,其中说明客户退款仅在服务器端脚本中可用。

我应该如何更新客户退款记录?

没有看到更多代码,看起来还不错。我会仔细检查 1906 的 internalId 是否正确。

此外,如果您只是提交两个字段,我会使用 nlapiSubmitField(),这将减少治理点数,并且对于 NetSuite 来说比 nlapiLoadRecord / nlapiSubmitRecord 更快。

你的代码看起来是正确的,如果你正在更新当前记录,我建议使用下面的代码来避免不正确 internalid:

var o = nlapiLoadRecord("customerrefund", nlapiGetRecordId());

此外,如果您需要更新字段,我建议您考虑使用 before submit 客户退款用户事件脚本,您可以使用 nlapiSetFieldValue(FIELD_ID, FIELD_VALUE) 更新字段。提交前的记录无需提交

如果你的脚本部署在客户退款记录中,你也可以做nlapiGetRecordType()。