CONTEÚDO

01. VISÃO GERAL

Com esse template, será possível visualizar de forma fácil como ocorrerá a aplicação de fórmulas e o funcionamento das mesmas na apuração do valor da verba/evento.

02. IMPORTANTE

03. MODELOS

Abaixo seguem exemplos de expressão sugeridos para te auxiliar na criação da fórmula a ser vinculada a verba/evento de Margem Consignável Customizada :


Passos para utilização da fórmula customizada no Protheus:

    1. Criar a Fórmula desejada com o código a ser vinculado (EX: U_002) no novo Roteiro de cálculo;
    2. Desabilitar o Roteiro de cálculo padrão (coluna Habilitado = Não) ;
    3. Criar o novo roteiro de cálculo vinculando a Fórmula através da busca padrão pelo filtro existente (lupa)  (EX: U_002)
    4. O novo roteiro deverá estar com a coluna Habilitado = Sim

Necessário lembrar que precisará ser desabilitado no Roteiro de Cálculo de Folha a regra de cálculo da margem consignável padrão e criar nova regra de usuário habilitado.

Segue abaixo sugestão de cadastro de fórmulas a ser vinculada a  verba de id. de cálculo 1857 - Margem Consignável Customizada: Somente serão destacados dados relevantes de preenchimento.


Fórmula Protheus - Exemplo 1:

Evidências visuaisRegra 1:  % dif. por tipo de recebimentoExemplo prático

 

 

==>

     

 

     

==>

     

   

   

==>

     

  • Condição: VERIFICA SEMANALISTA
    • 1a.Expressao:
      SRA->RA_CATFUNC == "S"
    • Op.3
      .END.

      • Lógica: Variável para Buscar Valor da Verba
        • Resultado:
          nValor := fBuscaPd("ZZ1*ZZ2", "V")
          // Atenção: Dentro do parênteses informe todas as verbas a serem consideradas para encontrar a base de cálculo, que se encontrarem no movimento sempre usando o mesmo separador, exemplo: "ZZ1*ZZ2*ZZ3*ZZ4","V" // 
        • Op.3
          .CNT.

      • Lógica: Aplica 20% no valor acima encontrado
        • Resultado
          nResult := nValor * 0.2
          // Atenção: o percentual aplicado fica a critério da empresa, lembrando que a legislação limita a 30% // 
        • Op.3
          .END.
  • Condição: VERIFICA MENSALISTA
    • 1a.Expressao:
      SRA->RA_CATFUNC == "M"
    • Op.3
      .END.

      • Lógica: Variável para Buscar Valor da Verba
        • Resultado:
          nValor := fBuscaPd("ZZ1*ZZ2", "V")
          // Atenção: Dentro do parênteses informe todas as verbas a serem consideradas para encontrar a base de cálculo, que se encontrarem no movimento sempre usando o mesmo separador, exemplo: "ZZ1*ZZ2*ZZ3*ZZ4","V" // 
        • Op.3
          .CNT.

      • Lógica: Aplica 40% no valor acima encontrado
        • Resultado:
          nResult := nValor * 0.4
          // Atenção: o percentual aplicado fica a critério da empresa, lembrando que a legislação limita a 30% // 
        • Op.3
          .END.


  • Condição: VERIFICA SE DIF. MENSALISTA E SEMANALISTA
    • 1a.Expressao:
      SRA->RA_CATFUNC != "S" .AND. SRA->RA_CATFUNC != "M"
    • Op.3
      .END.

      • Lógica: Variável para Busca Valor da Verba
        • Resultado:
          nValor := fBuscaPd("ZZ1*ZZ2", "V")
          // Atenção: Dentro do parênteses informe todas as verbas a serem consideradas para encontrar a base de cálculo, que se encontrarem no movimento sempre usando o mesmo separador, exemplo: "ZZ1*ZZ2*ZZ3*ZZ4","V" // 
        • Op.3
          .CNT.

      • Lógica: Aplica 30% no valor acima encontrado
        • Resultado:
          nResult := nValor * 0.3
          // Atenção: o percentual aplicado fica a critério da empresa, lembrando que a legislação limita a 30% // 
        • Op.3
          .END.

  • Resultado Final: GERA VERBA NO CALCULO DA FOLHA
    • 1a.Expressao:
      FGERAVERBA(aCodFol[1857, 1],nResult)
    • Op.3
      .END.


Mês da Competência atual = 6


==> Funcionário com tipo de recebimento Semanalista

