Árvore de páginas

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.                                                             

Informações Gerais

 

Especificação

Produto

Microsiga Protheus

Módulo

SIGAGPE - Gestão de Pessoal

Segmento Executor

Serviços

Projeto1

RHRH001

EPIC1

RHRH001-401

Story1

RHRH001-402

Atividade1

RHRH001-403

 

 

Rotinas Envolvidas

 

 

Rotina

Tipo de Operação

Opção de Menu

GPEW020

Alteração

Atualizações->Area de Trabalho->Admissao

TRHWorkArea

Criação

Sem menu

GPEA010

envolvido

Atualizações -> Funcionários -> Funcionários

GPEA140

envolvido

Atualizações->Beneficios->VT->Meios Transportes

GPEA280

Alteração

Atualizações->Funcionários->Beneficiários

RSPA100

envolvido

(SIGARSP)Atualizações->Cadastros->Vagas

RHLIBUSU

envolvido

Sem menu

 

Objetivo


Criar uma Área de Trabalho de Admissão onde o usuário de forma simples e prática na mesma tela consiga fazer todas as atividades relacionadas a uma admissão, como:

  • Inclusão de Funcionários
  • Inclusão de dependentes
  • Inclusão de Beneficiários
  • Inclusão de Plano de Saúde
  • Inclusão de VT
  • Inclusão de VR
  • Inclusão de VA
  • Inclusão de Outros Benefícios
  • Gráfico comparativo de status de funcionários no mês
  • Gráfico de Vagas
  • Impressão de Contratos(Word)

    Definição da Regra de Negócio


    Teremos uma Área de Trabalho com 2 layouts predefinidos, sendo um com gráfico e outro sem.
    O Browse de Funcionários é o componente mais importante da área de trabalho, pois é a partir dele que as demais operações são realizadas, teremos configurado duas visões: Admitidos no mês (Default) e Meus Admitidos, além da visualização de todos os funcionários.
    Por exemplo, para incluir um dependente podemos executar a ação através do Menu Lateral ou através do Browse Dependentes, mas nas duas situações é preciso que browse de funcionário esteja posicionado no registro desejado.
    Portanto é importante que para realizar qualquer operação o Browse esteja posicionado no funcionário desejado!
    O gráfico Admitidos mostrará os funcionários com os Status Admitido, Demitido, Afastado e Férias no mês, enquanto o Gráfico Vagas, mostra o número de vagas abertas e fechadas no mês.

    Definição técnica


    Projeto e Menu


    Incluir no Projeto SIGWGPE.PRJ os fontes GPEW020.prw e TRHWorkArea.prw
    Criar o Menu Atualizações/Area de Trabalho/Admissão*

    Classe TRHWorkArea


    A Área de Trabalho é conjunto de objetos gráficos, sendo:
  • Área Útil (Janela)
  • Menu
  • Painéis onde são colocados os objetos
    Como teremos diversas áreas de trabalho vamos criar uma classe para facilitar o desenvolvimento no futuro.
    Classe TRHWorkArea
    METHOD New (cTitulo) CONSTRUCTOR
    METHOD getRelSize(nPerc)
    METHOD loadMenu(oMenu)
    METHOD SetMenu(oMenu, nSize)
    METHOD SetLayout(aTelas)
    METHOD Activate()
    METHOD Sair()
    METHOD getPanel(cId)
    METHOD SetWidget( oPanel, cAliasEnt, cFonte, cType, cFiltro )
    METHOD SetBrowse( oPanel, cAliasEnt, cMenuDef, cDescric)

    Configuração WorkArea(layout's)


    Disponibilizar menu para que o usuário possa alternar entre os layouts com Gráfico e Sem Gráico.

    Cadastro de Funcionários (GPEA010)


    Para que seja possível a vinculação de Gráficos e Visões ao browse é preciso habilitar o Browse.
    Serão criadas duas visões para esta funcionalidade:
    1 – Admitidos no Mês  Mostrar somente funcionários admitidos no mês corrente(trazer esta como default)
    2 – Meus Admitidos  Mostrar somente funcionários admitidos por mim, para isso será preciso criar um campo na SRA(RA_USRADM) para gravar o usuário que está incluindo o funcionário.
    O Gráfico desta rotina será o "Admissão", mostrar a quantidade de funcionários dentro do mês com Situação Admitido, Demitido, Afastado e Férias.
    Também será preciso tratar a variável cCadastro na função Gpea010Mnt()
    Exemplo:
    oBrwSRA:SetAttach(.T.)
    oTableAtt := TableAttDef()
    If oTableAtt <> Nil
    oBrwSRA:SetViewsDefault(oTableAtt:aViews)
    oBrwSRA:SetChartsDefault(oTableAtt:aCharts)
    EndIf
    oBrwSRA:SetOpenChart( .F. )
    e Criar os Graficos e visões desejadas:
    Static Function TableAttDef()
    Local oTableAtt := FWTableAtt():New()
    Local oDSMyAbert:= Nil
    oTableAtt:SetAlias("SRA")
    oDSMyAbert := FWDSView():New()
    oDSMyAbert:SetName("Funcionarios ativos")
    oDSMyAbert:SetID("DSMyAbert")
    oDSMyAbert:SetOrder(1)
    oDSMyAbert:SetCollumns({"RA_FILIAL","RA_MAT","RA_NOME"})
    oDSMyAbert:SetPublic(.T.)
    oDSMyAbert:AddFilter("Func", "RA_SITFOLH == ' '")
    oTableAtt:AddView(oDSMyAbert)

    oDSPorProb := FWDSChart():New()
    oDSPorProb:SetName("Admissão")
    oDSPorProb:SetTitle("Admissão")
    oDSPorProb:SetID("DSPorProb")
    oDSPorProb:SetType("PIECHART")
    oDSPorProb:SetSeries("SRA","RA_SITFOLH","COUNT")
    oDSPorProb:SetCategory("SRA", "RA_SITFOLH")
    oDSPorProb:SetPublic(.T.)
    oDSPorProb:SetLegend(CONTROL_ALIGN_BOTTOM) //Inferior
    oDSPorProb:SetTitleAlign(CONTROL_ALIGN_CENTER)
    oTableAtt:AddChart(oDSPorProb)

    Return(oTableAtt)

    Menu lateral


    Teremos as opções abaixo de Menu, lembrando que deverá ser verificado se o usuário tem permissão de acesso a rotina. Caso não tenha permissão não mostrar o Menu.
    Criar as funções MenuRH, GetMenuRH e FindRhMenu no fonte RHLIBUSU.PRW. Estas rotinas servirão para verificar se o usuário tem acesso a rotina especificada no Menu.
    MenuRH() Recuperar o menu do usuário, retornando aMenu(essa variável deve ser carregada por modulo)
    GetMenuRH()Verifica a permissão do usuário para a rotina, retornando booleano
    FindRhMenu()Busca a rotina no menu do usuário.
    Exemplo:Local aMenu := {}
    aMenu := MenuRH()
    lFunc := GetMenuRH(aMenu,"GPEA010",1,.F.,,__CUSERID,nModulo)

    Pasta

    Descrição

    Bloco

    Rotina

    Módulo

    Admissão

    + Admissao

     RSPM001

     RSPM001

    20

    Admissão

    + Funcionários

     Gpea010Mnt()

     GPEA010

    7

    Admissão

    + Dependentes

     {FWExecView( "Atualizar", "VIEWDEF.GPEA020", MODEL_OPERATION_UPDATE, , {.T. } )}

    GPEA020

    7

    Admissão

    + Beneficiários

     GP280ATU("SRA",0,3)

     GPEA280

    7

    Plano de Saúde

    Incluir

    {FWExecView( "Planos Ativos", "VIEWDEF.GPEA001", MODEL_OPERATION_UPDATE, , {.T. } )}

     GPEA001

    7

    Vale Refeição

    Incluir

    GP131ATU("SRA",0,3,1)

    GPEA131

    7

    Vale Refeição

    Atualizar

    GP131ATU("SRA",SRA->(Recno()),4,1)

     GPEA131

    7

    Vale Alimentação

    Incluir

    GP131ATU("SRA",0,3,2)

     GPEA131

    7

    Vale Alimentação

    Atualizar

    GP131ATU("SRA",SRA->(Recno()),4,2)

     GPEA131

    7

    Vale Transporte

    Meios Transporte

    FWExecView( "Visualizar", "VIEWDEF.GPEA140", MODEL_OPERATION_INSERT, , {.T. } )}

    GPEA140

     7

    Vale Transporte

    Incluir

     

     GPEA131

    7

    Vale Transporte

    Atualizar

     GP131ATU("SRA",SRA->(Recno()),4,0)

     GPEA131

    7

    Outros Benefícios

    Atualizar

     {FWExecView( "Atualizar", "VIEWDEF.GPEA065", MODEL_OPERATION_UPDATE, , {.T. } )}

    GPEA065

    7

    Contratos

    Contratos

    U_GPEWORD 

     GPEWORD 

    7

    Para o caso dos benefícios(VR/VA/VT) checar a função NovoCalcBEN() para saber se mostra os menus de forma separa(como acima) ou se simplesmente chama a viewdef do GPEA133 para o novo calculo de benefícios.

    Meios Transporte (GPEA140)


    Retirar a variável INCLUI e fazer o tratamento usando model:getOperantion()

    GPEA280 – Beneficiários


    Será preciso alterar a função GP280ATU() para fazer o tratamento da variável cCadastro , lIncluir, lGp280Auto .

    RSPA100 – Cadastro de Vagas


    Preparar a rotina para gerar gráfico e visões, para isso será preciso alterar os parâmetros da mBrwose e criar a Static Function TableAttDef()
    mBrowse(6, 1, 22, 75, 'SQS',,,,,,aColors,,,,,,,,,,,,, {|oBrowse| RS100BrwAct (oBrowse)} )
    Static Function RS100BrwAct(oBrowse)
    Local oTableAtt := TableAttDef()//static function que deve ser criada no fonte
    oBrowse:SetAttach(.T.)
    oBrowse:SetViewsDefault( oTableAtt:aViews )
    oBrowse:SetChartsDefault( oTableAtt:aCharts )
    Return
    Static Function TableAttDef()
    Local oTableAtt := FWTableAtt():New()
    Local oDSMyAbert := Nil
    oTableAtt:SetAlias("SRA")
    oDSMyAbert := FWDSView():New()
    oDSMyAbert:SetName("Vagas")
    oDSMyAbert:SetID("DSMyAbert1")
    oDSMyAbert:SetOrder(1)
    oDSMyAbert:SetCollumns({"QS_FILIAL","QS_DESCRIC","QS_NRVAGA"})
    oDSMyAbert:SetPublic(.T.)
    oTableAtt:AddView(oDSMyAbert)

    oDSPorProb := FWDSChart():New()
    oDSPorProb:SetName("Vagas")
    oDSPorProb:SetTitle("Vagas")
    oDSPorProb:SetID("DSPorProb1")
    oDSPorProb:SetType("BARCOMPCHART")
    oDSPorProb:SetSeries({ {"SQS","QS_NRVAGA","SUM"},{"SQS","QS_VAGAFEC","SUM"}})
    oDSPorProb:SetCategory("SQS", "QS_DESCRIC")
    oDSPorProb:SetPublic(.T.)
    oDSPorProb:SetLegend(CONTROL_ALIGN_BOTTOM) //Inferior
    oDSPorProb:SetTitleAlign(CONTROL_ALIGN_CENTER)
    oTableAtt:AddChart(oDSPorProb)

    Return(oTableAtt)



    Tabelas Utilizadas
  • SRA – Cadastro de Funcionários
  • SRB – Cadastro de Dependentes
  • SRQ – Cadastro de Beneficiários

 

