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
};
});