微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SuiteScript 在到期日将信用卡保存给客户失败

如何解决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 举报,一经查实,本站将立刻删除。