Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Totvs custom tabs box items
defaultno
referencia2

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.

Para saber mais acesse:  GPE026FORMU_EXEMPLO FGERAVERBA__P12 (Corrigir - Parâmetro 7 deve ser I)


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.  

...

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:

    •  fGeraVerba(cCód,nVal,nHor,cSem,cCCusto,cTipo,,nParcelas,,dData,lAltera)

onde:

    • cCód - Código da Verba a ser gerada.
    • nVal - Valor da Verba.
    • nHor - Quantidade da Verba.
    • cSem - Número da Semana, somente deve ser utilizado para funcionários cuja periodicidade de pagamento seja semanal. Pode ser utilizada a variável  “cSemana” que é a semana indicada nas perguntas do programa.
    • cCCusto - Código do Centro de Custo do funcionário.
    • cTipo - Tipo da Verba. Pode ser V para Valor, H para Horas ou D para Dias. Se não for informado será assumido V.
    • Nulo - Após o Tipo deve ser informado um parâmetro Nulo ou seja, deve-se colocar DUAS vírgulas após o Tipo.
    • nParcelas - Número de Parcelas da Verba. Deve estar entre 0 e 99.
    • Nulo - Após a Parcela deve ser informado um parâmetro Nulo ou seja, deve-se colocar DUAS vírgulas após a Parcela.
    • dData - Data do efetivo pagamento da Verba. Pode-se utilizar a Variável dData_Pgto que é a data informada nas perguntas do cálculo.
    • lAltera - Variável lógica para indicar se a verba pode ser alterada, caso já exista no movimento do funcionário. Pode ser .T. ou .F..

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

...