/**
* @NApiVersion 2.x
* @NScriptType ClientScript
* @NModuleScope SameAccount
*/
define(['N/currentRecord', 'N/search'],
/**
* @param{currentRecord} currentRecord
* @param{search} search
*/
function(currentRecord, search) {
const classObject = {
tel : 2,
telS: '2',
ott:3,
ottS:'3',
wxa :5,
wxaS :'5',
esp:6,
espS:'6',
pat:4,
patS:'4',
amg:80,
amgS:'80'
}
const subsidiaryObj = {
LN1 :99,
LN1S:'99',
WGTV:36,
WGTVS:'36'
}
/**
* Function to be executed after page is initialized.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.mode - The mode in which the record is being accessed (create, copy, or edit)
*
* @since 2015.2
*/
function pageInit(scriptContext) {
}
/**
* Validation function to be executed when sublist line is committed.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @param {string} scriptContext.sublistId - Sublist name
*
* @returns {boolean} Return true if sublist line is valid
*
* @since 2015.2
*/
function validateLine(scriptContext) {
try
{
console.log("validate****")
var currentRecord = scriptContext.currentRecord;
var subsidiarys = currentRecord.getValue({
fieldId:'subsidiary'
});
console.log("line subsidiary******",subsidiarys)
var itemName=currentRecord.getCurrentSublistValue({
sublistId: 'item',
fieldId: 'item'
})
var lineClassValue = currentRecord.getCurrentSublistValue({
sublistId:'item',
fieldId:'class'
});
console.log("item",itemName)
if(scriptContext.sublistId === 'item' ){
if( itemName !== '' && (subsidiarys === subsidiaryObj.LN1 || subsidiarys === subsidiaryObj.LN1S )){
var lineClass = currentRecord.getCurrentSublistValue({
sublistId:'item',
fieldId:'class'
});
console.log("lineClass",lineClass)
if(lineClass === classObject.ott || lineClass === classObject.ottS){
console.log("selected correctly")
}
else
{
confirm("Please Select the Line of Business value as '02 OTT - Over the Top'")
return false;
}
}
else if( itemName !== '' && (subsidiarys === subsidiaryObj.WGTVS || subsidiarys === subsidiaryObj.WGTV))
{
if(lineClassValue === classObject.telS || lineClassValue=== classObject.tel || lineClassValue === classObject.wxaS|| lineClassValue === classObject.wxa || lineClassValue === classObject.patS || lineClassValue === classObject.pat ||
lineClassValue === classObject.espS || lineClassValue === classObject.esp || lineClassValue === classObject.amgS|| lineClassValue === classObject.amg) {
console.log("class array if condition ")
console.log("selected correctly")
}
else
{
confirm("Please Select any of the following Line of business values \n 01 TEL - Television \n 03 Growth Initiatives : WXA - Weather Apps \n 03 Growth Initiatives : PAT - Pattrn " +
"\n 04 ESP - Espanol \n AMG - ALLEN MEDIA GROUP" )
return false
}
}
if((subsidiarys !== subsidiaryObj.WGTVS && subsidiarys !== subsidiaryObj.WGTV) && (subsidiarys !== subsidiaryObj.LN1 && subsidiarys !== subsidiaryObj.LN1S)){
console.log(" subsidiary********************")
var expSubsidiary=currentRecord.getCurrentSublistValue({
sublistId: 'item',
fieldId: 'custcol_amg_exptosub'
})
console.log("expSubsidiary",expSubsidiary)
if(itemName && !lineClassValue)
{
confirm("Please select a value for Line of Business");
return false;
}
if(itemName && !expSubsidiary){
confirm("Please Select the value for 'Expense to Subsidiary'")
return false
}
else
{
return true
}
}
}
return true
}
catch(err){
console.log("error@validateLine",err)
}
}
/**
* Validation function to be executed when record is saved.
*
* @param {Object} scriptContext
* @param {Record} scriptContext.currentRecord - Current form record
* @returns {boolean} Return true if record is valid
*
* @since 2015.2
*/
function saveRecord(scriptContext) {
return true;
}
return {
pageInit: pageInit,
validateLine: validateLine,
saveRecord: saveRecord
};
});