Sistema de avaliação

Saudações, amantes do scritcase!
Tenho de desenvolver um sistema para avaliação de desempenho e preciso, como sempre, de vossa preciosa ajuda.

O objectivo é que o avaliador ao inserir a sua matrícula só pode ter acesso aos funcionários que ele vai avaliar.
As competências diferem para cada função. A ideia seria que assim que o avaliador fizer o login, veja, por exemplo, 5 avaliados e ao clicar por cima do nome de um, abriria o formulário para a avaliação. Os campos dos formulários são:
Matrícula, nome, função, unidade organizacional do avaliador e do avaliado;
Data da avaliação, semestre da avaliação, código da função a ser avaliada;
As competências a serem avaliadas, os níveis requeridos(valores que se pretendem que os avaliados alcancem) e os níveis avaliados(valores ou notas atribuídas pelos avaliadores);
Alguém tem uma ideia para me dar, visto que nem sei por onde começar com a programação e restrições.
Antecipadamente, muito obridao!
Belmiro Constantino

Inicie pelo básico de qualquer desenvolvimento… a modelagem do banco voltada ao seu negócio.

2 Curtidas

Caro Joelton, já comecei a modelagem da db. A maior preocupação é poder automatizar a entrada do avaliador ao sistema e poder só ver os seus avaliados. E distribuir as competências por funções. Ao clicar a um avaliado, abrir o form para a sua avaliação.

Mas tudo é contemplado na modelagem de dados…

1 Curtida

Já modulei a db, Jailton. Preciso de ideias para automatizar o sistema.

Meu amigo… meu nome é Joelton, Jailton é outro colega daqui do fórum…
Quanto ao assunto, é neste ponto que quero chegar, se já fez a modulagem, coloque o problema para tentarmos sugerir uma opção… qual dos processos que quer automatizar, pontue seus problemas, da forma que abordou foi muito genérica…

1 Curtida

Perfeito! Eu já tenho um formulário enque populo os avaliadores e seus avaliados. Tenho um formulário em que eu guarda as competências de acordo às funções dos colaboradores.
1º Problema
a) como é que eu faria de modo a inserir a função do colaborador e automaticamente no formulário da avaliação viriam os dados só dessa função?
2º Problema
Assim que o avaliador fizer o login, deverá ser direccionado à uma grid com seus avaliados e ao clicar por cima de um registo, abre o form da avaliação…

Respostas:
1º Problema
a) como é que eu faria de modo a inserir a função do colaborador e automaticamente no formulário da avaliação viriam os dados só dessa função?
“RESPOSTA 1”:
Na modelagem teria que ter uma tabela para registrar o nome da função e outra tabela para registrar os dados pertinentes desta função. No início ei teria a opção via select de escolher o colaborador primeiramente e a função em segundo, neste segundo select(função), via evento ajax onchange faria um sc_lookup para preecher todos os campos da pesquisa em questão.

2º Problema
Assim que o avaliador fizer o login, deverá ser direccionado à uma grid com seus avaliados e ao clicar por cima de um registo, abre o form da avaliação…
“RESPOSTA 2”:
No momento de abrir o formulário da avaliação, obviamente o avaliador já estará logado, pego esta variável global da sua ID ou login, e passaria como parâmetro, para gravar na tabela que guarda a avaliação daquele funcionário, logo etaria atrelado o avaliador e o avaliado, e na grid citada, eu colocaria no sql da mesma um where id_avalidor = [var_id_avaliador], só apareceria o que deseja.

1 Curtida

Qnto ao 1º Problema, Jailton, já consegui pegar as competências, mas há diferença no nº de competências por função. Há funções com 18 competências, outras com 15, etc. Criei 18 campos no formulário da avaliação, mas quando informo uma função com apenas 10 competências, ficam 8 campos vazios. Eu gostaria de uma forma que me permitisse puxar as 10, mas os 8 campos não aparecessem. Do mesmo jeito q se eu popupar 14, 17, 16…

Aí é a parte tranquila do uso das macros, trabalhe com a sc_apl_conf("Aplicação", "Propriedade", "Valor") onde te possibilitará ocultar os campos que estão vazios ou aqueles que não são preenchidos conforme a função… Usando em dentro de if’s e else’s da vida…

1 Curtida

Qnto ao 2º Problema, Joelton, eu mostro a grid abixo;


Nesta grid, como pode ver, há mais de um avaliador. A ideia seria que só o avaliador que fizer o logo possa ver seus avaliados. Att.: Qndo me refiro à avaliados, refiro-me aos colaboradores que poderão ser avaliados.
No caso do avaliador Belmiro Constantino, o avaliador ao clicar por cima do no Belmiro Constantino, abriria o form da avaliação.

Wau, por acaso já usei essa macro nalgum projecto. Mas, com o uso dessa macro, penso que os campos que não forem preenchidos vão receber valores 0 por serem do tipo decimal. Os campos do tipo decimal não permitem guardar vazios, Joelton.

Esta questão já te respondi, usando a variável global nesta sua subconsulta… e sobre clicar e abrir, é uma ligação que poderá fazer em cima da matrícula.

1 Curtida

mas permitem null, pode usar if(campo <> 0 || campo is not null)

1 Curtida

Ok, vou pôr a mão na massa e darei o feedback, Joelton.
Abrigadão!!!

1 Curtida

Dá um like no coração das respostas pra fortalecer a parceria…rsrs

1 Curtida

Já o fiz, Joelton!
Mas, esse comando está a dar erro
if({meu_campo} <> 0 || {meu_campo} is not null)

Parse error: syntax error, unexpected ‘is’

Tente…

if(campo <> 0 || !is_null(campo))

Se ainda der errado coloque o seu código aqui…

1 Curtida

if({profissionais_um}<>0 || !is_null({profissionais_um})){
//sc_apl_conf(“Aplicação”, “Propriedade”, “Valor”)
sc_apl_conf(“form_avaliacao_competencias”, “field_display_off”, “profissionais_um”);
}
Não está a desabiliatar o campo profissionais_um, Joelton. Ou tenho de usar o sc_field_display({Meu_Campo}, on/off)

if({profissionais_um}<>0 || !is_null({profissionais_um})){
sc_field_display({profissionais_um}, ‘off’);
}

1 Curtida