function beforeSendData(customFields,customFacts){
	
	var codEmpresa = hAPI.getCardValue("R8_CODGRUPOEMP");
	var nomeEmpresa = hAPI.getCardValue("R8_DESCGRUPOEMP");
	var codFilial = hAPI.getCardValue("R8_FILIAL");
	var nomeFilial = hAPI.getCardValue("R8_DESC_FILIAL");
	var area = "Compras";
	
	var proximaAtividade = getValue("WKNextState");
	var processo = getValue("WKDef");
	var versao = getValue("WKVersDef");
	
 	var prazoAnalyticsSemHora = "Sem prazo";
 	var prazoAnalyticsComHora = "Sem prazo";
 	var dataAtual = new Date();
 	
	if(proximaAtividade == 5){
		
		var c1 = DatasetFactory.createConstraint("processStatePK.sequence",proximaAtividade , proximaAtividade, ConstraintType.MUST);
		var c2 = DatasetFactory.createConstraint("processStatePK.processId", processo , processo, ConstraintType.MUST);
		var c3 = DatasetFactory.createConstraint("processStatePK.version", versao , versao, ConstraintType.MUST);
		var dataset = DatasetFactory.getDataset("processState", null, [c1,c2,c3], null);
		
		
		
		if(dataset != null && dataset != undefined && dataset.rowsCount >0 && parseInt(dataset.getValue(0, "deadlineTime")+"") > 0){
			var prazoHoras = dataset.getValue(0, "deadlineTime");
			prazoHoras = parseInt(prazoHoras+"") / 3600;
			
			var segundosDepoisMeiaNoite = 0;
			segundosDepoisMeiaNoite = dataAtual.getHours() * 3600;
			segundosDepoisMeiaNoite = segundosDepoisMeiaNoite + (dataAtual.getMinutes() * 60);
			segundosDepoisMeiaNoite = segundosDepoisMeiaNoite + dataAtual.getSeconds() ;

			var dataPrazo;
			var horarioPrazo;
			var consultaPrazo = hAPI.calculateDeadLineHours(dataAtual,segundosDepoisMeiaNoite,prazoHoras,"Default"); 
			dataPrazo = consultaPrazo[0];
			horarioPrazo = consultaPrazo[1];
			
			var horasPrazo = parseInt(horarioPrazo / 3600);
			var minutosPrazo = parseInt((horarioPrazo - (horasPrazo * 3600)) / 60);
			var segundosPrazo = horarioPrazo - (horasPrazo * 3600) - (minutosPrazo * 60);
			
			prazoAnalyticsComHora = formataData(dataPrazo.getDate(), (dataPrazo.getMonth() +1), (dataPrazo.getYear() + 1900), horasPrazo, minutosPrazo, segundosPrazo);
			prazoAnalyticsSemHora = formataData(dataPrazo.getDate(), (dataPrazo.getMonth() +1), (dataPrazo.getYear() + 1900));
			
		}
	}
		
	var dataAbertura = formataData(dataAtual.getDate(), (dataAtual.getMonth() +1), (dataAtual.getYear() + 1900), dataAtual.getHours(), dataAtual.getMinutes(), dataAtual.getSeconds());

	log.info("=======================Analytics - "+processo+" - "+proximaAtividade);
	log.info("====================== customFields[0]"+codEmpresa);
	log.info("====================== customFields[1]"+nomeEmpresa);
	log.info("====================== customFields[2]"+codFilial);
	log.info("====================== customFields[3]"+nomeFilial);
	log.info("====================== customFields[4]"+area);
	log.info("====================== customFields[5]"+prazoAnalyticsSemHora);
	log.info("====================== customFields[6]"+prazoAnalyticsComHora);
	log.info("====================== customFields[7]"+dataAbertura);
	

	customFields[0] = codEmpresa;
	customFields[1] = nomeEmpresa;
	customFields[2] = codFilial;
	customFields[3] = nomeFilial;
	customFields[4] = area;
	customFields[5] = prazoAnalyticsSemHora;
	customFields[6] = prazoAnalyticsComHora;
	customFields[7] = dataAbertura;
	
}


function formataData(dia, mes, ano, hora, minuto, segundo){
	if((dia+"").length == 1){
		dia = "0"+dia;
	}
	if((mes+"").length == 1){
		mes = "0"+mes;
	}
	if((hora+"").length == 1){
		hora = "0"+hora;
	}
	if((minuto+"").length == 1){
		minuto = "0"+minuto;
	}
	if((segundo+"").length == 1){
		segundo = "0"+segundo;
	}
	
	var dataRetorno = "";
	dataRetorno = dia+"/"+mes+"/"+ano
	
	if(hora != undefined){
		dataRetorno = dataRetorno + " "+hora+":"+minuto+":"+segundo;
	}
	
	return dataRetorno
}



