Suitescript 2.0 record.load 潜在客户或潜在客户

Suitescript 2.0 record.load either Lead or Prospect

我创建了一个用户事件脚本,用于根据 afterSubmit 上的新 phone 通话记录更新潜在客户自定义字段。它从 phone 调用事件中实体 ID 的 ID 加载客户。它工作正常,但它只加载潜在客户记录。我如何微调此脚本以获取实体类型,然后使用它来确定要加载的记录类型?

function afterSubmit(context) {
                var phoneRec = context.newRecord;
                var checkbox1 = phoneRec.getValue({
                    fieldId: 'custevent_field1'
                });
                var checkbox2 = phoneRec.getValue({
                    fieldId: 'custevent_field2'
                });

                var custId = phoneRec.getValue({
                    fieldId: 'company'
                });

                if(custId && checkbox1 == true) {
                    var loadedcust = record.load({
                        type : record.Type.LEAD,
                        id : custId});
                        loadedcust.setValue({
                            fieldId:'custentity_filed1',
                            value: true });
                            loadedcust.save();
                }

                if(custId && checkbox2 == true) {
                    var loadedcust = record.load({
                        type : record.Type.LEAD,
                        id : custId});
                        loadedcust.setValue({
                            fieldId:'custentity_field2',
                            value: true });
                            loadedcust.save();
                }
        }

        return {afterSubmit}

不确定如何仅从 id 值中提取更多实体信息。任何见解都会有所帮助。

是的,您应该可以只使用客户。

此外,除非您的值是独占的,否则您还可以执行以下操作以加快 return 速度:


define(['N/record',...], function(record,...){ // include record module in your define

function afterSubmit(context) {
    var phoneRec = context.newRecord;
    var checkbox1 = phoneRec.getValue({
        fieldId: 'custevent_field1'
    });
    var checkbox2 = phoneRec.getValue({
        fieldId: 'custevent_field2'
    });

    var custId = phoneRec.getValue({
        fieldId: 'company'
    });

    var updates = {};
    var anyUpdate = false;

    if(custId && checkbox1 == true) {
        updates.custentity_filed1 = true; //not field1?
        anyUpdate = true;
    }

    if(custId && checkbox2 == true) {
        updates.custentity_field2 = true;
        anyUpdate = true;
    }

    if(anyUpdate){ //single update. No need to load record twice nor submit it twice.
        record.submitFields({
            type:'customer',
            id:custId,
            values:updates
        })
    }

}

return {afterSubmit}
}