``` /** * @param {String} type Context Types: sc...
# suitescript
n
Copy code
/**
 * @param {String} type Context Types: scheduled, ondemand, userinterface, aborted, skipped
 * @returns {Void}
 */
function scheduled(type) {
	var context = nlapiGetContext();
	var body_config_ids = getBodyEmailResults();
	 nlapiLogExecution('debug','body_config_ids',body_config_ids);
	 var script_param = nlapiGetContext().getSetting('SCRIPT', 'custscript_emailrecord');
	// nlapiLogExecution('debug','script_param',script_param);
	 if(script_param){
	// for (var i = 0;body_config_ids && i < body_config_ids.length; i++) {
		//var conf_rec= nlapiLoadRecord('customrecord_body_email_config',body_config_ids[i]);
		var conf_rec= nlapiLoadRecord('customrecord_body_email_config',script_param);
		var sea_ids = conf_rec.getFieldValues('custrecord_email_search');
		var emp_ids = conf_rec.getFieldValues('custrecord_emp_email');
		var search_names = conf_rec.getFieldTexts('custrecord_email_search');
		var emails =[]
		for (var e = 0; e < emp_ids.length; e++) {
		var email=	nlapiLookupField('employee',emp_ids[e],'email');
		emails.push(email);
		}
		var inline='';
		
		for (var k = 0; sea_ids && k < sea_ids.length; k++) {
			
			if(context.getRemainingUsage() <= 1000){
				nlapiYieldScript();
			}
			nlapiLogExecution('debug','searchId',sea_ids[k]); 
			 var headerLabels =[];
			 var getAllResults =[];
			 var search = nlapiLoadSearch(null, sea_ids[k]);
			 nlapiLogExecution('debug','search',search.name); 
			 var searchResults = search.runSearch();
			 var resultIndex = 0; 
			 var resultStep = 1000; // Number of records returned in one step (maximum is 1000)
			 var resultSet;
			 inline +='<h3>'+search_names[k]+':<h3>';
			// nlapiLogExecution('debug','search_names',search_names[k]); 
			 inline+='<table style ="border: 1px solid black;border-collapse: collapse;">';
			 var header_label = search.getColumns();
	    	 
			 inline+='<tr>'
	    	 for (var x = 0; x < header_label.length; x++) {
	    		var cName = header_label[x].label;
	    		 inline+='<td align ="center" style ="border: 1px solid black;background-color: #E2EAF0;"><b>'+cName+'</b></td>'
			}
			   inline+='</tr>'
			 do 
				{
				    // fetch one result set
					 resultSet = searchResults.getResults(resultIndex, resultIndex + resultStep);
				     resultIndex = resultIndex + resultStep;
				    // nlapiLogExecution('debug','searchResults',resultSet.length);
					  
				     for(var l=0;l<resultSet.length;l++){
				    	 var results = resultSet[l];
				    	 var column_results = results.getAllColumns();
				    	 inline+='<tr>';
				    	 for (var m = 0; m < column_results.length; m++) {
				    		 var field_type = column_results[m].getType();
				    		// nlapiLogExecution('debug','field_type',field_type); 
				    		 if(field_type =='select'){
				    			 inline+='<td align ="center" style ="border: 1px solid black;font-weight:normal;">'+results.getText(column_results[m])+'</td>';
				    		 }else if(field_type =='currency'){
				    			 inline+='<td align ="center" style ="border: 1px solid black;font-weight:normal;">'+format(results.getValue(column_results[m]))+'</td>';
				    		 }
				    		 else{
				    			 inline+='<td align ="center" style ="border: 1px solid black;font-weight:normal;">'+results.getValue(column_results[m])+'</td>';
				    		 }
						 }
				    	 inline+='</tr>'
				    	// nlapiLogExecution('debug','getAllResults',getAllResults); 
				     }
					   
		 }while (resultSet && resultSet.length > 0)
			  inline+='</table><br/>';
			  nlapiLogExecution('debug','inline',inline);
			
		}
		if(emails.length > 0){
			var today = new Date();
			var currentDate= (today.getMonth()+1)+'/'+today.getDate()+'/'+today.getFullYear();
			var subject = 'Daily Transactions Consolidated Report India: '+currentDate;
			nlapiLogExecution('debug','emails.length',emails.length);
			 nlapiSendEmail(183273,emails,subject ,inline,null,null,null,null,null,null,'<mailto:create-netsuiteticket@rahisystems.com|create-netsuiteticket@rahisystems.com>');
		}
		
	//}
	 }
}

function getBodyEmailResults() {
	 var total_records =[];
	 var search  = nlapiCreateSearch("customrecord_body_email_config",
			 [ 
				 ["isinactive","is","F"]
				 
			 ], 
			 [ 
				   new nlobjSearchColumn("internalid"), 
				   new nlobjSearchColumn("custrecord_email_search"), 
				   new nlobjSearchColumn("custrecord_emp_email")
			 ]
			);
	 var searchResults = search.runSearch();
	 var resultIndex = 0; 
	 var resultStep = 1000; // Number of records returned in one step (maximum is 1000)
	 var resultSet;
	 do 
	 {
	     resultSet = searchResults.getResults(resultIndex, resultIndex + resultStep);
	     resultIndex = resultIndex + resultStep;
	     
	     nlapiLogExecution('debug','Body Email Search Results',resultSet.length);
		  for ( var j in resultSet ){
			  var body_email_id = resultSet[j].getId();
			  total_records.push(body_email_id);
			  
		  }
	 // once no records are returned we already got all of them
	 } while (resultSet.length > 0){}
	 
	 nlapiLogExecution('debug','total_records',total_records);
	 return total_records;
}
function format(amount) {
	  return amount.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
	}