Á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

Image RemovedImage Added

        

     

 

==>

           

     

   

==>

           

     

     

==>

       

  • 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)

...