To create a task for customer profile updates 

When the customer has requested an address in the profile information of the website we create a task for the employee for completing the task of profile update.

When click the request button we call two functions for Creating and updating the Task in netsuite

For Creation of the Task

 createTaskRec: function(firstname, lastname, companyname, phone, email, customer) {
            var task = nlapiCreateRecord('task', { recordmode: 'dynamic' });
            task.setFieldValue('customform', 56); //B2B Form
            task.setFieldValue('company', customer);
            task.setFieldValue('title', "Update Customer Data Request");
            task.setFieldValue('custevent1', 8);
            task.setFieldValue('custevent_madi_case_nature', 17);
            task.setFieldValue('custevent5', 39);
            task.setFieldValue('assigned', 35650);
            task.setFieldValue('sendemail', 'T');
            var token = 1;
            var taskSearch = nlapiSearchRecord("task", null,
                [
                    ["company", "anyof", customer]
                ],
                [
                    new nlobjSearchColumn("internalid", null, "COUNT")
                ]
            )

            if (taskSearch && taskSearch.length) {
                var tokenAdd = taskSearch[0].getValue("internalid", null, "COUNT");
                tokenAdd = parseInt(tokenAdd);
                token = token + tokenAdd;
            }

            task.setFieldValue('custevent_ra_token_number', token.toString());
            var ref = Date.now();
            task.setFieldValue('custevent_ra_ref_number', ref.toString());
            var message = "Update the customer data after verification:\n";
            if (firstname)
                message += "First Name: " + firstname + "\n";
            if (lastname)
                message += "Last Name: " + lastname + "\n";
            if (companyname)
                message += "Company Name: " + companyname + "\n";
            if (phone)
                message += "Phone: " + phone + "\n";
            if (email)
                message += "Email: " + email + "\n";

            task.setFieldValue('message', message);
            var ID = nlapiSubmitRecord(task, true, true);
            return ID;

        },

For the updation of the Task

 updateTask: function(taskExistID, firstname, lastname, companyname, phone, email) {
            var taskRec = nlapiLoadRecord('task', taskExistID);
            var message = "Update the customer data after verification:\n";
            if (firstname)
                message += "First Name: " + firstname + "\n";
            if (lastname)
                message += "Last Name: " + lastname + "\n";
            if (companyname)
                message += "Company Name: " + companyname + "\n";
            if (phone)
                message += "Phone: " + phone + "\n";
            if (email)
                message += "Email: " + email + "\n";

            taskRec.setFieldValue('message', message);
            taskRec.setFieldValue('sendemail', 'T');
            var recID = nlapiSubmitRecord(taskRec, false, true);

            return recID;
        },

To Search the tasks for finding the task already Exist

 searchTask: function(id) {
            var taskSearch = nlapiSearchRecord("task", null,
                [
                    ["company", "anyof", "40865"],
                    "AND",
                    ["status", "anyof", "NOTSTART"],
                    "AND",
                    ["custevent5", "anyof", "39"],
                    "AND",
                    ["custevent1", "anyof", "8"],
                    "AND",
                    ["custevent_madi_case_nature", "anyof", "19", "17"]
                ],
                [
                    new nlobjSearchColumn("order").setSort(false),
                    new nlobjSearchColumn("title"),
                    new nlobjSearchColumn("priority"),
                    new nlobjSearchColumn("internalid")
                ]
            );

            if (taskSearch && taskSearch.length >= 1) {
                return taskSearch[0].getValue("internalid");
            }

            return false;
        }

The task example is added below

Leave a comment

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