Protótipo de Tela


Layout Admissão com gráfico



Layout Admissão

Regras de Integridade


Não se aplica.

Release Notes

Módulo

SIGAGPE / Microsiga Protheus

Função

Área de Trabalho - Admissão – GPEW020

Situação / Requisito

Criar área de trabalho - admissão

Solução / Implementação

No mesmo lugar será possível fazer toda a Admissão de um funcionário.
Desde a sua admissão por Recrutamento ou incluindo diretamente um funcionário, cadastrar seus dependentes, beneficiários, e benefícios, além da impressão de Contratos disponibilizados em .Dot.

Conversores de Parâmetros: 
        

 

Dicionário de Dados



Dicionário de Dados

  • Arquivo: SRA – Cadastro de Funcionários

 

Campo

RA_USRADM

Tipo

C

Tamanho

6

Título

Usr Adm

Descrição

Usuário Admissão

Picture

@!

Valid

 

Inicializ. Padrão

__CUSERID

Cbox

 

Pasta

 

Help de Campo

 

 

Casos de Testes

 

  1. Caso(s) de Testes Reusável(is)


Não se aplica

  1. Caso(s) de Testes Específico(s) do Projeto

 

Caso de Testes

Efetuar o cadastramento de um funcionário com dependentes, beneficiários e benefícios utilizando a Área de trabalho

 

 

Finalidade Testes

Verificar se os cadastros foram realizados corretamente

Estimativas

8 horas

Teste do Programador

(erro) Sim ( ) Não

Recomendações

Não há recomendações

Pré-condições

Aplicar o patch do requisito.

Pós-condições

 

Como verificar os resultados

Acessar o cadastro e verificar se os dados foram gravados

Procedimentos

Resultados Esperados

  1. Acessar a Area de Trabalho

Funcionário cadastrado com sucesso

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.