如何解决SuiteScript 在到期日将信用卡保存给客户失败
我正在尝试将一些客户详细信息保存到客户记录中。我已经创建了这个方法,但是当我输入过期日期时它失败了。
function addCreditCard(rec,data){
rec.selectNewLine({
sublistId: 'creditcards',});
rec.setCurrentSublistValue({
sublistId : 'creditcards',fieldId : 'paymentmethod',value : data.paymentmethod
});
rec.setCurrentSublistValue({
sublistId : 'creditcards',fieldId : 'ccnumber',value : data.ccnumber
});
rec.setCurrentSublistValue({
sublistId : 'creditcards',fieldId : 'ccname',value : data.ccname
});
log.debug("CC Expire Date","'" + data.ccexpiredate + "'")
rec.setCurrentSublistValue({
sublistId : 'creditcards',fieldId : 'ccexpiredate',value : data.ccexpiredate
});
rec.commitLine({
sublistId: 'creditcards'
});
}
我收到的错误是
{
"type": "error.SuiteScriptError","name": "INVALID_FLD_VALUE","message": "You have entered an Invalid Field Value 08/2023 for the following field: ccexpiredate","stack": [
REDACTED
],"cause": {
"type": "intenal error","code": "INVALID_FLD_VALUE","details": "You have entered an Invalid Field Value 08/2023 for the following field: ccexpiredate","userEvent": null,"stackTrace": [
REDACTED
],"notifyOff": false
},"id": "","notifyOff": false,"userFacing": true
}
我可以看到保存在 NetSuite 中的信用卡格式为 MM/YYYY,在 NetSuite 帮助文件中我可以看到它是一个字符串字段。我错过了什么?为什么我的过期日期不保存?
解决方法
要使其正常工作,您需要将日期格式化为 Netsuite 接受的日期。 'N/format' 模块有助于实现这一点。
format.parse(expirationDate,format.Type.MMYYDATE)
上面返回的是Date对象,请注意SuiteScript记录浏览器概述了ccexpiredate字段是mmyydate类型并且(不清楚它是接受String还是Date对象),但上面的代码适用于它。前段时间我遇到了类似的问题,因此该代码帮助我解决了该问题。请告诉我它是否适合您。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。