Update last phone call date to the custom field of a customer record

Jira Code: MR-144

When we make a phone call from the customer record communication tab, it will get the employee category and based on the employee category it is setting the values to the different fields.

/**
 * @NApiVersion 2.x
 * @NScriptType workflowactionscript
 */

/**
 * Script Description: based on the Phone call by the user update the custom fields. 
 */

/*******************************************************************************
 * 
 * **************************************************************************
 * Date:22/12/18 
 * 
 * 

 ******************************************************************************/

define(['N/record', 'N/search', 'N/runtime'],

    function (record, search, runtime) {

        /**
         * Definition of the Suitelet script trigger point.
         *
         * @param {Object} scriptContext
         * @param {Record} scriptContext.newRecord - New record
         * @param {Record} scriptContext.oldRecord - Old record
         * @Since 2016.1
         */
        function onAction(scriptContext) {

            try {
                log.debug({
                    title: 'scriptContext',
                    details: scriptContext
                });
                var employeecategory = runtime.getCurrentScript().getParameter("custscript1");
                log.debug("employeecategory", employeecategory)

                var objRecord = scriptContext.newRecord;
                var company = objRecord.getValue({
                    fieldId: 'company'
                });
                var startdate = objRecord.getValue({
                    fieldId: 'startdate'
                });
                var completeddate = objRecord.getValue({
                    fieldId: 'completeddate'
                });
                if (completeddate == "" || completeddate == null) {
                    completeddate = startdate
                }
                try {
                    var salesRep = record.load({
                        type: record.Type.PARTNER,
                        id: scriptContext[newRecord][fields][nluser]
                    })
                    var employcat = salesRep.getValue({
                        fieldId: 'custentity41'
                    });
                    if (employcat == 2) {
                        var id = record.submitFields({
                            type: record.Type.CUSTOMER,
                            id: company,
                            values: {
                                'custentity_jj_lastcall_sale': completeddate,
                            },
                            options: {
                                enableSourcing: false,
                                ignoreMandatoryFields: true
                            }
                        });
                    } else if (employcat == 1) {
                        var id = record.submitFields({
                            type: record.Type.CUSTOMER,
                            id: company,
                            values: {
                                'custentity_jj_lastcall_support': completeddate, 
                            },
                            options: {
                                enableSourcing: false,
                                ignoreMandatoryFields: true
                            }
                        });
                    } else {
                        var id = record.submitFields({
                            type: record.Type.CUSTOMER,
                            id: company,
                            values: {
                                'custentity_mr_139_lastcalldate': completeddate,
                            },
                            options: {
                                enableSourcing: false,
                                ignoreMandatoryFields: true
                            }
                        });
                    }
                } catch (err) {
                    try {
                        if (employeecategory == 2) {
                            var id = record.submitFields({
                                type: record.Type.CUSTOMER,
                                id: company,
                                values: {
                                    'custentity_jj_lastcall_sale': completeddate,
                                },
                                options: {
                                    enableSourcing: false,
                                    ignoreMandatoryFields: true
                                }
                            });
                        } else if (employeecategory == 1) {
                            var id = record.submitFields({
                                type: record.Type.CUSTOMER,
                                id: company,
                                values: {
                                    'custentity_jj_lastcall_support': completeddate,
                                },
                                options: {
                                    enableSourcing: false,
                                    ignoreMandatoryFields: true
                                }
                            });
                        } else {
                            var id = record.submitFields({
                                type: record.Type.CUSTOMER,
                                id: company,
                                values: {
                                    'custentity_mr_139_lastcalldate': completeddate,
                                },
                                options: {
                                    enableSourcing: false,
                                    ignoreMandatoryFields: true
                                }
                            });
                        }
                    } catch (e) {
                        log.debug({
                            title: 'Err when saving rec',
                            details: e.message
                        });
                    }
                }

            } catch (e) {


                log.debug({
                    title: e.name,
                    details: e.message
                });


            }

        }

        return {
            onAction: onAction
        };

    });

Leave a comment

Your email address will not be published. Required fields are marked *