Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

RH - Linha Protheus - GPE - Execução do Cálculo de Férias Coletivas/Programadas por Rotina Automática - GPEM060


time.png Tempo aproximado para leitura: 00:01:30 min

Dúvida

Execução do Cálculo de Férias Coletivas/Programadas por Rotina Automática - GPEM060

Ambiente
TOTVS RH - TOTVS RH (Linha Protheus) - Gestão de Pessoal - A partir da versão 11


Solução
Para realização do cálculo automático de Férias Coletivas/Programadas - GPEM060, será necessária a utilização de uma User Function.
É importante se atentar ao tipo do calculo que será executado, e essa informação é definida pela variável nColPro, que deve ser declarada com o escopo Private.
Outro ponto importante,é o filtro passado para a rotina, nesse exemplo contido na variável cFiltro, deve ser uma expressão em AdvPL com um retorno lógico, possibilitando filtrar as filiais ou matrículas que deseja calcular, por exemplo:

 

#INCLUDE "TOTVS.CH"
#INCLUDE "TBICONN.CH"
 
/*/{Protheus.doc} User Function ExeFer060
Executa o cálculo de férias coletivas/programadas
@type User Function
@author Cícero Alves
@since 07/12/2020
/*/
User Function ExeFer060()
     
    Local aLogAuto      := {}
    Local cFiltro       := "SRA->RA_FILIAL == 'D MG 02 ' " // Filtro utilizado no cálculo
     
    Private lMsErroAuto := .F.
     
    // Variável utilizada pela rotina define se o cálculo será de férias coletivas ou programadas
    Private nColPro     := 1        // 1 - Coletivas / 2 - Programadas
     
    PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 02 " MODULO "GPE"
     
    // Alterar nome da função para as validações da rotina
    SetFunName("GPEM060")
     
    // Reinicializa as variáveis Static das rotinas de cálculo
    // Necessário quando executado mais de um cálculo em sequência
    RstGpm060()
    RstGpm030()
     
    If nColPro == 1 // Férias Coletivas
         
        // Carrega as variáveis MV_PAR
        Pergunte("GPM060", .F.)
         
        // Altera os parâmetros do cálculo
        SetMVValue("GPM060","MV_PAR01", "00298")                // Processo
        SetMVValue("GPM060","MV_PAR02", 1)                      // Ordem 1 - Matricula / 2 - Centro de Custo
        SetMVValue("GPM060","MV_PAR03", 20)                     // Dias Ferias Colet.?
        SetMVValue("GPM060","MV_PAR04", 0)                      // Dias Abono Colet.?
        SetMVValue("GPM060","MV_PAR05", 1)                      // Func. Menos Um Ano? 1- Dias coletiva / 2- Dias de direito
        SetMVValue("GPM060","MV_PAR06", cTOd("17/12/2018"))     // Início Férias Coletivas?
        SetMVValue("GPM060","MV_PAR07", cTOd("17/12/2018"))     // Data Aviso Ferérias Coletivas?
        SetMVValue("GPM060","MV_PAR08", cTOd("17/12/2018"))     // Data Pagamento Férias Coletivas?
        SetMVValue("GPM060","MV_PAR09", 1)                      // Media do Mes Atual? 1- Sim / 2- Não
        SetMVValue("GPM060","MV_PAR10", 3)                      // Calcular p/ periodo? 1- Vencido / 2- A vencer / 3- Ambos
        SetMVValue("GPM060","MV_PAR11", 0)                      // Percentual 13.Salario?
        SetMVValue("GPM060","MV_PAR12", 1)                      // Dt Pagto Informada?  1-Não, 2-Sim
         
        // Grava os novos valores na SX1
        Pergunte("GPM060", .F.)
         
    Else // Férias Programadas
         
        // Carrega as variáveis MV_PAR
        Pergunte("GPM062", .F.)
         
        SetMVValue("GPM062","MV_PAR01", "00298")                // Processo
        SetMVValue("GPM062","MV_PAR02", 1)                      // Ordem 1 - Matricula / 2 - Centro de Custo
        SetMVValue("GPM062","MV_PAR03", 2)                      // Dt Pagto Informada? 1- Sim / 2- Não
        SetMVValue("GPM062","MV_PAR04", cTOd("27/09/2018"))     // Dt Pagto Fer. Prog?
        SetMVValue("GPM062","MV_PAR05", cTOd("01/10/2018"))     // Dt Inicio Prog. De?
        SetMVValue("GPM062","MV_PAR06", cTOd("31/10/2018"))     // Dt Inicio Prog. Ate?
        SetMVValue("GPM062","MV_PAR07", 2)                      // Média do Mes Atual? 1- Sim / 2- Não
        SetMVValue("GPM062","MV_PAR08", 3)                      // Calcular p/ periodo? 1 - Vencido / 2 - A vencer / 3 - Ambos
         
        // Grava os novos valores na SX1
        Pergunte("GPM062", .F.)
         
    EndIf
     
    // Executa a rotina
    MSExecAuto( {|x, y| GPEM060(x, y)}, 2, cFiltro) // 2 é a posição da opção Cálculo no menu da rotina (aRotina)
     
    If !lMsErroAuto
        ConOut("Cálculo de férias efetuado.")
    Else
        If IsBlind() // Sem Interface
            aLogAuto := MostraErro('Null')
            varinfo("aLogAuto", aLogAuto)
        Else
            MostraErro()
        EndIf 
    EndIf
     
Return

 

Saiba Mais: 
DT - Execução do Cálculo de Férias por Rotina Automática
Pacote de Expedição Contínua - Acumulado de RH
Página Centralizadora - Férias
RH - Linha Protheus - GPE - Execução do Cálculo de Férias por Rotina Automática - GPEM030
Manual de Férias

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _