Sistema de avaliação

Utilizei um ajax no campo da função, Joelton.
Dos 18 campos do form, há campos no meio, por exemplo caompo_nove, dez e onze que não deveriam ter valores, mas eles estão a receber.

Se calhar não estamos a falar a mesma língua, Joelton. Volto a explicar:
O form avaliação é para avaliar todos os funcionários. Mas, há funcionários com mais competencias do que os outros. No máximo, um avaliado pode ter 18 competencias e no mínimo 10.
Confesso que estou com o cérebro a arder para solucionar este problema.

Terá fazer um sc_lookup no banco para verificar se a função do avaliado possuir aqueles campos, ou seja se os mesmo devem ser respondidos, com esta informação percorrer com o if em cada campo, logo os campos que não são da relação serão inabilitados e receberam por padrão via banco o valor null, isto se colocou o default desta forma conforme o início da conversa.

1 Curtida

sc_lookup(rs,“SELECT competencia FROM competencias WHERE idfuncao_competencia=’{funcao_avaliado}’”);
if(!empty({rs})){
{corporativa_um} = {rs[0][0]};
{corporativa_dois} = {rs[1][0]};
{corporativa_tres} = {rs[2][0]};
{corporativa_quatro} = {rs[3][0]};
{corporativa_cinco} = {rs[4][0]};
{corporativa_seis} = {rs[5][0]};
{corporativa_sete} = {rs[6][0]};
{corporativa_oito} = {rs[7][0]};
{profissionais_um} = {rs[8][0]};
{profissionais_dois} = {rs[9][0]};
{profissionais_tres} = {rs[10][0]};
{funcionais_um} = {rs[11][0]};
{funcionais_dois} = {rs[12][0]};
{funcionais_tres} = {rs[13][0]};
{funcionais_quatro} = {rs[14][0]};
{funcionais_cinco} = {rs[15][0]};
{funcionais_seis} = {rs[16][0]};
{funcionais_sete} = {rs[17][0]};
}else{
{corporativa_um} = “”;
{corporativa_dois} = “”;
{corporativa_tres} = “”;
{corporativa_quatro} = “”;
{corporativa_cinco} = “”;
{corporativa_seis} = “”;
{corporativa_sete} = “”;
{corporativa_oito} = “”;
{profissionais_um} = “”;
{profissionais_dois} ="";
{profissionais_tres} ="";
{funcionais_um} = “”;
{funcionais_dois} = “”;
{funcionais_tres} ="";
{funcionais_quatro} ="";
{funcionais_cinco} ="";
{funcionais_seis} = “”;
{funcionais_sete} = “”;
}
Fiz desse jeito, Joelton. Ele traz os dados, mas para 12 competencias por exemplo, ele ao invés de mostrar as primeiras oito e as últimas 4, ele carregar para os primeiros 12 registo.
Esta não é a opção desejada.

Depois deste lookup inicie a tratativa com if…

if({corporativa_um} <> ‘’){
sc_field_display({corporativa_um}, ‘off’);
}

E vai percorrendo conforme sua necessidade…

1 Curtida

Saudações, Joelton!
Não percebi sua ideia. Faço a trataiva a sequir ao if(!empty({rs})){
{corporativa_um} = {rs[0][0]}; dentro do if geral ou ignoro o if geral e faço if({corporativa_um} <> ‘’){
sc_field_display({corporativa_um}, ‘off’);
} campo a campo?

Lembrar-lhe que essa consulta estou a fazer no evento ajax para preencher as competências e serem gravadas a partir do form da avaliação, Grande Joelton.

O if e else que postou inicialmente, tire o else, não vejo necessidade, deixe apenas o if, e dentro dele coloque suas tratativas…

1 Curtida

Está difícil, Grande Joelton.
Fiz do jeito que abaixo mostrado, mas só preenche os campos se for do para a primeira condição. Eu tentei fazer com o $n_competencias=10,$n_competencias=11,$n_competencias=12,$n_competencias=13… até $n_competencias=18, mas só exibe da primeira opçãção, caso seja uma outra condição no elseif ele salta para o ELSE DO FIM…

sc_lookup(ds,“SELECT competencia,nivel_requerido_competencia FROM competencias WHERE idfuncao_competencia=’{funcao_avaliado}’”);

sc_lookup(rs,“SELECT COUNT(idcompetencias) FROM competencias WHERE idfuncao_competencia=’{funcao_avaliado}’”);
$n_competencias={rs[0][0]};
if($n_competencias==14){
{corporativa_um} = {ds[0][0]};
{corporativa_dois} = {ds[1][0]};
{corporativa_tres} = {ds[2][0]};
{corporativa_quatro} = {ds[3][0]};
{corporativa_cinco} = {ds[4][0]};
{corporativa_seis} = {ds[5][0]};
{corporativa_sete} = {ds[6][0]};
{corporativa_oito} = {ds[7][0]};

{funcionais_um} = {ds[8][0]};
{funcionais_dois} = {ds[9][0]};
{funcionais_tres} = {ds[10][0]};
{funcionais_quatro} = {ds[11][0]};
{funcionais_cinco} = {ds[12][0]};
{funcionais_seis} = {ds[13][0]};

{nr_corporativa_um} = {ds[0][1]};
{nr_corporativa_dois} = {ds[1][1]};
{nr_corporativa_tres} = {ds[2][1]};
{nr_corporativa_quatro} = {ds[3][1]};
{nr_corporativa_cinco} = {ds[4][1]};
{nr_corporativa_seis} = {ds[5][1]};
{nr_corporativa_sete} = {ds[6][1]};
{nr_corporativa_oito} = {ds[7][1]};

{nr_funcionais_um} = {ds[8][1]};
{nr_funcionais_dois} = {ds[9][1]};
{nr_funcionais_tres} = {ds[10][1]};
{nr_funcionais_quatro} = {ds[11][1]};
{nr_funcionais_cinco} = {ds[12][1]};
{nr_funcionais_seis} = {ds[13][1]};

//TORNAR CAMPO NÃO EDITÁVEL
sc_field_disabled(“corporativa_um”);
sc_field_disabled(“corporativa_dois”);
sc_field_disabled(“corporativa_tres”);
sc_field_disabled(“corporativa_quatro”);
sc_field_disabled(“corporativa_cinco”);
sc_field_disabled(“corporativa_seis”);
sc_field_disabled(“corporativa_sete”);
sc_field_disabled(“corporativa_oito”);
sc_field_disabled(“funcionais_um”);
sc_field_disabled(“funcionais_dois”);
sc_field_disabled(“funcionais_tres”);
sc_field_disabled(“funcionais_quatro”);
sc_field_disabled(“funcionais_cinco”);
sc_field_disabled(“funcionais_seis”);

sc_field_disabled(“nr_corporativa_um”);
sc_field_disabled(“nr_corporativa_dois”);
sc_field_disabled(“nr_corporativa_tres”);
sc_field_disabled(“nr_corporativa_quatro”);
sc_field_disabled(“nr_corporativa_cinco”);
sc_field_disabled(“nr_corporativa_seis”);
sc_field_disabled(“nr_corporativa_sete”);
sc_field_disabled(“nr_corporativa_oito”);

sc_field_disabled(“nr_funcionais_um”);
sc_field_disabled(“nr_funcionais_dois”);
sc_field_disabled(“nr_funcionais_tres”);
sc_field_disabled(“nr_funcionais_quatro”);
sc_field_disabled(“nr_funcionais_cinco”);
sc_field_disabled(“nr_funcionais_seis”);

sc_field_display({profissionais_um}, ‘off’);
sc_field_display({profissionais_dois}, ‘off’);
sc_field_display({profissionais_tres}, ‘off’);
sc_field_display({nr_profissionais_um}, ‘off’);
sc_field_display({nr_profissionais_dois}, ‘off’);
sc_field_display({nr_profissionais_tres}, ‘off’);
sc_field_display({na_profissionais_um}, ‘off’);
sc_field_display({na_profissionais_dois}, ‘off’);
sc_field_display({na_profissionais_tres}, ‘off’);

sc_field_display({funcionais_sete}, ‘off’);
sc_field_display({nr_funcionais_sete}, ‘off’);
sc_field_display({na_funcionais_sete}, ‘off’);

}elseif($n_competencias==15){
//POPULAR AS COMPETÊNCIAS CORP.
{corporativa_um} = {ds[0][0]};
{corporativa_dois} = {ds[1][0]};
{corporativa_tres} = {ds[2][0]};
{corporativa_quatro} = {ds[3][0]};
{corporativa_cinco} = {ds[4][0]};
{corporativa_seis} = {ds[5][0]};
{corporativa_sete} = {ds[6][0]};
{corporativa_oito} = {ds[7][0]};
//POPULAR AS COMPETÊNCIAS FUNC.
{funcionais_um} = {ds[8][0]};
{funcionais_dois} = {ds[9][0]};
{funcionais_tres} = {ds[10][0]};
{funcionais_quatro} = {ds[11][0]};
{funcionais_cinco} = {ds[12][0]};
{funcionais_seis} = {ds[13][0]};
{funcionais_sete} = {ds[14][0]};
//POPULAR OS NÍVEIS REQUERIDOS COMP. CORP.
{nr_corporativa_um} = {ds[0][1]};
{nr_corporativa_dois} = {ds[1][1]};
{nr_corporativa_tres} = {ds[2][1]};
{nr_corporativa_quatro} = {ds[3][1]};
{nr_corporativa_cinco} = {ds[4][1]};
{nr_corporativa_seis} = {ds[5][1]};
{nr_corporativa_sete} = {ds[6][1]};
{nr_corporativa_oito} = {ds[7][1]};
//POPULAR OS NÍVEIS REQUERIDOS COMP. FUNC.
{nr_funcionais_um} = {ds[8][1]};
{nr_funcionais_dois} = {ds[9][1]};
{nr_funcionais_tres} = {ds[10][1]};
{nr_funcionais_quatro} = {ds[11][1]};
{nr_funcionais_cinco} = {ds[12][1]};
{nr_funcionais_seis} = {ds[13][1]};
{nr_funcionais_sete} = {ds[14][1]};
//TORNAR CAMPO NÃO EDITÁVEL
sc_field_disabled(“corporativa_um”);
sc_field_disabled(“corporativa_dois”);
sc_field_disabled(“corporativa_tres”);
sc_field_disabled(“corporativa_quatro”);
sc_field_disabled(“corporativa_cinco”);
sc_field_disabled(“corporativa_seis”);
sc_field_disabled(“corporativa_sete”);
sc_field_disabled(“corporativa_oito”);
sc_field_disabled(“funcionais_um”);
sc_field_disabled(“funcionais_dois”);
sc_field_disabled(“funcionais_tres”);
sc_field_disabled(“funcionais_quatro”);
sc_field_disabled(“funcionais_cinco”);
sc_field_disabled(“funcionais_seis”);
sc_field_disabled(“funcionais_sete”);

sc_field_disabled(“nr_corporativa_um”);
sc_field_disabled(“nr_corporativa_dois”);
sc_field_disabled(“nr_corporativa_tres”);
sc_field_disabled(“nr_corporativa_quatro”);
sc_field_disabled(“nr_corporativa_cinco”);
sc_field_disabled(“nr_corporativa_seis”);
sc_field_disabled(“nr_corporativa_sete”);
sc_field_disabled(“nr_corporativa_oito”);

sc_field_disabled(“nr_funcionais_um”);
sc_field_disabled(“nr_funcionais_dois”);
sc_field_disabled(“nr_funcionais_tres”);
sc_field_disabled(“nr_funcionais_quatro”);
sc_field_disabled(“nr_funcionais_cinco”);
sc_field_disabled(“nr_funcionais_seis”);
sc_field_disabled(“nr_funcionais_sete”);

sc_field_display({profissionais_um}, ‘off’);
sc_field_display({profissionais_dois}, ‘off’);
sc_field_display({profissionais_tres}, ‘off’);
sc_field_display({nr_profissionais_um}, ‘off’);
sc_field_display({nr_profissionais_dois}, ‘off’);
sc_field_display({nr_profissionais_tres}, ‘off’);
sc_field_display({na_profissionais_um}, ‘off’);
sc_field_display({na_profissionais_dois}, ‘off’);
sc_field_display({na_profissionais_tres}, ‘off’);
}else{

echo “Dados não carregados!!!”;
}

Primeiro…
A macro é assim…

sc_field_display({corporativa_um}, ‘off’);

Segundo…
Não apenas jogue a macro… coloque ela dentro de outro if…

Terceiro
Quando estiver ainda criando o código, não faça com tudo, trate apenas usando um ou dois campos, é mais fácil para você interpretar e achar o erro e a gente de ajudar…:+1:

1 Curtida

Esse caso, já está solucionado, Grande Joelton!!!
Tive de criar mais campos na tabela de competências para puxar o equivalente à tabela de avaliação e funcionou.
Por hora, falta o problema 2.

Boa Tarde Belmiro,
Eu estava desenvolvendo um sistema nesse sentido, mas parei devido ter sido mudado de setor no trabalho. Entretanto, devo retornar ao sistema em breve. gostaria se possível trocar umas ideias contigo a respeito, talvez seja proveitoso pra nós dois.

Grato pela atenção.

1 Curtida

Saudações, Grande Heraclito!
Sim, podemos trocar algumas ideias. Se fosse um sistema desenvolvido por e simplesmente com as minhas ideias, seria muito fácil de implementar. O que acontece é que há várias funções na empresa e que cada uma delas tem competências diferentes. Mas, pode mandar vir e o que estiver ao meu alcance será partilhado com quem precisar.

Saudações, Grande @joeltonsilva!
Fiz o link pela matrícula e abre o form correcto para a avalição. O que está difícil é criar mecanismos que ao abrir o form clicando na matrícula, preencha já os campos do avaliado. Como é que eu faria esse procedimento?
Grato!!!

Boa tarde,
No campo matrícula, crie um evento ajax, onChange, neste evento faça um lookup buscando no banco os dados referente a matrícula, e passando este campo como parâmetro no select, “where”. Toda vez que digitar uma mátrícula que já consta no banco, os dados serão preenchidos conforme seu lookup. Obviamente, pegue o resultado de cada coluna e passe para os devidos campos.
Simples assim…:+1:

2 Curtidas

Este procedimento já funciona, @joeltonsilva. O que eu gostaria era ao clicar na matrícula da grid_ avaliados, abrir o form_avaliacao, mas com os dados já preenchidos.

Faz uma ligação na grid para o formulário… e utilize os parâmetros para filtrar aquela matrícula e por sua vez completará os dados.

2 Curtidas

Não percebi, @joeltonsilva!

Saudações, @joeltonsilva, queria mais uma ideia neste projecto:
Eu tenho dois campos avaliacao_final, Int, e classificacao_final, varcahar(). Eu gostaria de efectuar operações que ao inserir as notas, o formulário permitive, por meio de evento ou coisa parecida, calcular e gravar os dados dos campos avaliacao_final e classificacao_final.
Qual é a magia que tenho de fazer?
Obrigadão, mais uma vez!!!

Como não sei como funciona estes tais “campos avaliacao_final e classificacao_final” te respondo como tiro no escuro… mas se foi o que eu compreendi, crie um método php, e dentro dele passe os valores, ou cálculos necessário e coloque para seus campos desejados… Ex:
if({avaliacao_final} <> 0){
{avaliacao_final} = {a1}+{a2}+{a3};
}

Depois chame este método php dentro de evento ajax onChange de cada campo que faz parte da composição do seu cálculo, ou seja sempre terá um valor atualizado após o preenchimento…

Respondi conforme minha interpretação, ficou muito vaga e sem detalhes a sua pergunta…

1 Curtida

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_auto
100)/$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_auto
100)/$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;
}

**/

Fiz do jeito que me sugeriu, mas não funcionou, grande @joeltonsilva. Presumo que não tenha funcionado porque na linha de código

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

temos a variável idavaliacao na cláusula WHERE e como ainda não inserimos os dados, não será possível preencher os campos. Há mais alguma ideia, grande @joeltonsilva?

Ao tentar inserir gera o erro:
Erro ao incluir na base de dados:
Column count doesn’t match value count at row 1

FIZ UMA LIGEIRA ALTERAÇÃO NO CÓDIGO E CHAMEI A FUNÇÃO NOS EVENTOS onAfeterInsert e Update. Para o caso de updade psaaou, mas para o Insert continua a gerar o erro
Erro ao incluir na base de dados:
Column count doesn’t match value count at row 1

View SQL