Árvore de páginas

Versões comparadas

Chave

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

...

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 :


totvs-customtabs-box-yes

Em desenvolvimento: Sugestão de cadastro da fórmula a ser vinculada ao evento.

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

Criar a Fórmula desejada com o código a ser
    1. 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.

Image Modified

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:

Totvs custom tabs box
tabsERP_Datasul, ERP_Protheus , ERP_RM
ids1,2,3
-
items
default
no
referencia2

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

    1. Criar a Fórmula desejada com o código a ser
1
Totvs custom tabs box items
defaultno
referencia2
Evidências visuaisRegra 1:  % dif. por tipo de recebimentoExemplo prático

Image Modified

Image Modified  Image Modified

Image ModifiedImage Modified

Image Modified  Image Modified

==>

Image Modified     Image Modified

Image Modified  Image Modified

Image Modified     Image Modified

==>

Image Modified     Image Modified

Image Modified    Image Modified

Image Modified    Image Modified

==>

Image Modified      Image Modified

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

Image Added

Image Modified

       Image Modified 

Image Modified

     Image Modified

Image Modified  Image Modified

==>

Image Modified

Image Removed

           Image Added

Image Modified

     Image Modified

Image Modified

   Image Modified

==>

Image Modified

           Image Modified

Image Modified

      Image Modified

Image Modified      Image Modified

==>

Image Modified        Image Modified

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

Totvs custom tabs box items
defaultno
referencia3

Sugestão de cadastro da fórmula a ser vinculada ao evento de código de cálculo 444 - Margem Consignável Customizada:

Regra 1:  30% do salário nominalExemplo práticoRC * 0.3

Salário = 1000,00

Resultado Esperado 1000,00 *0,3 = 300,00   Total ref. ao valor da Margem do Funcionário

Regra 2:  30% da folha do funcionário no movimento financeiro atual.Exemplo práticoL * 0.3

Total de Proventos do Envelope = 6000,00

Total de Descontos do Envelope = 2000,00

Líquido do Envelope Atual = 4000,00 * 0.3 = 1200,00  Total ref. ao valor da Margem do Funcionário

Regra 3: 30% da folha do funcionário no movimento financeiro do mês anterior.Exemplo prático

/*DOC: Variável PERIODO deve receber o número do período de Fopagto Mensal*/  

SE MES=1
  E LIQUIDOFF(ANO-1,12,PERIODO) > 0
ENTAO LIQUIDOFF(ANO-1,12,PERIODO) * 0.3
SENAO
SE MES<>1
  E LIQUIDOFF(ANO,MES-1,PERIODO) > 0
ENTAO LIQUIDOFF(ANO,MES-1,PERIODO) * 0.3
SENAO RC * 0.3
FIMSE
     FIMSE
          FIMSE;

Mês da Competência atual = 6

Salário = 1000,00

Total de Proventos do Envelope do Mês 5 = 6000,00

Total de Descontos do Envelope do Mês 5 = 2000,00

Líquido do Envelope do Mês 5 = 4000,00 * 0.3 = 1200,00  Total ref. ao valor da Margem do Funcionário

Qualquer exceção o cálculo será com base no salário nominal 1000,00 *0,3 = 300,00   Total ref. ao valor da Margem do Funcionário

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 

...


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:

    •  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

...