Grande @joeltonsilva, eu fiz do jeito que mestro abaixo, chamei ao evento onLoad. Ele preenche os dados de avaliacao_fina e de classificacao_final só depois de efectuar a inserção. de umregisto, mas não grava no BD. Para gravar, tenho de actualizar o registo.
Segue-se o códeigo:
sc_lookup(rs,“SELECT
nr_corporativa_um,nr_corporativa_dois,nr_corporativa_tres,nr_corporativa_quatro,
nr_corporativa_cinco,nr_corporativa_seis,nr_corporativa_sete,nr_corporativa_oito,
nr_profissionais_um,nr_profissionais_dois,nr_profissionais_tres,nr_funcionais_um,
nr_funcionais_dois,nr_funcionais_tres,nr_funcionais_quatro,nr_funcionais_cinco,
nr_funcionais_seis,nr_funcionais_sete,na_corporativa_um,na_corporativa_dois,
na_corporativa_tres,na_corporativa_quatro,na_corporativa_cinco,na_corporativa_seis,
na_corporativa_sete,na_corporativa_oito,na_profissionais_um,na_profissionais_dois,
na_profissionais_tres,na_funcionais_um,na_funcionais_dois,na_funcionais_tres, na_funcionais_quatro,na_funcionais_cinco,na_funcionais_seis,na_funcionais_sete
FROM
avaliacao_competencias
WHERE idavaliacao={idavaliacao}”);
$d1="";
$d2="";
$d3="";
$d4="";
$d5="";
$d6="";
$d7="";
$d8="";
$d9="";
$d10="";
$d11="";
$d12="";
$d13="";
$d14="";
$d15="";
$d16="";
$d17="";
$d18="";
if(!empty({rs})){
$a_nr_u={rs[0][0]};
$a_nr_d={rs[0][1]};
$a_nr_t={rs[0][2]};
$a_nr_q={rs[0][3]};
$a_nr_c={rs[0][4]};
$a_nr_s={rs[0][5]};
$a_nr_set={rs[0][6]};
$a_nr_o={rs[0][7]};
$a_nr_n={rs[0][8]};
$a_nr_de={rs[0][9]};
$a_nr_on={rs[0][10]};
$a_nr_do={rs[0][11]};
$a_nr_tr={rs[0][12]};
$a_nr_cat={rs[0][13]};
$a_nr_qui={rs[0][14]};
$a_nr_dezasseis={rs[0][15]};
$a_nr_dezassete={rs[0][16]};
$a_nr_dezoito={rs[0][17]};
$a_na_u={rs[0][18]};
$a_na_d={rs[0][19]};
$a_na_t={rs[0][20]};
$a_na_q={rs[0][21]};
$a_na_c={rs[0][22]};
$a_na_s={rs[0][23]};
$a_na_set={rs[0][24]};
$a_na_o={rs[0][25]};
$a_na_n={rs[0][26]};
$a_na_de={rs[0][27]};
$a_na_on={rs[0][28]};
$a_na_do={rs[0][29]};
$a_na_tr={rs[0][30]};
$a_na_cat={rs[0][31]};
$a_na_qui={rs[0][32]};
$a_na_dezasseis={rs[0][33]};
$a_na_dezassete={rs[0][34]};
$a_na_dezoito={rs[0][35]};
$d1=($a_na_u/$a_nr_u)*100;
$d2=($a_na_d/$a_nr_d)*100;
$d3=($a_na_t/$a_nr_t)*100;
$d4=($a_na_q/$a_nr_q)*100;
$d5=($a_na_c/$a_nr_c)*100;
$d6=($a_na_s/$a_nr_s)*100;
$d7=($a_na_set/$a_nr_set)*100;
$d8=($a_na_o/$a_nr_o)*100;
//DESEMPENHO COMPET. PROFISSIONAIS
if($a_nr_n==null || $a_nr_de==null || $a_nr_on==null){
//sc_alert("");
$d9="";
$d10="";
$d11="";
}else{
$d9=($a_na_n/$a_nr_n)*100;
$d10=($a_na_de/$a_nr_de)*100;
$d11=($a_na_on/$a_nr_on)*100;
}
if($a_nr_cat==null){
//sc_alert("");
$d14="";
}else{
$d14=($a_na_cat/$a_nr_cat)*100;
}
if($a_nr_qui==null){
//sc_alert("");
$d15="";
}else{
$d15=($a_na_qui/$a_nr_qui)*100;
}
if($a_nr_dezasseis==null){
//sc_alert("");
$d16="";
}else{
$d16=($a_na_dezasseis/$a_nr_dezasseis)*100;
}
if($a_nr_dezassete==null){
//sc_alert("");
$d17="";
}else{
$d17=($a_na_dezassete/$a_nr_dezassete)*100;
}
if($a_nr_dezoito==null){
//sc_alert("");
$d18="";
}else{
$d18=($a_na_dezoito/$a_nr_dezoito)*100;
}
//DESEMPENHO COMPET. FUNCIONAIS
$d12=($a_na_do/$a_nr_do)*100;
$d13=($a_na_tr/$a_nr_tr)*100;
}else{
$a_nr_u="";
$a_nr_d="";
$a_nr_t="";
$a_nr_q="";
$a_nr_c="";
$a_nr_s="";
$a_nr_set="";
$a_nr_o="";
$a_nr_n="";
$a_nr_de="";
$a_nr_on="";
$a_nr_do="";
$a_nr_tr="";
$a_nr_cat="";
$a_nr_qui="";
$a_nr_dezasseis="";
$a_nr_dezassete="";
$a_nr_dezoito="";
$a_na_u="";
$a_na_d="";
$a_na_t="";
$a_na_q="";
$a_na_c="";
$a_na_s="";
$a_na_set="";
$a_na_o="";
$a_na_n="";
$a_na_de="";
$a_na_on="";
$a_na_do="";
$a_na_tr="";
$a_na_cat="";
$a_na_qui="";
$a_na_dezasseis="";
$a_na_dezassete="";
$a_na_dezoito="";
}
sc_lookup(rs,“SELECT peso_avaliacao,peso_auto_avaliacao FROM peso_avaliacao”);
$peso_avaliacao={rs[0][0]};
$peso_auto_avaliacao={rs[0][1]};
sc_lookup(rs,“SELECT corporativas,profissionais,funcionais FROM peso_nao_chefia”);
$corporativas_nao_chefia={rs[0][0]};
$profissionais_nao_chefia={rs[0][1]};
$funcionais_nao_chefia={rs[0][2]};
sc_lookup(rs,“SELECT corporativas,profissionais,funcionais FROM peso_chefia”);
$corporativas_chefia={rs[0][0]};
$profissionais_chefia={rs[0][1]};
$funcionais_chefia={rs[0][2]};
sc_lookup(rs,“SELECT chefia FROM avaliacao_competencias a WHERE idavaliacao={idavaliacao}”);
if(!empty({rs})){
$chefia={rs[0][0]};
}else{
$chefia="";
}
sc_lookup(rs,“SELECT sum( (funcionais_um IS NOT NULL and funcionais_um <> “”) + (funcionais_dois IS NOT NULL and funcionais_dois <> “”) + (funcionais_tres IS NOT NULL and funcionais_tres <> “”) + (funcionais_quatro IS NOT NULL and funcionais_quatro <> “”)+ (funcionais_cinco IS NOT NULL and funcionais_cinco <> “”)+ (funcionais_seis IS NOT NULL and funcionais_seis <> “”)+ (funcionais_sete IS NOT NULL and funcionais_sete <> “”)) from avaliacao_competencias WHERE idavaliacao={idavaliacao}”);
if(!empty({rs})){
$qtd_funcionais_auto={rs[0][0]};
}else{
$qtd_funcionais_auto="";
}
if($chefia==‘Não’){
$total_pontos_auto=$d1 + $d2 + $d3 + $d4 + $d5 + $d6 + $d7 + $d8;
$total_max_auto=1008;
$media_c_auto=($total_pontos_auto100)/$total_max_auto;
$media_auto=number_format($media_c_auto, 2, “,” , “.”);
$media_com_peso_c_auto = ($media_c_auto*$corporativas_nao_chefia)/100;
{m_c_auto}=number_format($media_com_peso_c_auto, 2, “,” , “.”);
///////////////////////////////////////////////////////////
///////PERCENTAGENS PROFISSIONAIS - AUTO-AV
//////////////////////////////////////////////////////////
$total_pontos_profissionais_auto=$d9 + $d10 + $d11;
$total_max_profissionais_auto=100*3;
$media_p_auto=($total_pontos_profissionais_auto*100)/$total_max_profissionais_auto;
$media_profissionais_auto=number_format($media_p_auto, 2, "," , ".");
$media_com_peso_p_auto = ($media_p_auto*$profissionais_nao_chefia)/100;
{m_p_auto}=number_format($media_com_peso_p_auto, 2, "," , ".");
///////////////////////////////////////////////////////////
///////PERCENTAGENS FUNCIONAIS - AUTO-AV
//////////////////////////////////////////////////////////
if($qtd_funcionais_auto==7){
$total_pontos_funcionais_auto=$d12 + $d13 + $d14 + $d15 + $d16 + $d17 + $d18;
$total_max_funcionais_auto=100*7;
$media_f_auto=($total_pontos_funcionais_auto*100)/$total_max_funcionais_auto;
$media_funcionais_auto=number_format($media_f_auto, 2, "," , ".");
$media_com_peso_f_auto = ($media_f_auto*$funcionais_nao_chefia)/100;
{m_f_auto}=number_format($media_com_peso_f_auto, 2, "," , ".");
}elseif($qtd_funcionais_auto==6){
$total_pontos_funcionais_auto=$d12 + $d13 + $d14 + $d15 + $d16 + $d17;
$total_max_funcionais_auto=100*6;
$media_f_auto=($total_pontos_funcionais_auto*100)/$total_max_funcionais_auto;
$media_funcionais_auto=number_format($media_f_auto, 2, "," , ".");
$media_com_peso_f_auto = ($media_f_auto*$funcionais_nao_chefia)/100;
{m_f_auto}=number_format($media_com_peso_f_auto, 2, "," , ".");
}elseif($qtd_funcionais_auto==5){
$total_pontos_funcionais_auto=$d12 + $d13 + $d14 + $d15 + $d16;
$total_max_funcionais_auto=100*5;
$media_f_auto=($total_pontos_funcionais_auto*100)/$total_max_funcionais_auto;
$media_funcionais_auto=number_format($media_f_auto, 2, "," , ".");
$media_com_peso_f_auto = ($media_f_auto*$funcionais_nao_chefia)/100;
{m_f_auto}=number_format($media_com_peso_f_auto, 2, "," , ".");
}elseif($qtd_funcionais_auto==4){
$total_pontos_funcionais_auto=$d12 + $d13 + $d14 + $d15;
$total_max_funcionais_auto=100*4;
$media_f_auto=($total_pontos_funcionais_auto*100)/$total_max_funcionais_auto;
$media_funcionais_auto=number_format($media_f_auto, 2, "," , ".");
$media_com_peso_f_auto = ($media_f_auto*$funcionais_nao_chefia)/100;
{m_f_auto}=number_format($media_com_peso_f_auto, 2, "," , ".");
}elseif($qtd_funcionais_auto==3){
$total_pontos_funcionais_auto=$d12 + $d13 + $d14;
$total_max_funcionais_auto=100*3;
$media_f_auto=($total_pontos_funcionais_auto*100)/$total_max_funcionais_auto;
$media_funcionais_auto=number_format($media_f_auto, 2, "," , ".");
$media_com_peso_f_auto = ($media_f_auto*$funcionais_nao_chefia)/100;
{m_f_auto}=number_format($media_com_peso_f_auto, 2, "," , ".");
}else{
$total_pontos_funcionais_auto=$d12 + $d13;
$total_max_funcionais_auto=100*2;
$media_f_auto=($total_pontos_funcionais_auto*100)/$total_max_funcionais_auto;
$media_funcionais_auto=number_format($media_f_auto, 2, "," , ".");
$media_com_peso_f_auto = ($media_f_auto*$funcionais_nao_chefia)/100;
{m_f_auto}=number_format($media_com_peso_f_auto, 2, "," , ".");
}
}else{
$total_pontos_auto=$d1 + $d2 + $d3 + $d4 + $d5 + $d6 + $d7 + $d8;
$total_max_auto=1008;
$media_c_auto=($total_pontos_auto100)/$total_max_auto;
$media_auto=number_format($media_c_auto, 2, “,” , “.”);
$media_com_peso_c_auto = ($media_c_auto*$corporativas_chefia)/100;
{m_c_auto}=number_format($media_com_peso_c_auto, 2, “,” , “.”);
///////////////////////////////////////////////////////////
///////PERCENTAGENS PROFISSIONAIS - AUTO-AV
//////////////////////////////////////////////////////////
$total_pontos_profissionais_auto=$d9 + $d10 + $d11;
$total_max_profissionais_auto=100*3;
$media_p_auto=($total_pontos_profissionais_auto*100)/$total_max_profissionais_auto;
$media_profissionais_auto=number_format($media_p_auto, 2, "," , ".");
$media_com_peso_p_auto = ($media_p_auto*$profissionais_chefia)/100;
{m_p_auto}=number_format($media_com_peso_p_auto, 2, "," , ".");
///////////////////////////////////////////////////////////
///////PERCENTAGENS FUNCIONAIS - AUTO-AV
//////////////////////////////////////////////////////////
$total_pontos_funcionais_auto=$d12 + $d13 + $d14 + $d15 + $d16 + $d17 + $d18;
$total_max_funcionais_auto=100*7;
$media_f_auto=($total_pontos_funcionais_auto*100)/$total_max_funcionais_auto;
$media_funcionais_auto=number_format($media_f_auto, 2, "," , ".");
$media_com_peso_f_auto = ($media_f_auto*$funcionais_chefia)/100;
{m_f_auto}=number_format($media_com_peso_f_auto, 2, "," , ".");
}
$media_corpo_func_auto=$media_com_peso_c_auto + $media_com_peso_p_auto + $media_com_peso_f_auto;
//{m_a_auto}=number_format($media_corpo_func_auto, 2, “,” , “.”);
//$media_com_5_auto=($media_corpo_func_auto*$peso_auto_avaliacao)/100;
//{m_auto_avaliacao}=number_format($media_com_5_auto, 2, “,” , “.”);
//$media_geral=$media_com_95 + $media_com_5_auto;
{avaliacao_final}=number_format($media_corpo_func_auto, 2, “,” , “.”);
//CLASSIFICAÇÃO D1
if({avaliacao_final}>=80){
{classificacao_final}=“EXCELENTE”;
}elseif({avaliacao_final}>=60 && {avaliacao_final}<80){
{classificacao_final}=“BOM”;
}elseif({avaliacao_final}>=40 && {avaliacao_final}<60){
{classificacao_final}=“SUFICIENTE”;
}elseif({avaliacao_final}>=20 && {avaliacao_final}<40){
{classificacao_final}=“MAU”;
}elseif({avaliacao_final}>=1 && {avaliacao_final}<20){
{classificacao_final}=“INACEITÁVEL”;
}
/**
switch({classificacao_final}){
case “EXCELENTE”:
sc_field_color({classificacao_final},"#32CD32");
break;
case “BOM”;
sc_field_color({classificacao_final},"#0000FF");
break;
case “SUFICIENTE”;
sc_field_color({classificacao_final},"#FFFF00");
break;
case “MAU”;
sc_field_color({classificacao_final},"#FFA500");
break;
case “INACEITÁVEL”;
sc_field_color({classificacao_final},"#FF0000");
break;
}
**/