To return the value of a custom checkbox field and approver field.

Jira Code: TG-39
This script is to return the value of the field ‘3 LEVEL APPROVAL MANDATORY’ (checkbox).

Workflow Action script: TG-39 WA Return Checkbox

/**
 * @NApiVersion 2.x
 * @NScriptType workflowactionscript
 */
/*******************************************************************************
* CLIENTNAME:TRANSFORM GROUP
* TG-39
* Create a Workflow action script
* **************************************************************************
* Date : 12-04-2019
*
* Author: Jobin & Jismi IT Services LLP
* Script Description : This script is to return  the '3 LEVEL APPROVAL MANDATORY' (checkbox)
*  field value
* Date created : 12-04-2019
*
* REVISION HISTORY
*
* Revision 1.0 ${12-04-2019} nd : created
* 
*
******************************************************************************/
define(['N/runtime','N/search'],

function(runtime,search) {
   
    /**
     * 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{
    		var filter_arr =[];
    		var checkbox;
    		
    		var userObj = runtime.getCurrentUser();
        	var current_role = userObj.role
        	log.debug('current_role',current_role);
        	var poRecord = scriptContext.newRecord;
        	log.debug('poRecord',poRecord.id);
        	if(poRecord.id){
        		var fieldLookUp = search.lookupFields({
            	    type: search.Type.PURCHASE_ORDER,
            	    id: poRecord.id,
            	    columns: ['location', 'subsidiary']
            	});
        		if(fieldLookUp.subsidiary != null && fieldLookUp.subsidiary != undefined && fieldLookUp.subsidiary != ""){
        			var subs = fieldLookUp.subsidiary[0].value;
        			log.debug('subs',subs);
        		}
            	if(fieldLookUp.location != null &&fieldLookUp.location != undefined && fieldLookUp.location != "" ){
            		log.debug('fieldLookUp.location',fieldLookUp.location);
            	var location = fieldLookUp.location[0].value;
            	
            	log.debug('location',location);
            	}
            	if(subs && location){
            		log.debug('subs && location')
            		filter_arr.push(["custrecord_jj_tg_32_subsidiary","anyof",subs]);
            		filter_arr.push("AND");
            		filter_arr.push(["custrecord_jj_tg_32_location","anyof",location]);
            		filter_arr.push("AND");
            		filter_arr.push(["custrecord_jj_tg_32_role","anyof",current_role]);
            	}else if(subs && (!location)){
            		log.debug('subs && (!location)')
            		filter_arr.push(["custrecord_jj_tg_32_subsidiary","anyof",subs]);
            		filter_arr.push("AND");
            		filter_arr.push(["custrecord_jj_tg_32_role","anyof",current_role]);
            	}else if(location && (!subs)){
            		log.debug('location && (!subs)')
            		filter_arr.push(["custrecord_jj_tg_32_location","anyof",location]);
            		filter_arr.push("AND");
            		filter_arr.push(["custrecord_jj_tg_32_role","anyof",current_role]);
            	}
            	var customrecord_jj_tg_32_approversSearchObj = search.create({
            		   type: "customrecord_jj_tg_32_approvers",
            		   filters:filter_arr,
            		   columns:
            		   [
            			   search.createColumn({name: "custrecord_jj_tg_32_mandatory", label: "3 level approval Mandatory"}),

            		   ]
            		});
            		var searchResult = customrecord_jj_tg_32_approversSearchObj.run().getRange({
            			start: 0,
            			end: 100
            		});
            		
            		log.debug('searchResult',searchResult);
            		if(searchResult!= null && searchResult != undefined && searchResult != ""){
            			for (var j = 0; j<searchResult.length; j++) {
                			var checkbox  = searchResult[j].getValue({
                				name: "custrecord_jj_tg_32_mandatory"
                			});
                			
                			log.debug('checkbox',checkbox)
                		}
                		return checkbox;	
            		}else{
            			log.debug('search result not found')
            			return null;
            		}
            	
        	}else{
        		log.debug('poid not found')
        		return null ;
        	}
        	
        	
    	}catch(er){
    		log.debug('error ',er)
    	}
    	
    }

    return {
        onAction : onAction
    };
    
});

Workflow Action script: TG-39 WA return approver

/**
 * @NApiVersion 2.x
 * @NScriptType workflowactionscript
 */
/*******************************************************************************
* CLIENTNAME:TRANSFORM GROUP
* TG-39
* Create a Workflow action script
* **************************************************************************
* Date : 12-04-2019
*
* Author: Jobin & Jismi IT Services LLP
* Script Description : This script is to return the third approver of PO if any from
* the custom approvers list record
* Date created : 12-04-2019
*
* REVISION HISTORY
*
* Revision 1.0 ${12-04-2019} nd : created
* 
*
******************************************************************************/
define(['N/runtime','N/search'],

function(runtime,search) {
   
    /**
     * 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{
    		var filter_arr =[];
    		var approver3;    
    		var userObj = runtime.getCurrentUser();
        	var current_role = userObj.role
        	log.debug('current_role',current_role);
        	var poRecord = scriptContext.newRecord;
        	log.debug('poRecord',poRecord.id);
        	if(poRecord.id){
        		var fieldLookUp = search.lookupFields({
            	    type: search.Type.PURCHASE_ORDER,
            	    id: poRecord.id,
            	    columns: ['location', 'subsidiary']
            	});
        		if(fieldLookUp.subsidiary != null && fieldLookUp.subsidiary != undefined && fieldLookUp.subsidiary != ""){
        			var subs = fieldLookUp.subsidiary[0].value;
        			log.debug('subs',subs);
        		}
            	if(fieldLookUp.location != null &&fieldLookUp.location != undefined && fieldLookUp.location != "" ){
            		log.debug('fieldLookUp.location',fieldLookUp.location);
            	var location = fieldLookUp.location[0].value;
            	
            	log.debug('location',location);
            	}
            	if(subs && location){
            		log.debug('subs && location')
            		filter_arr.push(["custrecord_jj_tg_32_subsidiary","anyof",subs]);
            		filter_arr.push("AND");
            		filter_arr.push(["custrecord_jj_tg_32_location","anyof",location]);
            		filter_arr.push("AND");
            		filter_arr.push(["custrecord_jj_tg_32_role","anyof",current_role]);
            	}else if(subs && (!location)){
            		log.debug('subs && (!location)')
            		filter_arr.push(["custrecord_jj_tg_32_subsidiary","anyof",subs]);
            		filter_arr.push("AND");
            		filter_arr.push(["custrecord_jj_tg_32_role","anyof",current_role]);
            	}else if(location && (!subs)){
            		log.debug('location && (!subs)')
            		filter_arr.push(["custrecord_jj_tg_32_location","anyof",location]);
            		filter_arr.push("AND");
            		filter_arr.push(["custrecord_jj_tg_32_role","anyof",current_role]);
            	}
            	var customrecord_jj_tg_32_approversSearchObj = search.create({
            		   type: "customrecord_jj_tg_32_approvers",
            		   filters:filter_arr,
            		   columns:
            		   [
            			      search.createColumn({name: "custrecord_jj_tg_32_employee3", label: "Employee 3"}),
            			      search.createColumn({name: "custrecord_jj_tg_32_role3", label: "Role 3"})
            			   
            		   ]
            		});
            		var searchResult = customrecord_jj_tg_32_approversSearchObj.run().getRange({
            			start: 0,
            			end: 100
            		});
            		
            		log.debug('searchResult',searchResult);
            		if(searchResult!= null && searchResult != undefined && searchResult != ""){
            			for (var j = 0; j<searchResult.length; j++) {
                			var approver3 = searchResult[j].getValue({
                				name: "custrecord_jj_tg_32_employee3"
                			});
                			if(!approver3){
                				approver3 = searchResult[j].getValue({
                    				name: "custrecord_jj_tg_32_role3"
                    			});
                			}
                			
                			log.debug('approver3',approver3);

                		}
                		return approver3;	
            		}else{
            			log.debug('search result not found')
            			return null;
            		}
            	
        	}else{
        		log.debug('poid not found')
        		return null ;
        	}
        	
        	
    	}catch(er){
    		log.debug('error ',er)
    	}
    	
    }

    return {
        onAction : onAction
    };
    
});

Leave a comment

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