Valor das Verbas no Movimento 6

     verba código ZZ1   =  + 2000,00

     verba código ZZ2   =  -  1000,00

     Resultado acumulado na variável nValor = 1000,00

nValor = 1000,00 * % = 1000,00 * 0.2 =  R$ 200,00  será o valor Total ref. a Margem Consignável do Funcionário


==> Funcionário com tipo de recebimento Mensalista

Valor das Verbas no Movimento 6

     verba código ZZ1   =  + 5000,00

     verba código ZZ2   =  -  3000,00

     Resultado acumulado na variável nValor = 2000,00

nValor = 2000,00 * % = 2000,00 * 0.4 =  R$ 800,00  será o valor Total ref. a Margem Consignável do Funcionário


==> Funcionário com tipo de recebimento  diferente de Mensalista e Semanalista

Valor das Verbas no Movimento 6

     verba código ZZ1   =  + 4000,00

     verba código ZZ2   =  -  2000,00

     Resultado acumulado na variável nValor = 2000,00

nValor = 2000,00 * % = 2000,00 * 0.3 =  R$ 600,00  será o valor Total ref. a Margem Consignável do Funcionário



Após rodar todas as condições e regras e apurar o valor final a verba cadastrada com o id de cálculo 1857 será gravada no movimento atual 6 com seu devido valor encontrado conforme descrito acima.


Fórmula Protheus - Exemplo 2:

Evidências visuaisRegra 2:  % dif. por Filial e/ou FunçãoExemplo prático

        

     

 

==>

           

     

   

==>

           

     

     

==>

       

  • Condição: VERIFICA 1a FILIAL
    • 1a.Expressao:
      SRA->RA_FILIAL == "D MG 01" 
      // Atenção: Dentro da aspas consta um valor para identificação da filial que é variável conforme desejado pelo cliente // 
    • Op.3
      .END.

      • Lógica: Variável para Buscar Valor da Verba
        • Resultado:
          nValor := fBuscaPd("ZZ1*ZZ2", "V")
          // Atenção: Dentro do parênteses informe todas as verbas a serem consideradas para encontrar a base de cálculo, que se encontrarem no movimento sempre usando o mesmo separador, exemplo: "ZZ1*ZZ2*ZZ3*ZZ4","V" // 
        • Op.3
          .CNT.

      • Lógica: Aplica 20% no valor acima encontrado
        • Resultado
          nResult := nValor * 0.2
          // Atenção: o percentual aplicado fica a critério da empresa, lembrando que a legislação limita a 30% // 
        • Op.3
          .END.
  • Condição: VERIFICA 2a FILIAL e duas funções específicas desta mesma filial
    • 1a.Expressao:
      SRA->RA_FILIAL == "M SP 01" .AND. 
        ( SRA->RA_CODFUN =="00001" .OR. SRA->RA_CODFUN =="00004") 
      // Atenção: Dentro da aspas consta um valor para identificação da filial  w código da função que é variável conforme desejado pelo cliente // 
    • Op.3
      .END.

      • Lógica: Variável para Buscar Valor da Verba
        • Resultado:
          nValor := fBuscaPd("ZZ1*ZZ2", "V")
          // Atenção: Dentro do parênteses informe todas as verbas a serem consideradas para encontrar a base de cálculo, que se encontrarem no movimento sempre usando o mesmo separador, exemplo: "ZZ1*ZZ2*ZZ3*ZZ4","V" // 
        • Op.3
          .CNT.

      • Lógica: Aplica 20% no valor acima encontrado
        • Resultado:
          nResult := nValor * 0.2
          // Atenção: o percentual aplicado fica a critério da empresa, lembrando que a legislação limita a 30% // 
        • Op.3
          .END.


  • Condição: VERIFICA SE DIF. 1a FILIAL e DIF. 2a FILIAL e duas funções específicas desta mesma filial
    • 1a.Expressao:

      !( SRA->RA_FILIAL == "D MG 01") .AND.

      !( SRA->RA_FILIAL == "M SP 01"  .AND. 
        ( SRA->RA_CODFUN =="00001" .OR. SRA->RA_CODFUN =="00004")
       )

       // Atenção: Dentro da aspas consta um valor para identificação da filial  w código da função que é variável conforme desejado pelo cliente; o símbolo ! realizará a negação da condição afirmativa  // 
    • Op.3
      .END.

      • Lógica: Variável para Busca Valor da Verba
        • Resultado:
          nValor := fBuscaPd("ZZ1*ZZ2", "V")
          // Atenção: Dentro do parênteses informe todas as verbas a serem consideradas para encontrar a base de cálculo, que se encontrarem no movimento sempre usando o mesmo separador, exemplo: "ZZ1*ZZ2*ZZ3*ZZ4","V" // 
        • Op.3
          .CNT.

      • Lógica: Aplica 30% no valor acima encontrado
        • Resultado:
          nResult := nValor * 0.3
          // Atenção: o percentual aplicado fica a critério da empresa, lembrando que a legislação limita a 30% // 
        • Op.3
          .END.

  • Resultado Final: GERA VERBA NO CALCULO DA FOLHA
    • 1a.Expressao:
      FGERAVERBA(aCodFol[1857, 1],nResult)
    • Op.3
      .END.


