Árvore de páginas

Ponto-de-Entrada: APD01001 - Redefinição da Média
Versões: Microsiga Protheus 8.11 , Microsiga Protheus 10
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Idiomas: Espanhol , Inglês
Descrição:

Essa implementação possibilita, por exemplo, a redefinição da média dos itens de competência através
de critérios que diferem dos adotados pelo sistema.

Eventos

Eventos 
Na rotina de Cálculo dos Resultados das Avaliações, durante o cálculo da média por item de competência.

 
 

Programa Fonte
APDM010.PRW
Sintaxe

APD01001 - Redefinição da Média ( [ aMediaItemComp ], [ aVlrQuestao ] ) --> aMediaItemComp

Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
aMediaItemComp Array of Record Médias por item de competência
aVlrQuestao Array of Record Valor de cada questão
Retorno
    aMediaItemComp()
  • Retorna o valor das médias alteradas pela função do usuário.
Observações

Será enviado dois arrays para a função do usuário vis ParamIXB.

 

Param1 =  aMediaItemComp: Média por item de competência. Tipo array.

 

 


 

aMediaItemComp[ nPos , 01 ]      := cCodAvaliacao  //01 - Código da Avaliação

aMediaItemComp[ nPos , 02 ]      := cCodAdo           //02 - Código do Avaliado

aMediaItemComp[ nPos , 03 ]      := cCodPro            //03 - Código do Projeto

aMediaItemComp[ nPos , 04 ]      := dDtIava            //04 - Período Inicial

aMediaItemComp[ nPos , 05 ]      := dDtFava            //05 - Período Final

aMediaItemComp[ nPos , 06 ]      := cCodCom          //06 - Competencia

aMediaItemComp[ nPos , 07 ]      := cCodItem          //07 - Código do Item

aMediaItemComp[ nPos , 08 ]      := cCodNet            //08 - Código da Rede

aMediaItemComp[ nPos , 09 ]      := 0                       //09 - ZERO

aMediaItemComp[ nPos , 10 ]      := cCodTip             //10 - Tipo de Avaliação

aMediaItemComp[ nPos , 11 ]      := cCodTipAv         //11 - Tipo do Avaliador

 


 

 

Param2 =  aVlrQuestao: Valor das Questões. Tipo array.

 


 

 

aVlrQuestao[ nPos , 01 ]      := xFilial("RDB"     //01 - Filial da RDB

aVlrQuestao[ nPos , 02 ]      := cCodAvaliacao  //02 - Código da Avaliação

aVlrQuestao[ nPos , 03 ]      := cCodAdo           //03 - Código do Avaliado

aVlrQuestao[ nPos , 04 ]      := cCodPro            //04 - Código do Projeto

aVlrQuestao[ nPos , 05 ]      := cCodDor           //05 - Código do Avaliador

aVlrQuestao[ nPos , 06 ]      := dDtIava            //06 - Período Inicial

aVlrQuestao[ nPos , 07 ]      := dDtFava           //07 - Período Final

aVlrQuestao[ nPos , 08 ]      := cCodCom         //08 - Código da Competência

aVlrQuestao[ nPos , 09 ]      := cCodIte            //09 - Item de Competência

aVlrQuestao[ nPos , 10 ]      := cCodNet           //10 - Código da Rede

aVlrQuestao[ nPos , 11 ]      := cCodQue          //11 - Código da Questão

aVlrQuestao[ nPos , 12 ]      := nVlrQuestao     //12 - Valor da Questão

aVlrQuestao[ nPos , 13 ]      := cCodTip             //13 - Código do Tipo de Avaliação

aVlrQuestao[ nPos , 14 ]      := cCodTipAv         //14 - Tipo do Avaliador

aVlrQuestao[ nPos , 15 ]      := DtFava              //15 - Período Final

       


 

 

Deverá ser retornado o array com a mesma estrutura de aMediaItemComp.

 

Exemplos
Segue exemplo do ponto de entrada que deverá ser utilizado:#INCLUDE 'RWMAKE.CH'USER FUNCTION APD01001Local aMediaItemComp := Paramixb[1] //-- Array com a média dos itens de competênciaLocal aVlrQuestao    := Paramixb[2] //-- Array com o valor das questõesLocal nQuestao := 0          Local nX       := 0          For nQuestao := 1 to Len(aMediaItemComp)      nx           := 0      Aeval(aVlrQuestao,{|X| If(x[3]==aMediaItemComp[nQuestao,2] .And.;            x[8]+x[9]+x[10]+x[14] == aMediaItemComp[nQuestao,6]+aMediaItemComp[nQuestao,7];            +aMediaItemComp[nQuestao,8]+aMediaItemComp[nQuestao,11],nx++,nil)})      aMediaItemComp[nQuestao,9]      := aMediaItemComp[nQuestao,9] / nxnext nQuestao     Return(aMediaItemComp)