SuiteScript 2.0尝试从客户记录中获取送货地址并在销售订单上进行设置

时间:2019-05-20 20:10:42

标签: netsuite suitescript2.0

我正在尝试编写一个用户事件脚本,如果设置了自定义字段,该脚本将更改销售订单上的实体。我正在尝试从原始客户那里提取默认的送货地址。

我尝试使用context.oldRecord,它在编辑时有效,但是在创建销售订单时,由于oldRecord不存在,这会导致错误。如果我尝试将其作为afterSubmit进行操作,则该实体不会更改。在这里查看其他答案时,我无法确切确定如何在SS 2.0中执行此操作,我们将不胜感激。

function beforeSubmit(context) {
        var salesOrder = context.newRecord;
        var readerChild = salesOrder.getValue('custbody_cdp_readlink_retailer_child');

        if (readerChild){
            var custy = record.load({
                type: record.Type.CUSTOMER,
                id: salesOrder.getValue('entity')
            });

            var country = custy.getValue('shipcountry');
            var addressee = custy.getValue('shipaddressee');
            var addr1 = custy.getValue('shipaddr1');
            var addr2 = custy.getValue('shipaddr2');
            var attention = custy.getValue('shipattention');
            var city = custy.getValue('shipcity');
            var state = custy.getValue('shipstate');
            var zip = custy.getValue('shipzip');

            salesOrder.setValue('entity', readerChild);

            salesOrder.setValue('shipaddresslist', null);

            salesOrder.setValue({
                fieldId: 'shipcountry',
                value: country
            });

            salesOrder.setValue({
                fieldId: 'shipcity',
                value: city
            });

            salesOrder.setValue({
                fieldId: 'shipstate',
                value: state
            });

            salesOrder.setValue({
                fieldId: 'shipzip',
                value: zip
            });

            salesOrder.setValue({
                fieldId: 'addr1',
                value: addr1
            });

            salesOrder.setValue({
                fieldId: 'addr2',
                value: addr2
            });

            salesOrder.setValue({
                fieldId: 'addressee',
                value: addressee
            });

            salesOrder.setValue({
                fieldId: 'attention',
                value: attention
            });

1 个答案:

答案 0 :(得分:0)

仅当从现有记录而不是新创建的记录触发脚本时,才从context.oldRecord获取记录对象。