Mês da Competência atual = 6


==> Funcionário alocado na Filial "D MG 01"

Valor das Verbas no Movimento 6

     verba código ZZ1   =  + 2000,00

     verba código ZZ2   =  -  1000,00

     Resultado acumulado na variável nValor = 1000,00

nValor = 1000,00 * % = 1000,00 * 0.2 =  R$ 200,00  será o valor Total ref. a Margem Consignável do Funcionário



==> Funcionário alocado na Filial "M SP 01" e exercendo a função de Código = "00001"

Valor das Verbas no Movimento 6

     verba código ZZ1   =  + 5000,00

     verba código ZZ2   =  -  3000,00

     Resultado acumulado na variável nValor = 2000,00

nValor = 2000,00 * % = 2000,00 * 0.2 =  R$ 400,00  será o valor Total ref. a Margem Consignável do Funcionário


Funcionário alocado na Filial "M SP 01" e exercendo a função de Código = "00004"

Valor das Verbas no Movimento 6

     verba código ZZ1   =  + 3000,00

     verba código ZZ2   =  -  2000,00

     Resultado acumulado na variável nValor = 1000,00

nValor = 1000,00 * % = 1000,00 * 0.2 =  R$ 200,00  será o valor Total ref. a Margem Consignável do Funcionário



==> Funcionário alocados em outras filiais diferente de 1a FILIAL ou alocado na 2a FILIAL exercendo a função "00009"

Valor das Verbas no Movimento 6

     verba código ZZ1   =  + 4000,00

     verba código ZZ2   =  -  2000,00

     Resultado acumulado na variável nValor = 2000,00

nValor = 2000,00 * % = 2000,00 * 0.3 =  R$ 600,00  será o valor Total ref. a Margem Consignável do Funcionário



Após rodar todas as condições e regras e apurar o valor final a verba cadastrada com o id de cálculo 1857 será gravada no movimento atual 6 com seu devido valor encontrado conforme descrito acima.


Observação:

Caso exista Política Ativa cadastrada no Portal de Gestão do RH e esta, possua configurada a regra "Qual a porcentagem máxima do salário que pode ser alocado para o empréstimo?" , o valor da margem consignável vinda do ERP (independente se for margem customizada por fórmula), poderá ser substituído pelo limite imposto pela política caso este valor originado do ERP ultrapasse o limite calculado pela regra.  

Exemplos:

Exemplo 1:

Política Ativa cadastrada

Regra: "Qual a porcentagem máxima do salário que pode ser alocado para o empréstimo?" com o percentual informado 30

Valor da Margem original do ERP = R$ 520,00 

Salário bruto do funcionário = R$ 1200,00

Valor da margem consignável a ser considerado para análise da instituição de crédito:  R$ 360,00 


Exemplo 2:

Política Ativa cadastrada

Regra: "Qual a porcentagem máxima do salário que pode ser alocado para o empréstimo?" com o percentual informado 30

Valor da Margem original do ERP = R$ 220,00 

Salário bruto do funcionário = R$ 1200,00

Valor da margem consignável a ser considerado para análise da instituição de crédito:  R$ 220,00 


04  Exemplo do uso de Funções para uso em Fórmulas (GPEA160 - SIGAGPE - V12)

Sugestão de funções para Incluir ou Alterar uma Verba no Movimento do funcionário.

Sintaxe:

onde:

Exemplo de Utilização:

fGeraVerba(222,nValExt,nHorExt,cSemana,SRA->RA_CC,V,,0,,dData_Pgto,.T.)

fGeraVerba(223,0,SRA->RA_HRSMES, ,SRA->A_CC,H,99,,dData_Pgto,.T.)


05. LINKS ÚTEIS