Árvore de páginas

Versões comparadas

Chave

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

Este cadastro permite a manutenção de fórmulas que serão utilizadas no Roteiro de Cálculos.

Fórmula é um conjunto de expressões que poderá conter funções, campos de arquivos, mnemônicos, constantes e chamados de outras fórmulas.

Esse cadastro possibilita montagem de cálculos específicos para atender acordos coletivos, e outras particularidades da empresa ou da categoria.

O resultado de uma fórmula sempre será armazenado em um mnemônico previamente cadastrado em Cadastro de Mnemônicos.

As fórmulas relacionadas neste cadastro são classificadas conforme legenda, que definem se a fórmula é de autoria do usuário ou se é uma fórmula de Sistema.

A TOTVS envia a todos os seus clientes fórmulas que permitem realizar o cálculo de uma Folha de Pagamento sem que haja necessidade de criar outras fórmulas, uma vez que atendem à legislação vigente de cada país e, desta forma, não podem ser alteradas, são chamadas de fórmulas de Sistema.

Havendo a necessidade de alteração nas fórmulas de Sistema por qualquer motivo, a TOTVS realiza as alterações e as enviam para atualização da base de dados.

Importante:

  • Na abertura da rotina, o sistema sempre verifica a necessidade de atualização ou compilação de alguma fórmula de sistema. Caso exista, o processo de atualização será inicializado.
  • Logo após a verificação, é apresentada a lista de todas as fórmulas existentes no sistema (de sistema e de usuário).
  • As fórmulas de sistemas são apenas para visualização e ao tentar acessá-las ou excluí-las será apresentada uma mensagem de alerta e entrará na fórmula somente para consulta.

Para a inclusão de fórmulas neste cadastro, é preciso conhecer as várias etapas e conceitos, necessários na elaboração e montagem das fórmulas.



Procedimentos

Para incluir fórmulas de usuário:

  1. Em Fórmulas, selecione a opção Incluir.
    Para efetuar a alteração de fórmulas de usuários, encontre a fórmula que deseja alterar e selecione a opção Alterar.
  2. O Sistema apresenta a tela de cadastro de fórmula dividida em duas pastas:
    • Definições
    • Montagem
  3. Informe os dados necessários conforme orientação dos helps de campo.
  4. Confira e confirme.

Pasta Definições

Nesta pasta devem ser informados os dados que definem e identificam a fórmula, dando a ela um nome. Os principais campos são:

  • Código: Informe o código que identificará a fórmula, utilizando letras e/ou números.
  • Descrição: Informe a descrição da fórmula, sua principal funcionalidade. Quanto mais objetiva a descrição, mais fácil será seu entendimento na localização.
  • Retorno: Selecione um resultado para a fórmula, geralmente um mnemônico, sendo esta informação opcional.
  • Observação Fórmula: Descreva neste campo informações adicionais, como mais detalhes da fórmula, sugerindo exemplos etc.

Pasta Montagem

Nesta pasta deve-se construir efetivamente a estrutura da fórmula. A estrutura da fórmula será exibida em duas áreas distintas:

a)    A área à esquerda destaca os itens incluídos na estrutura da fórmula, para visualização.

Nesta área cada linha é identificada conforme os itens da fórmula, sendo:

  •  - Descrição da fórmula – será sempre o primeiro item, conforme informado na Pasta Definições, também pode ser utilizado com item de mensagem (nota explicativa).
  •  - item de Condição.
  •  - item de Laço (repetição).
  •  - item de Execução.


Com isso, conforme os itens recebam manutenção, esta estrutura também é atualizada e modificada, habilitando os seguintes recursos:

  •  - Incluir uma mensagem na fórmula [F12].
  •  - Incluir uma Condição na fórmula [F5].
  •  - Incluir um Laço [F7].
  •  - Incluir uma Execução [F6].
  • Editar a fórmula [F8] – permite editar algum item já existente.
  • Pesquisar – permite pesquisar itens na estrutura, informando a sequência de pesquisa.
  • Copiar – permite copiar um determinado item da estrutura. Ao copiar um item, seus subitens também serão copiados. Quando um item é copiado a legenda do item é modificada para .


Para cancelar esta opção, somente por meio da janela popup é possível Cancelar Cópia, opção Copiar -> Desmarcar.

  • Colar – permite colar um item copiado ou recortado.
  • Disponível também na janela popup, as opções Colar Cópia e Colar Recorte.
  • Recortar – permite recortar um determinado item da estrutura. Ao recortar um item, seus subitens também serão recortados. Quando um item é recortado a legenda do item é modificada para .


Para cancelar esta opção, somente por meio da janela popup é possível Cancelar Recorte, opção Recortar -> Desmarcar.

  • Excluir a sequência atual da fórmula - permite excluir um determinado item da estrutura. Ao recortar um item, seus subitens também serão excluídos.


Estes recursos podem ser acionados através da janela popup, apresentada ao clicar com o botão direito do mouse na área em destaque da fórmula, quando posicionada.

Os itens da estrutura são apresentados na forma encadeada, respeitando a maneira como esses itens foram incluídos.

No momento da inclusão de um item (condição, laço, execução) o sistema pergunta em que nível deverá ser criado, se:

  • Novo item – o sistema cria um novo item no mesmo nível do item em que está posicionado.
  • Subitem – o sistema cria um novo item no nível abaixo do item em que está posicionado.


Para ambos a inclusão do item será logo abaixo do item em que está posicionado, sempre após seus respectivos subitens.


b)    Na área da direita é apresentada a descrição de cada item da fórmula. É por esta área da formula que os itens recebem a manutenção, considerando as definições da estrutura.

Preenchimento dos campos de acordo com o tipo de item da fórmula:

  • Itens de mensagem ():
    • Descrição: informe a descrição da mensagem que será apresentada na fórmula.
    • Resultado: neste caso o resultado deve ser igual à descrição da mensagem.


  • Itens de condição ():
    • Descrição: informe a descrição da condição que será executada na fórmula.
    • 1ª Expressão: informe a condição que deve ser atendida para que seja efetuada alguma execução.


  • Itens de execução ():
    • Descrição: informe a descrição da execução que será na fórmula.
    • Resultado: defina o que será executado pela fórmula, neste caso poderá ser incluída uma função de usuário ou uma função que exista no produto padrão.


  • Itens de Laço ():
    • Descrição: informe a descrição da condição que será executada por repetição.
    • 1ª Expressão: informe a condição que será executada enquanto seu conteúdo for verdadeiro.


Para o preenchimento do campo Operador 3, existem as opções:

  • .END.: Quando a condição, execução ou laço terminam no item da fórmula que está sendo incluído/alterado. Neste caso não poderá ser incluído um novo item no mesmo nível do que acabou se der incluído, somente em um subitem no caso de condição ou laço.
  • .CNT.: Quando será feita alguma outra execução ou condição após o item da fórmula que está sendo incluído/alterado.


Importante:

Para uma melhor visualização da fórmula é sugerido que o preenchimento do campo Descrição:

  • Seja igual ao campo Resultado, quando o item da fórmula for Mensagem ou Execução.
  • Seja igual ao campo 1ª Expressão, quando o item da formula for Condição ou Laço.

Para confirmar a alteração/inclusão de cada item da fórmula, é necessário selecionar a opção  localizada no lado direito superior da tela.

Para cancelar a alteração/inclusão de cada item da fórmula, é necessário selecionar a opção  localizada no lado direito superior da tela.


Opções de Popup

As opções de popup apresentadas correspondem aos recursos disponíveis, sendo:

1 – = Incluir uma Condição na fórmula [F5].

3 –  = Incluir uma Execução [F6].

3 –  = Incluir um Laço [F7].

4 – Editar Fórmula [F8]

5 – Pesquisar

6 – Recortar/Marcar

7 – Copiar/Marcar

8 – Colar Cópia/Colar Recorte

9 – Excluir

10 – Copiar/Desmarcar

11 – Recortar/Desmarcar


Exemplos de Fórmulas

a)    Fórmulas com apenas itens de execução:

b)    Fórmulas com itens de execução e itens de condição:


c)     Fórmulas com itens de execução, itens de condição e itens de laço (repetição):

 



Conhecimentos Específicos

1. Fórmulas Específicas

Adicional por Tempo de Serviço

  • Fórmula S_INICADTS: Inicializa os dados para o cálculo do ATS – Adicional Tempo Serviço de acordo com o Sindicato do funcionário.
  • Fórmula S_CALCADTS: Responsável por calcular todos os Adicionais por Tempo de Serviço que o funcionário tem para Férias e 13º Salário, gravando em uma única verba. Executa-se esta fórmula nos roteiros de Férias e 13º Salário.
  • Fórmula S_CALCADTV: Responsável por calcular todos os Adicionais por Tempo de Serviço que o funcionário tem sobre o salário mais o valor das verbas configuradas com S para Ad.Tempo Serviço no Cadastro de Verbas que estejam no calculadas no aPd{}, gravando em uma única verba. Executa-se esta fórmula nos roteiros de Férias e 13º Salário.
  • Fórmula S_CALCANU: Responsável por calcular o adicional por Anuênio na Folha, Adiantamento e Rescisão. No adiantamento o valor do(s) adicional(s) é calculado em fórmula própria, porém  seu pagamento é feito junto na verba do Adiantamento como é feito hoje. Lembrando que o cálculo só é executado se o mnemônico lSomaInc está configurado com .T. (o padrão do sistema é .F.).
  • Fórmula S_CALCBIE: Responsável por calcular o adicional por Biênio. No adiantamento o valor do(s) adicional(s) é calculado em fórmula própria, porém  seu pagamento é feito junto na verba do Adiantamento como é feito hoje. Lembrando que o cálculo só é executado se o mnemônico lSomaInc está configurado com .T. (o padrão do sistema é .F.).
  • Fórmula S_CALTRIE: Responsável por calcular o adicional por Triênio. No adiantamento o valor do(s) adicional(s) é calculado em fórmula própria, porém  seu pagamento é feito junto na verba do Adiantamento como é feito hoje. Lembrando que o cálculo só é executado se o mnemônico lSomaInc está configurado com .T. (o padrão do sistema é .F.
  • Fórmula S_CALCANUV: Responsável por calcular o adicional por Biênio sobre salário mais valor das verbas calculadas, no aPd{},  no roteiro do adiantamento que estejam com S para Adic. Tp. Serv.
  • Fórmula S_CALTRIEV: Responsável por calcular o adicional por Triênio sobre salário mais valor das verbas calculadas, no aPd{},  no roteiro do adiantamento que estejam com S para Adic. Tp. Serv.
  • Fórmula S_CALCANUV: Responsável por calcular o adicional por Quadriênio sobre salário mais valor das verbas calculadas, no aPd{},  no roteiro do adiantamento que estejam com S para Adic. Tp. Serv.
  • Fórmula S_CALTRIEV: Responsável por calcular o adicional por Quinquênio sobre salário mais valor das verbas calculadas, no aPd{},  no roteiro do adiantamento que estejam com S para Adic. Tp. Serv.


Cargo de Confiança

  • Fórmula S_CALACONF: Responsável por calcular o adicional por Cargo de Confiança.
  • Fórmula S_CALADTRF: Responsável por calcular o adicional por Transferência.


Cálculo de Periculosidade

  • Fórmula S_CALCPERI: Responsável por calcular o adicional de Periculosidade.
  • Fórmula S_CALCPERV: Responsável por calcular o adicional de Periculosidade sobre Verbas.


Cálculo de Insalubridade

  • Fórmula S_VAL_BINS: Base de Cálculo de Insalubridade.
  • Fórmula S_CAINSMI: Responsável por calcular a Insalubridade Mínima.
  • Fórmula S_CAINSME: Responsável por calcular a Insalubridade Média.
  • Fórmula S_CAINSMA: Responsável por calcular a Insalubridade Máxima.
  • Fórmula S_CAINSAL: Responsável por calcular a Insalubridade. Essa fórmula deve ser executada para o cálculo da insalubridade, onde é utilizada uma única verba para a gravação, não diferenciando o mínimo, médio e máximo, como 13º Salário e Férias.
  • Fórmula S_CAINSALV: Responsável por calcular a Insalubridade sobre salário mais verbas configuradas com S para insalubridade em todos os roteiros de cálculo. Sua execução é feita sempre após a valorização das verbas.


Cálculo automático de Vale Refeição/Vale Alimentação

  • Fórmula S_CRGAUTOM: Responsável pela carga dos registros individuais.


    2.  Múltiplos Vínculos

Define-se com múltiplos vínculos os funcionários ou autônomos com dois ou mais contratos de trabalho. Os ramos de atividade dos principais usuários deste conceito são as entidades de ensino e as rádios.

A fórmula para o cálculo de múltiplos vínculos S_MULTIV() está disponibilizada em todos os roteiros de cálculo, porém precisa ser habilitada para que seu cálculo seja efetuado nos roteiros, de acordo com a necessidade do usuário.

END


 
Operadores para uso em Fórmulas

Há diferentes operadores que podem ser usados no Modelo 2, os quais mencionaremos aqui:

Operador

Descrição

DIAS_HAB_PROG

Dia úteis de uma faixa de datas da verba que está em uso;

DIAS_HABILES

Dias úteis de uma determinada faixa de datas;

DIVIDE

Operação matemática de divisão;

ETIQUETA

É utilizada para a criação de uma etiqueta;

EXPONENTE

Eleva a potência de um determinado número;

FILTRO_ACUM

Filtro Acumuladores;

FILTRO_MOVLI

Filtro Movimento do Período;

GET_MONEDA

Pesquisa fator de conversão de moedas;

GRABA

Salva Inf. nas Tabelas. SRA,SRK,RG4,RCP,RG1,SRD e SRF;

HASTA_IGUAL

Efetua a comparação até que o valor do campo seja = à;

HASTA_MAYOR

Efetua a comparação até que o valor do campo seja = a;

HASTA_MAYORIGUAL

Efetua a comparação até que o valor do campo seja >= a 2aE;

HASTA_MENOR

Efetua a comparação até que o valor do campo seja < a;

HASTA_MENORIGUAL

Efetua a comparação até que o valor do campo seja >= a 2aE;

HORAS_HABILES

Horas trabalhadas em uma determinada faixa de datas;

IE_TOTAL_CON

Totaliza o Valor da Verba dos funcionários que está sendo calculada, baseada no critério indicado;

IE_TOTAL_EMP

Totaliza o Número de Funcionários que preenchem o Critério indicado;

IMPORTE_EMPRESA

Soma em valores a verba da tabela de acumuladores;

IMPORTE_TOTAL

Soma os Valores da verba da tabela de acumuladores;

LEE_DEP

Retorna os registros de dependentes;

LEE_TRAY

Retorna os Reg. da Traj. de Trabalho em uma faixa de data;

MES

Retorna o mês de uma determinada data;

MUEVE

Atribui um valor para uma determinada variável;

MULTIPLICA

Operação matemática de multiplicação;

PAGA_DIA_DER

Retorna o número de dias de direito a pagar;

PRIMER_REG_DEP

Lê o primeiro registro de dependentes;

PRIMER_REG_TRAY

Lê o primeiro registro da trajetória de trabalho;

REDONDEA

Arredonda as casas decimais;

RESIDUO

Resto de uma operação de divisão;

RESTA

Operação matemática de subtração;

SALTA

Envia o cursor do proc. do roteiro de cálc. para a sequência;

SI_DIFERENTE

Confere se os dois valores são diferentes;

SI_IGUAL

Efetua a comparação entre dois valores;

SI_MAYOR

Compara se o conteúdo do primeiro valor é superior a s;

SI_MENOR

Compara se o conteúdo do primeiro valor é inferior a s;

SIG_DEP

Avança até o próximo registro de dependente;

SIG_TRAY

Avança até o próximo registro da trajetória de trabalho;

STRTOVAL

Converte a string em valor;

SUMA

Operação matemática de soma;

SUMA_DIAS

Soma os dias de incidências da mesma verba para os Reg.;

SUMA_IMPHIS

Soma valores da verba calculada no processo informado;

SUMA_IMPORTES

Soma todos os valores da verba calculada;

SUMA_MOVLI

Soma das Verbas geradas nos movimentos mensais;

SUMA_UNIDADES

Soma todas as unidades da verba calculada;

SUMA_UNIHIS

Soma unidades da verba calculada no processo informado;

TIPO_DIA

Retorna o tipo de data informada - S-Trabalhado, C - Compensado;

TRACE_OFF

Desativa o processo de debug nas fórmulas;

TRACE_ON

Ativa o processo de debug nas fórmulas;

TRUNCA

Trunca o valor informado;

ULTIMO_REG_DEP

Lê o último registro de dependentes;

ULTIMO_REG_TRAY

Lê o último registro da trajetória de trabalho;

UNIDADES_EMPRESA

Soma em unidades a verba da tabela de acumuladores;

UNIDADES_TOTAL

Soma as unidades da verba da tabela de acumuladores;

VALTOSTR

Converte o valor em string.

Operadores Aritméticos

OPERANDO 1

OPERADOR

OPERANDO 2

RESULTADO

F, N

SOMA

N

F, N

O operador SOMA tem duas formas de operar. Soma de números e soma de datas. Para o segundo caso, os dias poderão ser somados a uma data, dando como resultado uma data.

Operando 1

Operador

Operando 2

Resultado

SALDIA

SOMA  

COMISSÃO

NAUX_01

F, N

RESTA

F, N

N

O operador SUBTRAÇÃO manipula a diminuição de números e datas. Para o segundo caso, a subtração de datas resultará no número de dias entre as duas datas.

Operando 1

Operador

Operando 2

Resultado

AÑOFINPER

SUBTRAÇÃO     

10000

NAUX_01

N

MULTIPLICA

N

N

O operador MULTIPLICAÇÃO só pode ser usado com números.

Operando 1

Operador

Operando 2

Resultado

SALDIA

MULTIPLICA

DIASPERIOD

NAUX_01

N

DIVIDE

N

N

O operador DIVISÃO só pode ser usado com números. Caso realize uma divisão entre 0, marcará erro no log do cálculo.

Operando 1

Operador

Operando 2

Resultado

SALDIA

DIVIDE

8

SALHORA

{decimais}

TRUNCA

N

N

O operador TRUNCA tem duas formas de operar: Se não são postos os decimais no OPERANDO1, trunca os decimais. Se os decimais são postos no OPERANDO1, trunca o número de decimais indicado.

Exemplo:

Operando 1

Operador

Operando 2

Resultado

Evaluación

1

TRUNCA

125.475617

resultado

= 125.40

2

TRUNCA

125.475617

resultado

= 125.47

0

TRUNCA

125.475617

resultado

= 125.00


TRUNCA

125.475617

resultado

= 125.00

N

RESIDUO

N

N

O operador RESÍDUO realiza a divisão inteira e reporta o resíduo desta divisão.

Exemplo:

Divisão Normal: 5/2 = 2.5      Divisão Inteira: 5/2 = 2 RESÍDUO 1.

Operando 1

Operador

Operando 2

Resultado

PERÍODO

RESÍDUO

2

NAUX_01

{decimais}

ARREDONDAMENTO

N

N

O operador ARREDONDAMENTO quando não coloca os decimais, arredonda a dois decimais, de acordo com o procedimento de moeda (a centésimos, 1 e 2 baixam a 0; 3 e 4 sobem para 5; 6 e 7 baixam para 5; 8 e 9 sobem para 0). Se os decimais são postos no OPERANDO1, arredonda aritmeticamente (se for menor que 5 baixa; se é maior que 5, sobe).

Exemplo:

Operando 1

Operador

Operando 2

Resultado

Evaluación

2

ARREDONDAMENTO

125.475617

resultado

= 125.48


ARREDONDAMENTO

125.475617

resultado

= 125.45

N

EXPONENTE

N

N

O operador EXPONENTE realiza a elevação do número à potência indicada.

Operando 1

Operador

Operando 2

Resultado

Evaluación

5

EXPONENTE

3

NAUX_01

=125

Controle de Fluxo

OPERANDO 1

OPERADOR

OPERANDO 2

RESULTADO

Etiqueta

ETIQUETA



Este operador apenas indica a linha em que se encontra a marca ou etiqueta usada pelos operadores SI_MAYOR, SI_MENOR, SI_DIFERENTE, SI_IGUAL e SALTA.

N, F, C, L

SI_IGUAL

N, F, C, L

Etiqueta

N, F

SI_MAYOR

N, F

Etiqueta

N, F

SI_MENOR

N, F

Etiqueta

N, F, C, L

SI_DIFERENTE

N, F, C, L

Etiqueta

Estes quatro operadores são usados para fazer comparações entre dois valores. Caso o resultado seja positivo, então saltará para a linha da fórmula em que se encontra a etiqueta indicada no Resultado. Este salto puede ser para cima ou para baixo.

Geralmente, quando são usados condicionais (IF ou SI para Excel, por exemplo) as ações a seguir são postas depois da condição. En GPE MODELO II se recomienda poner primero las acciones en caso afirmativo y después la condición, y debajo de la condición las acciones en caso contrario, ya que de cumplirse la condición saltará.

Por exemplo: Se o funcionário tem uma data de reconhecimento de antiguidade, tome como base essa data para determinar a antiguidade. Caso contrário, veja se tem uma data de readmissão, e tome essa data para determinar a antiguidade; se não, tome como base a data de admissão.

Operando 1

Operador

Operando 2

Resultado


MUEVE

FCHARECON

DAUX_01

FCHARECON

SI_DIFERENTE

VACIO

CONTINUA_1


MUEVE

FCHAREING

DAUX_01

FCHAREING

SI_DIFERENTE

VACIO

CONTINUA_1


MUEVE

FECHAING

DAUX_01

CONTINUA_1

ETIQUETA



FCHFINPER

RESTA

DAUX_01

NAUX_02

NAUX_02

DIVIDE

365

ANTIGÜEDAD


SALTA


Etiqueta

Este operador é um pulo incondicionado. Isto é, automaticamente passará para a linha da fórmula em que se encontra a etiqueta indicada em Resultados.

Por exemplo, se o tipo de aumento é igual a 1, e o salário diário é menor que o mínimo e diferente de zero, o salário mínimo deve ser movido para o salário diário. Caso o tipo de aumento seja igual a 2, então o salário diário deve ser multiplicado pela % geral.

Operando 1

Operador

Operando 2

Resultado

TIPOAUM

SI_DIFERENTE

“1”

CONTINUA_1

SALDIA

SI_IGUAL

0

CONTINUA_2

SALDIA

SI_MAYOR

SALMIN

CONTINUA_2


MUEVE

SALMIN

SALDIA


SALTA


CONTINUA_2

CONTINUA_1

ETIQUETA



INCRE_GRAL

DIVIDE 100

NAUX_01


NAUX_01

SUMA   1

NAUX_01


SALDIA

MULTIPLICA

NAUX_01

SALDIA

CONTINUA_2

ETIQUETA



Movimento de Dados

OPERANDO 1

OPERADOR

OPERANDO 2

RESULTADO

C

STRTOVAL

N

N

Converte o dado informado no operando 1 de tipo carácter em numérico. O dado de tipo carácter, ou string, pode ser um mnemônico de tipo arquivo, reservado ou uma constante. Para identificar os decimais, deverá ser usado ponto (12.5). Se existe um carácter vírgula (,) como separador dos decimais, este não será considerado.  No operando 2 deve ser indicado o número de decimais a retornar. Se nenhum número for informado neste campo, devolverá um número inteiro.

Operando 1

Operador

Operando 2

Resultado

Evaluación

“12”

STRTOVAL


NAUX_30

12

“12.45”

STRTOVAL


NAUX_31

12

“12.45”

STRTOVAL

1

NAUX_32

12,4

“12.45”

STRTOVAL

2

NAUX_33

12.45

“12.45”

STRTOVAL

3

NAUX_34

12.45

N

VALTOSTR

N

C

Converte o dado informado no operando 1 de tipo numérico (tipo arquivo, reservado ou constante) em um carácter ou string. O ponto será usado (.) como separador dos decimais. No operando 2 deverá ser indicado o tamanho do carácter que será devolvido, considerando o ponto decimal dentro da conta de caracteres.  Por exemplo: 12.45 tem tamanho de 5. Se não for informado, ou o tamanho indicado for menor, então será devolvido o valor exato convertido em string. Se o tamanho for maior, será preenchido com zeros à esquerda.

Operando 1

Operador

Operando 2

Resultado

Evaluación

12

VALTOSTR


CAUX_01

“12”

12

VALTOSTR

4

CAUX_02

“0012”

12.45

VALTOSTR


CAUX_03

“12.45”

12.45

VALTOSTR

6

CAUX_04

“012.45”

F

GET_MONEDA

Número Moneda

N

Retorna o valor da taxa de paridade em determinada data e da moeda solicitada. No Financeiro, as moedas são identificadas com números, que são definidos para cada cliente. Por exemplo: 1 para a moeda local; 2 para Dólares.

Exemplo 1: Supondo que o dia 21 de Março de 2012 tem paridade de 39.12 para os Pesos República Dominicana X Dólares, e esta seja a moeda 3. O salário do trabalhador é 1000 USD. Quer obter-se o salário em Pesos.

Operando 1

Operador

Operando 2

Resultado

Evaluación

21/03/2012

GET_MONEDA

3

NAUX_01

39.12

EMPSALARIO

MULTIPLICA

NAUX_01

SALPESOS

39,120.00

Exemplo 2:

Supondo que foi concedido um bônus de 500 USD ao funcionário, calculado com a data final do Período, quer-se o bônus em Pesos.

Operando 1

Operador

Operando 2

Resultado

Evaluación

PERFECFIN

GET_MONEDA

3

NAUX_01

39.12

INCIMPINC

MULTIPLICA

NAUX_01

IMPORTE

19,560.0


ANO

F

N

Retorna o ano de uma determinada data:

Operando 1

Operador

Operando 2

Resultado

Evaluación


ANO

25/05/2007

NAUX_01

2007


MES

F

N

Retorna o mês de uma determinada data:

Operando 1

Operador

Operando 2

Resultado

Evaluación


MES

25/05/2007

NAUX_01

5


DIA

F

N

Retorna o dia de uma determinada data:

Operando 1

Operador

Operando 2

Resultado

Evaluación


DIA

25/05/2007

NAUX_01

25


DIA_SEMANA

F

N

Retorna o dia da semana uma determinada data considerando 1= Domingo al 7 = sábado

Operando 1

Operador

Operando 2

Resultado

Evaluación


DIA_SEMANA

25/05/2007

NAUX_01

6


MUEVE

N, F, C, L

N, F, C, L

O operador MUEVE aloca o conteúdo do dado no mnemônico que se encontra em resultado.


CONVIERTE_FECHA

Dato {AAAAMMDD}

F

É utilizado quando se quer montar datas. Por exemplo, se quer ter a data de aniversário, obtém-se o mnemônico ano da data de início do período e o mês e dia da data de admissão. Para obter a data com formato aaaammdd, multiplica-se o ano por 10000 + mês * 100 + dia. Ao aplicar-lhe o CONVIERTE_FECHA, terá um mnemônico de tipo data, que pode ser guardada, comparada, somada ou subtraída como data.

Exemplo: Pagar 12 dias de prêmio de férias para todos os funcionários se a data de aniversário se encontra entre a data inicial e final do período. Se o Período é 01/01/2009 até 15/01/2009 e a data de admissão é 05/01/2004

Operando 1

Operador

Operando 2

Resultado

Evaluación


ANO

FECFINPER

NAUX_01

2009


MES

FECHAING

NAUX_02

1

NAUX_01

MULTIPLICA

10000

NAUX_01

20090000

NAUX_02

MULTIPLICA

100

NAUX_02

100

NAUX_01

SUMA

NAUX_02

NAUX_03

20090100


DIA

FECHING

NAUX_04

5

NAUX_03

SUMA

NAUX_04

NAUX_03

20090105


CONVIERTE_FECHA

NAUX_03

ANIVERSARIO

05/01/2009

ANIVERSARIO

SI_MENOR

FECHINIPER

FINAL


ANIVERSARIO

SI_MAYOR

FECHFINPER

FINAL


12

MULTIPLICA

FACTPRIMVA

UNIDADES


UNIDADES

MULTIPLICA

SALDIA

IMPORTE



MUEVE

IMPORTE

PRIMAVAC


FINAL

ETIQUETA




Dia inicial

SUMA_DIAS

Dia final

N

Pode-se capturar incidências por três modos: Incidências por Funcionário, Incidências por Verba e Tempo Extra. Esta última forma geralmente ocupa o tempo extra, por isso foi denominada assim, y permite capturar as incidências dia por dia, considerando um registro por semana.

Os dados são capturados do dia 1 até 7, que correspondem aos dias da semana, sendo o dia 1 o primeiro dia da semana para a empresa. Independentemente da captura por cada dia no campo de horas, será acumulado o total capturado nos 7 dias.

Com este operador pode-se ler as incidências de cada dia ou de uma faixa de dias. É ocupado para não ter que realizar o cálculo de cada dia, repetindo o mesmo sete vezes. Desta forma, um ciclo em conjunto com o operador SI_MENOR poderá ser utilizado.

Por exemplo: Determinar as horas extras duplas e triplas, integráveis, gravadas e isentas, considerando até 3 horas x dia integráveis e até três dias por semana. Até 9 dobradas e o resto triplas. Isenção de 50% até 5 SMG por semana, o resto gravado. Para isso, cada semana será capturada em um registro de incidências por dia.

Operando 1

Operador

Operando 2

Resultado

UNIINC

SI_IGUAL

0

FINAL

# DETERMINAR LAS HORAS INTEGRABLES

Y NOINTEGRABLES

# NAUX_01 = CONTADOR DE DÍAS DE LA SEMANA


MUEVE

0

NAUX_01

# NAUX_02 =  CONTADOR DE VECES X SEMANA


MUEVE

0

NAUX_02

CICLO

ETIQUETA



NAUX_01

SUMA

1

NAUX_01

# NAUX_03 = HORAS NO INTEGRABLES 


MUEVE

0

NAUX_03

# NAUX_04 = HORAS INTEGRA  

BLES



MUEVE

0

NAUX_04

# OBTIENE LAS HORAS EXTRAS DE CADA UNO DE LOS DÍAS

NAUX_01

SUMA_DIAS

NAUX_01

NAUX_05

NAUX_05

SI_IGUAL

0

CONTINUA_1

NAUX_02

SUMA

1

NAUX_02

# DETERMINA SI YA TIENE MAS DE 3 DÍAS EN LA SEMANA

NAUX_02

SI_MAYOR

3

CONTINUA_1

# DETERMINA SI SON MAS DE 3 HORAS POR DÍA


MUEVE

NAUX_05

NAUX_03

NAUX_03

SI_MENOR

3

CONTINUA_1


MUEVE

3

NAUX_03

CONTINUA_1

ETIQUETA



NAUX_05

RESTA

NAUX_03

NAUX_04

NAUX_03

SUMA

NAUX_19

NAUX_19

NAUX_04

SUMA

NAUX_20

NAUX_20

NAUX_01

SI_MENOR

7

CICLO

NAUX_19

SUMA

HRS_NOINTE

HRS_NOINTE

NAUX_20

SUMA

HRS_INTE

HRS_INTE

# DETERMINA LAS HORAS DOBLES Y TRIPLES


MUEVE

UNIINC

NAUX_17

NAUX_17

SI_MENOR

9

CONTINUA_3


MUEVE

9

NAUX_17

UNIINC

RESTA

NAUX_17

NAUX_18

CONTINUA_3

ETIQUETA



HRS_DOBLES

SUMA

NAUX_17

HRS_DOBLES

HRS_TRIPLE

SUMA

NAUX_18

HRS_TRIPLE

# DETERMINA EL IMPORTE HRS DOBLESYTRIP

SALDIA

DIVIDE

8

NAUX_06

NAUX_17

MULTIPLICA

NAUX_06

NAUX_07

NAUX_07

MULTIPLICA

2

NAUX_07

NAUX_07

SUMA

IMP_HRSDOB

IMP_HRSDOB

NAUX_18

MULTIPLICA

NAUX_06

NAUX_08

NAUX_08

MULTIPLICA

3

NAUX_08

NAUX_08

SUMA

IMP_HRSTRI

IMP_HRSTRI

# DETERMINA EL IMPORTE GRAVADO Y EXENTO

NAUX_07

MULTIPLICA

0.5

NAUX_09

NAUX_09

SI_MENOR

TOPE_TEXT

CONTINUA_4


MUEVE

TOPE_TEXT

NAUX_09

CONTINUA_4

ETIQUETA



NAUX_07

RESTA

NAUX_09

NAUX_10

TEXTGRAVA

SUMA

NAUX_10

TEXTGRAVA

NAUX_08

SUMA

TEXTGRAVA

TEXTGRAVA

TEXTEXENTO

SUMA

NAUX_09

TEXTEXENTO

# DETERMINA EL IMPORTE INTEGRA BLE  


MUEVE

NAUX_20

NAUX_11

UNIINC

SI_MENOR

9

CONTINUA_5

9

RESTA

NAUX_19

NAUX_11

NAUX_20

RESTA

NAUX_11

NAUX_12

CONTINUA_5

ETIQUETA



NAUX_11

MULTIPLICA

NAUX_06

NAUX_13

NAUX_13

MULTIPLICA

2

NAUX_13

NAUX_12

MULTIPLICA

NAUX_06

NAUX_14

NAUX_14

MULTIPLICA

3

NAUX_14

NAUX_13

SUMA

NAUX_14

NAUX_15

NAUX_15

SUMA

IMP_INTEG

IMP_INTEG

NAUX_19

MULTIPLICA

NAUX_06

NAUX_16

NAUX_16

MULTIPLICA

2

NAUX_16

NAUX_16

SUMA

IMP_NOINTE

IMP_NOINTE

FINAL

ETIQUETA



<Valor a Filtrar>


<VAZIO>

FILTRO_MOVLI

<Campo SRV>

<lista verbas>

<VAZIO>


O operador FILTRO_MOVLI tem a função de realiza um pré-filtro, usando como referência os campos do catálogo de verbas, e funcionará em conjunto com o operador SUMA_MOVLI, onde filtrará por verbas (RC_PD) a tabela de Movimentos de Folha de Pagamento (SRC).

O uso do operador FILTRO_MOVLI com SUMA_MOVLI só funcionará se existirem valores de verbas calculados previamente no Movimentos de Folha de Pagamento (SRC). Poderão ser incluídos vários FILTRO_MOVLI, que se ligarão a um AND.

Se o SUMA_MOVLI não tiver dados na primeira ou na segunda expressão, significa que deve se considerado o el filtro indicado em FILTRO_MOVLI.

Exemplo 01: apenas com um filtro em FILTRO_MOVLI

Operando 1

Operador

Operando 2

Resultado

“1”

FILTRO_MOVLI

CONISR



SUMA_MOVLI


NAUX_01

Exemplo 02: apenas com um filtro em SUMA_MOVLI

Operando 1

Operador

Operando 2

Resultado

“1”

SUMA_MOVLI

CONISR

NAUX_01

Exemplo 03: apenas com um filtro em SUMA_MOVLI e tomando o valor “1” ou “S” como padrão

Operando 1

Operador

Operando 2

Resultado


SUMA_MOVLI

CONISR

NAUX_01

Exemplo 04: apenas com um filtro em FILTRO_MOVLI e buscando vários valores

Operando 1

Operador

Operando 2

Resultado

“1,3”

FILTRO_MOVLI

CONISR

           


SUMA_MOVLI


NAUX_01

Exemplo 05: buscar valores diferentes do mesmo campo.

Operando 1

Operador

Operando 2

Resultado

‘3’

FILTRO_MOVLI

RV_TIPOCOD



SUMA_MOVLI


NAUX_01

‘1’

FILTRO_MOVLI

RV_TIPOCOD



SUMA_MOVLI


NAUX_02


Conteúdo

SUMA_MOVLI

Mnemônico de SRV ou

BASE_PENSIÓN ou

Lista de Verbas

N

Permite, por meio da fórmula, o cálculo (adição/subtração) dos valores das verbas já calculadas nos Movimentos Mensais (SRC), de acordo com a lista de verbas selecionada. Também permite o cálculo para beneficiários, de acordo com a definição do operando BASE_PENSION.

Por padrão serão obtidos os valores (RC_VALOR) da lista de verbas indicada; no entanto, se for necessária a obtenção do total de H=Horas ou D=Dias, deverá ser indicado no mnemônico reservado TP_SUMA_MOVLI.

O posicionamento para a tabela de beneficiários deve ser realizado em conjunto com o operador SUMA_MOVLI e o Mnemônico reservado BASE_PENSION, identificado na segunda expressão da fórmula utilizada.

  • Para que seja permitida a utilização deste operador em conjunto com BASE_PENSION é necessário que, em Verbas por Processo  (SRM), no campo Ler Ben = Sim (RM_LEEBEN)
  • Na rotina de Beneficiários, se um funcionário tiver várias pensões alimentícias, deverá se capturada uma verba diferente para cada registro.
  • Durante o cálculo, será obtida a base de pensão, dependendo da verba que esteja sendo calculada y da lista de verbas indicadas no campo de Verbas Base para a Pensão.

Operando 1

Operador

Operando 2

Resultado

“Conteúdo”

SUMA_MOVLI

BASE_PENSION

NAUX_01

Também é possível utilizar o operador SUMA_MOVLI com um Mnemônico que identifique um campo de incidências da tabela SRV, por exemplo RV_PENSAO. Desta forma, serão calculadas todas as verbas com o valor deste campo igual a “Sim”, para incidir:

Operando 1

Operador

Operando 2

Resultado


SUMA_MOVLI

Mnemônico

NAUX_01

Outra possibilidade é utilizar os valores diretamente na expressão da fórmula, os quais devem os códigos das verbas registradas na tabela SRV, no campo Código (RV_COD).

Exemplo:

Operando 1

Operador

Operando 2

Resultado

SUMA_MOVLI

‘001,002,003’

NAUX_01

Soma os valores das verbas calculadas até o momento, de acordo com a lista de verbas selecionadas. Respeita o tipo de verba, isto é, se é Arrecadação ou Base Arrecadação, será somado e, se for Dedução ou Base Dedução, será subtraído.

Exemplo 1: Supondo que se tem o mnemônico CONISR associado à tabela SRV=Verbas e o campo RV_IR=ISR

“2”      SUMA_MOVLI    CONISR NAUX_01

Exemplo 2: Supondo que se tem o mnemônico CONSDO associado à tabela SRV=Verbas e o campo RV_INCORP

Caso se queira obter os dias incorporados ao salário, para determinar os dias a serem pagos.


MUEVE

“D”

TP_SUMA_MOVLI

“1”

SUMA_MOVLI

CONSDO

NAUX_01


ie_total_con

<critério>

N


IE_TOTAL_EMP

<critério>

N

Estes operadores são utilizados em conjunto com uma tabela alfanumérica denominada Critério, que contém uma chave e uma descrição. Para cada funcionário, associa um critério.

IE_TOTAL_CON obtém a soma dos valores do mês que está sendo processado (RCH_MES, RCH_ANO), da verba que está sendo calculada, de todos os funcionários que cumprem com o <critério> indicado.

IE_TOTAL_EMP obtém o Total de Funcionários que, durante o mês que está sendo processado (RCH_MES, RCH_ANO), tiveram valor na verba que está sendo calculada, e que cumprem com o <critério> indicado.

Exemplo: Some a base de imposto estatal do mês, de todos os funcionários com critério 004. Desta base, subtraia 8 salários mínimos mensais, considerando o fator de 30.5. Deste resultado, divida entre a base original para obter um fator. O Imposto Estatal será obtido somando a base de imposto estatal do mês do trabalhador e multiplicando pelo fator (Roteiro de cálculo do Imposto Estatal del Estado de Querétar, México).

# OBTIENE ACUM

DEL MES

DEL TRABAJADOR


PERMESPER

IMPORTE_EMPRESA

PERMESPER

NAUX_01

# OBTIENE

SAL MIN




BUSCA

TABLA_S006


ELEMENTO_01

HASTA_IGUAL

EMPZONECO



MUEVE

ELEMENTO_02

SALMIN

# OBTIENE ACUM

DEL MES DE TODOS

LOS TRABAJADORER

CON CRITERIO “0004”

EMPCRIACUM

SI_DIFERENTE

"004"

CONT_04


IE_TOTAL_CON

"004"

BASEISNQRO

CONT_04

ETIQUETA



SALMIN

MULTIPLICA

8

NAUX_03

NAUX_03

MULTIPLICA

30.5

NAUX_03

BASEISNQRO

RESTA

NAUX_03

NAUX_04

NAUX_04

DIVIDE

BASEISNQRO

FACISNQRO

NAUX_01

MULTIPLICA

FACISNQRO

BASEIMPEST

CONT_04

ETIQUETA










Histórico de Acumulados

OPERANDO 1

OPERADOR

OPERANDO 2

RESULTADO


BUSCA_ANO_EMPRES

Año


O histórico de acumulados em Modelo 2 tem ano de início e ano final, por isso é necessário indicar o ano dos acumulados que buscamos, quando os operadores IMPORTE_EMPRESA e UNIDADES_EMPRESA forem ocupados.

Se for indicado com o operador BUSCA_ANO_EMPRES, tanto o ano inicial como o final terão o ano atribuído neste operador. Caso este operador não seja ocupado, trará os acumulados do ano en curso, tanto para o ano de início como o ano final.

Caso os anos sejam diferentes, quando um acumulado iniciar em um mês diferente de janeiro, será necessário que seja indicado diretamente nos mnemônicos reservados ANO_INI_ACU e ANO_FIM_ACU.


BUSCA_PROCESO

Proceso


Quando forem utilizados SUMA_UNIDADES ou SUMA_IMPORTES como padrão é buscado no processo em que o funcionário está alocado. Se for requerida a extração de acumulados de outros processos, com BUSCA_PROCESO serão carregados os acumulados do processo empregado e verba indicada, já que a abrangência deste operador é para a fórmula que está sendo avaliada. O processo é um campo caráter.

Operando 1

Operador

Operando 2

Resultado


BUSCA_PROCESO

“01   “


C


<VACIO>

FILTRO_ACUM

<campo SRV>

<lista conceptos>

<VACIO>


O operador FILTRO_ACUM tem como objetivo realizar um pré-filtro de Acumulados (RG7), usando como parâmetro o campo de verba (RG7_PD), e enviará este filtro para o próximo operador de Acumulados.

Um ponto importante é que os operadores: SUMA_UNIDADES, SUMA_IMPORTES, UNIDADESA_EMPRESA, IMPORTE_EMPRESA, UNIDADES_TOTAL, IMPORTE_TOTAL, poderão funcionar sem necessidade de utilizar o filtro de verbas.

No Catálogo de Verbas por Processo (SRM), deve ser associada uma verba (RM_VERBA) com uma fórmula (RM_CODFOR); no entanto, se for usado o operador FILTRO_ACUM, a verba (RM_VERBA) não será levada em consideração, pois o operador FILTRO_ACUM, realizará  o pré-filtro das verbas indicadas nele mesmo.

Se a condição do filtro usado em FILTRO_ACUM não existir,  o retorno do operador  será Zero(0).

Caso seja necessário limpar o conteúdo do FILTRO_ACUM, use 1ª e 2ª expressão da fórmula sem dados (vazios).

O FILTRO_ACUM pode ser usado várias vezes numa mesma fórmula, e cada um será adicionado ao anterior, dando-lhe um tratamento de E (AND) (desde que não seja colocado um filtro sem 1a. e 2a. expressão, já que ela limpa todos os filtros). Em cada nova fórmula, o FILTRO_ACUM será limpo.

Operando 1

Operador

Operando 2

Resultado

“2”

FILTRO ACUM

CONISR


“2”

FILTRO_ACUM

CONCCSS


PERMESPER

IMPORTE_EMPRESA

PERMESPER

IMPORTE

<tipo>

BUSCA_SUCURSAL

Sucursales


Quando forem utilizadas UNIDADES_EMPRESA ou IMPORTE_EMPRESA, por padrão são lidos os acumulados da filial em que o funcionário está alocado. Se for requerido extrair os acumulados de outras filiais, com BUSCA_SUCUSAL, serão carregados os acumulados das filiais e a verba indicada. A abrangência deste operador é para TODAS as fórmulas de verbas por processo a partir da fórmula em que se ocupa, por isso é recomendado colocá-la na primeira fórmula definida. Para indicar as filiais, capture-as separadas por vírgula (,) e esta filial deve existir no sigamat.

  • Se está sendo utilizado o Gestão Corporativa, na primeira expressão deve ser colocado:

1. Para indicar que todas as filiais de uma mesma empresa devem ser filtradas, com base no acesso de Módulo de Gestão de Pessoal ou no conteúdo utilizado na segunda expressão deste operador.

2. Para indicar que devem ser filtradas todas as filiais de uma mesma Empresa e Unidade de Negócios ou no conteúdo utilizado na segunda expressão deste operador.

Deixe em branco a primeira expressão para limpar o filtro de filiais.

Considerando a seguinte configuração de Gestão de Empresas e o funcionário pertencendo à filial=D MG 01.

Empresa

Unidade de Negócio

Filial

D

MG

D MG 01

D

MG

D MG 02

D

RJ

D RJ 01

D

RJ

D RJ 02

M

PR

M PR 01

M

PR

M PR 02

M

SP

M SP 01

M

SP

M SP 02

A

AM

A AM 01

A

AM

A AM 02

A

RO

A RO 01

A

RO

A RO 02


Exemplo 1: Fórmula para obter os acumulados da empresa D:

Empresa

Unidade de Negócio

Filial




D

MG

D MG 01

D

MG

D MG 02

D

RJ

D RJ 01

D

RJ

D RJ 02

Operando 1

Operador

Operando 2

Resultado

“1”

BUSCA_SUCURSAL



“01”

UNIDADES_EMPRESA

“01”

NAUX_01








Exemplo 2: Fórmula para obter os acumulados da empresa D e M.

Empresa

Unidade de Negócio

Filial




D

MG

D MG 01

D

MG

D MG 02

D

RJ

D RJ 01

D

RJ

D RJ 02

M

PR

M PR 01

M

PR

M PR 02

M

SP

M SP 01

M

SP

M SP 02

Operando 1

Operador

Operando 2

Resultado

“1”

BUSCA_SUCURSAL


“D MG 01,M PR 01”

“01”

UNIDADES_EMPRESA

“01”

NAUX_01








Exemplo 3: Fórmula para obter os acumulados da empresa D e Unidade de Negócios MG:

Empresa

Unidade de Negócio

Filial




D

MG

D MG 01

D

MG

D MG 02

Operando 1

Operador

Operando 2

Resultado

“2”

BUSCA_SUCURSAL



“01”

UNIDADES_EMPRESA

“01”

NAUX_01








Mês início

SUMA_IMPORTES

mês fim

N

Mês início

SUMA_UNIDADES

mês fim

N

Estes dois operadores (SUMA_UNIDADES e SUMA_IMPORTES) leem os acumulados do funcionário do mês inicial até o mês final do processo no maestro de empregados ou o indicado em BUSCA_PROCESO. Os meses são do tipo carácter de tamanho 2. Para indicar o ano inicial e final é necessário alocá-lo nos mnemônicos ANO_INI_ACU e ANO_FIN_ACU ou, se o ano é o mesmo para os dois, pode-se ocupar o Operador  BUSCA_ANO_EMPRES.

mês início

UNIDADES_EMPRESA

Mês fin

N

mês início

IMPORTE_EMPRESA

Mês fin

N

Estes dois operadores (UNIDADES_EMPRESA e IMPORTES_EMPRESA) leem os acumulados do funcionário do mês inicial até o mês final de todos os processos pertenecentes à empresa a qual está alocado o processo que está sendo executado. Os meses são de tipo carácter de tamanho 2. Para indicar o ano inicial e final, é necessário alocá-los nos mnemônicos ANO_INI_ACU e ANO_FIN_ACU, ou se o ano é o mesmo para os dois, pode-se ocupar o operador  BUSCA_ANO_EMPRES.

Este operador considera se o cliente está ocupando o Gestão de Empresa. A partir da versão 11, o campo filial (FILIAL) é dividido em 3 partes: Empresa, Unidade de Negócio e Filial. O cliente pode ocupar estes três campos, dois ou apenas um campo. Uma possível definição é que a Empresa seja uma Empresa e a unidade de negócios e filiais sejan divisões lógicas. Outra definição pode ser que a Empresa seja ocupada como Grupo de Empresas e as Unidades de Negócio sejam as empresas e as filiais, uma divisão lógica. Por último, as filiais podem ser ocupadas como empresas.

mês início

UNIDADES_TOTAL

Mês fin

N

mês início

IMPORTE_TOTAL

Mês fin

N

Estes dois operadores (UNIDADES_TOTAL e IMPORTES_TOTAL) leem os acumulados do funcionário do mês inicial até o mês final de todos los processos pertenecentes à empresa a qual está alocado o processo que está sendo executado e de todas as filiais. Os meses são tipo carácter de tamanho 2. Para indicar o ano inicial e final, é necessário alocá-los nos mnemônicos ANO_INI_ACU e ANO_FIN_ACU.

Exemplo: um cliente tem três processos: 01 Funcionários, 02 Sindicalizados e 03 Honorários. Os processos 01 e 02 pertencem às filiais 01, 02; 03 à filial 04. Em alguns casos, ao serem movidas do pessoal para a folha de honorários, as verbas da folhas que não foram realizadas em seus processos correspondentes são pagas ou descontadas. Portanto, na declaração anual de salários e rendas, é necessário considerar para todos os funcionários os acumulados das quatro filiais. A fórmula que os acumulados das verbas graváveis leem poderá ficar como segue:

Operando 1

Operador

Operando 2

Resultado

# OBTER ACUMULADOS DA EMPRESA 1


BUSCA_SUCURSAL

“01,02,03,04”



ANO

FECINIPER

ANO_INI_ACU


ANO

FECINIPER

ANO_FIN_ACU

“01”

IMPORTE_EMPRESA

“12”

IMPORTE

IMPORTE

SUMA

TOTAL_PERCEPCION

TOTAL_PERCEPCION

IMPORTE

SUMA

TOTAL_GRAVABLE

TOTAL_GRAVABLE







Histórico de Movimentos

OPERANDO 1

OPERADOR

OPERANDO 2

RESULTADO

Período início

SUMA_IMPHIS

Período fim

N

Período início

SUMA_UNIHIS

Período fim

N

Estes dois operadores (SUMA_IMPHIS y SUMA_UNIHIS) leem o histórico de movimentos que estejam entre os períodos - pagamento inicial e final indicado para esse funcionário e verba, de um determinado tipo de folha de pagamento (ou roteiro de cálculo).

  • A verba se tomará da verba que está sendo calculada.
  • O período de início será indicado no operando 1.
  • O pagamento de início terá que ser movido previamente para mnemônico reservado SUMA_NPGINI. Se não for informado, será assumido um valor em branco e, portanto, os acumulados NÃO serão lidos.
  • O período final será indicado no operando 2. O pagamento final será indicado no mnemônico reservado SUMA_NPGFIM. Se não for informado, será assumido um valor em branco e, portanto, os acumulados NÃO serão lidos.
  • O tipo de folha de pagamento deverá ser indicado no mnemônico reservado SUMA_TIPO_NOM. Quando não for informado, serão tomados todos os tipos de folha de pagamento.

Obtenção da comissão média mensal considerando somente as comissões pagas na folha de pagamento. Para isto, é necessário somar os valores dos N períodos anteriores, indicada em Períodos.  Isto pode implicar na leitura de Períodos do ano anterior e Períodos do ano em curso, pelo qual será indicado no Período e será pago em vales o Período e pagamento inicial a se somado.

Operando 1

Operador

Operando 2

Resultado


MUEVE

PAGVALES

SUMA_NPGINI


MUEVE

PAGO

SUMA_NPGFIM


MUEVE

“01”

SUMA_TIPO_NOM

PERVALES

SUMA_IMPHIS

Período

NAUX_05

PERVALES

SUMA_UNIHIS

Período

NAUX_06

NAUX_05

DIVIDE 

NAUX_06

COM_PROM

DIASVAC

MULTIPLICA

COM_PROM

NAUX_01

NAUX_01

SUMA

IMPORTE

IMPORTE

TOTPER

SUMA

IMPORTE

TOTPER

PERGRAV

SUMA

IMPORTE

PERGRAV

FINAL

ETIQUETA



Tabelas Numéricas

OPERANDO 1

OPERADOR

OPERANDO 2

RESULTADO


BUSCA

TABLA_XXXX


Este operador busca a tabela numérica indicada no operando 2. NOTA: não se posiciona em nenhum registro. O operando 2 deve ser composto pela palavra TABLA_ mais o tipo (U se é de usuário, S se é de Sistema) e a chave da tabela de 4 dígitos.

ELEMENTO_01 a ELEMENTO_99

HASTA_IGUAL

N, C, F


ELEMENTO_01 a ELEMENTO_99

HASTA_MAYOR

N


ELEMENTO_01 a ELEMENTO_99

HASTA_MENOR

N


ELEMENTO_01 a ELEMENTO_99

HASTA_MAYORIGUAL

N


ELEMENTO_01 a ELEMENTO_99

HASTA_MENORIGUAL

N


Busca na tabela (chamada anteriormente com o operador BUSCA) até que o elemento indicado no operando1 seja igual, maior, maior igual, menor ou menor igual ao mnemônico indicado no operando2. Caso não seja encontrado, trará o registro com zeros. Para utilizar os operadores HASTA_MENOR e HASTA_MENORIGUAL é necessário que a tabela esteja capturada de forma descendente. Isto é, os valores mais altos virão nos primeiros registros e os valores menores nos últimos.

OBSERVAÇÃO: é importante que os registros sejam capturado em ordem, pois como nas tabelas alfanuméricas podem ser definidos diferentes tipos de tabelas, com diferentes tipos e tamanhos de dados, não há como fazer um índice.


Por exemplo: Obter o imposto segundo o artigo 113 da LISR.

Operando 1

Operador

Operando 2

Resultado

PERGRAVMES

SI_IGUAL

0

FIN


BUSCA

TABLA_01


ELEMENTO_02

HASTA_MAYOR

PERGRAVMES


PERGRAVMES

RESTA

ELEMENTO_01

NAUX_01

NAUX_01

MULTIPLICA

ELEMENTO_04

NAUX_01

NAUX_01

SUMA

ELEMENTO_03

NAUX_01


BUSCA

TABLA_03


ELEMENTO_02 

HASTA_MAYOR

PERGRAVMES


NAUX_01

RESTA 

ELEMENTO_03

IMPORTE

IMPORTE

SI_MAYOR

0

CONTINUA


MUEVE

IMPORTE

CREDITO


MUEVE

0

IMPORTE

CONTINUA

ETIQUETA



IMPORTE

SUMA

TOTDED

TOTDED

FIN

ETIQUETA



Atualização de Base de Dados

OPERANDO 1

OPERADOR

OPERANDO 2

RESULTADO


GRAVA

"tabela"


Este operador é usado para gravar, durante o cálculo da folha de pagamento, os valores nas tabelas seguintes. Vale lembrar que, para realizar isto, é recomendado correr a folha de pagamento, verificar se tudo está correto e, então, correr  folha de pagamento novamente com a opção gravar habilitada. Somente os novos valores antes do operando grava devem ser movidos para os mnemônicos associados aos campos da tabela correspondente.

Las tablas que se modifican o insertan durante el cálculo son:

ü Mestre de empregados (SRA): Os dados podem ser modificados.

ü Incidências (RGB): Os registros podem ser inseridos.

ü Empréstimos (SRK): Os registros podem ser inseridos. Exemplo: para a retenção em vários pagamentos dos impostos contra.

ü Histórico de Acumulados (RG7): Altera o registro existente ou realiza a inserção, caso o registro não exista com base na chave: Ano, Filial, Matrícula, Verba e Processo

ü Trajetória de Trabalho (RCP): Caso o movimento não exista para essa Filial, Funcionário, Data e Tipo de Movimento, o registro será inserido, en caso contrario se modificará.

ü Histórico de Salários  (SR3 Detalhe e SR7 Cabeçalho): Caso o Movimento não exista para essa Filial, Funcionário, Data, o registro será inserido, caso contrário será modificado. Tanto para a SR7 como para a SR3.

ü Dias Direito (SRF): Caso o movimento não exista para essa Filial, Funcionário, Verba, Data Inicial, o registro será inserido, do contrário, será modificado.

Trajetória Laboral

OPERANDO 1

OPERADOR

OPERANDO 2

RESULTADO

Data inicial

LEE_TRAY

Data final

{tipos movimento}

Na versão 4.1 do cálculo, foi implementada a funcionalidade de poder ler os movimentos de trajetória de trabalho.

  • Com este operador são trazidos os registros existentes na trajetória de trabalho do funcionário desde um movimento antes da data inicial até a data final indicada.
  • Os tipos de movimento são separados por vírgulas. Se os tipos de movimentos não forem indicados, trará todos. Também é possível colocar asterisco para indicar todos. Os tipos de movimentos são: 01) Alta a empresa, 02) Baixa da empresa 03) Alta no novo registro patronal, 04) Baixa do registro patronala anterior, 05) Alteração de Salários, 06) Readmissão, 20) Data de baixa da empresa quando a apresentación do aviso de baixa supere 5 dias, no movimento 02 fica a data de baixa, de acordo com o IMSS, e o movimento 20, a baixa para a empresa.
  • É disponibilizado o registro mais recente dessa faixa de data e tipo de movimentos, para que seja lido com mnemônicos do tipo arquivo, associado à trajetória de trabalho.
  • Se a data inicial não for indicada, utilizará a data de início do período em execução.
  • Se a data final não for indicada, utilizará a data de fim de período em execução.
  • Se a data de início ou final for especificada como constante, deve ser utilizado o formato dd/mm/yyyy.
  • O operador LEE_TRAY indica o início de um ciclo. Este se completa até que seja encontrado o SIG_TRAY.
  • A orden dos registros carregados será com base na data de movimento em forma descendente.
  • Poderá acessar qualquer campo da tabela de trajetória por meio de mnemônicos de tipo arquivo.
  • Caso não haja nenhum registro nessa faixa de datas, será carregado o último movimento não importando seu tipo.
  • Se houver um caso em que um funcionários não tenha nenhum registro na trajetória de trabalho, o fluxo da fórmula saltará até a instrução seguinte de SIG_TRAY
  • Além de ter disponíveis os registros de trajetória de trabalho, tem-se um mnemônico reservado chamado DIAS_TRAY_SIG, que contém os dias de movimento efetivo.

Por exemplo: Se forem lidos os movimentos de 15 de março até 30 de abril de um funcionário que tenha os seguintes movimentos:

01/março/2013

150.00  alteração de salário por variabilidade

25/março/2013

170.00  alteração de salário por mudança de cargo

01/abril/2013

170.00  alteração de salário por variabilidade

Para o primeiro movimento serão trazidos 10 dias em DIAS_TRAY_SIG, que são os dias de 15 de março (data inicial da faixa desejado) até 24 de março (o dia anterior ao movimento seguinte).

Para o segundo movimento serão trazidos 7 dias em DIAS_TRAY_SIG, que são os dias do movimento de 25 de março até 31 de março (o dia anterior ao movimento seguinte).

Para o terceiro movimento serão trazidos 30 dias en DIAS_TRAY_SIG, que são os dias do movimento de 1 de abril até 31 de março (data final da faixa desejada).


SIG_TRAY

{GEN_MOV}


Com este operador se indica que se quer ler o registro seguinte àqueles selecionados pelo operador LEE_TRAY.

  • Se for colocado o mnemônico reservado GEN_MOV em OPERANDO2 antes de que se traga o registro seguinte, insere um registro em movimentos de folha de pagamento com o que houver nos mnemônicos reservados UNIDADES e IMPORTE e os inicia com zeros. Se não for indicado que de seve gerar um movimento, não iniciará com zeros UNIDADES e IMPORTE e somente um movimento será gerado, se ao terminar o ciclo traz algo UNIDADES e IMPORTE.
  • Ao encontrar este operador, se existirem mais registros na trajetória de trabalho, saltará para a linha imediatamente inferior de LEE_TRAY e voltará a executar a fórmula até que não existam mais registros.


PRIMER_REG_TRAY



Com este operador, o primeiro registro de trajetória de trabalho carrega a memória, dentro da faixa selecionada.


ULTIMO_REG_TRAY



Com este operador, o último registro de trajetória de trabalho carrega a memória, dentro da faixa selecionada.

Exemplo: Em uma empresa geralmente se atrasa muito a negociação contrato coletivo seguinte (mais de um mês). Como durante esse tempo de negociação foi possível realizar mudanças de postos, e o mestre de empregados somente guarda o salário anterior e o atual, o pagamento retroativo terá que ser realizado com a leitura dos registros de trajetória de trabalho.

Ele é necessário para realizar o aumento retroativo de 1 de janeiro de 2013 até 15 de agosto de 2013, guardando separadamente os salários correspondentes a cada cargo.

Operando 1

Operador

Operando 2

Resultado

PORAUM

DIVIDE

100

NAUX_01

01/01/2013

LE_TRAJ

15/08/2013


SALDIATRAY

MULTIPLICA

NAUX_01

NAUX_02

NAUX_02

MULTIPLICA

DIAS_TRAY_SIG

IMPORTE


MUEVE

DIAS_TRAY_SIG

UNIDADES

IMPORTE

SUMA

TOTPER

TOTPER

IMPORTE

SUMA

PERGRAV

PERGRAV


SIG_TRAY

GEN_MOV







Beneficiários de Pensão Alimentícia

OPERANDO 1

OPERADOR

OPERANDO 2

RESULTADO


LEE_DEP

{Tipo Dep}


Com este operador são trazidos os registros de dependentes do funcionário do tipo indicado se um movimento antes da data inicial até a data final indicada.

  • São postos os tipos de movimento separados por vírgulas. Se os tipos de movimentos não forem indicados, todos serão trazidos. Também pode-se colocar asterisco para indicar todos. Os tipos de movimentos são: 01) Alta para a empresa, 02) Baixa da empresa 03) Alta no novo registro patronal, 04) Baixa do registro patronal anterior, 05) Alteração de Salários, 06) Readmissão, 20) Data de baixa da empresa quando a apresentação do aviso de baixa  for superior a 5 dias, no movimento 02 fica a data de baixa de acordo com o IMSS, e o movimento 20, com a baixa para a empresa.
  • Será disponibilizado o registro mais recente dessa faixa de data e tipo de movimentos, para que seja lido com os mnemônicos do tipo arquivo associados à trajetória de trabalho.
  • Se não for indicada a data inicial, utilizará a data de início do período em execução.
  • Se não for indicada a data final, utilizará a data de fim de período em execução.
  • Se for especificada a data de início ou fim como constante, o formato deverá ser dd/mm/yyyy.
  • O operador LEE_TRAY indica o início de um ciclo. Este é completado até que se encontre SIG_TRAY.
  • A ordem dos registros carregados será baseada na data de movimento de forma descendente.
  • Poderá acessar qualquer campo da tabela de trajetória por meio de mnemônicos do tipo arquivo.
  • Caso não haja nenhum registro nessa faixa de datas, o último movimento será carregado “não importando seu tipo de movimento”.
  • Se houver algum caso de funcionário que não teve nenhum registro na trajetória de trabalho, o fluxo da fórmula saltará até a instrução seguinte de SIG_TRAY
  • Além de ter disponíveis os registros de trajetória de trabalho, há um mnemônico reservado chamado DIAS_TRAY_SIG, que contém os dias efetivos do movimento.

Por exemplo: São lidos os movimentos de 15 de março a 30 de abril de um funcionário que tem os seguintes movimentos:

01/março/2013

150.00  alteração de salário por variabilidade

25/março/2013

170.00  alteração de salário por mudança de cargo

01/abril/2013

170.00  alteração de salário por variabilidade

Para o primeiro movimento, serão trazidos 10 dias no DIAS_TRAY_SIG, que são os dias do 15 de março (data inicial da faixa desejada) até 24 de março (o dia anterior ao movimento seguinte).

Para o segundo movimento, serão trazidos 7 dias no DIAS_TRAY_SIG, que são os dias do movimento do 25 de março até 31 de março (o dia anterior ao movimento seguinte).

Para o terceiro movimento, serão trazidos 30 dias no DIAS_TRAY_SIG, que são os dias do movimento do 01 de abril até 31 de março (data final da faixa desejada).


SIG_DEP



Com este operador, é indicado que se deseja ler o registro seguinte daqueles selecionados pelo operador LEE_DEP.

  • Alo encontrar este operador, caso existam mais registros em dependente, saltará até a sequencial seguinte e voltará a executar a fórmula até que não haja mais registros.


PRIMER_REG_DEP



Com este operador, o primeiro registro de dependentes carregará a memória, dentro da faixa selecionada.


ULTIMO_REG_DEP



Com este operador, o último registro de dependentes carregará a memória, dentro da faixa selecionada.

Exemplo: Ele é necessário para determinar se existe um dependente que seja cônjuge (“C”) para outorgar o crédito do ISR correspondente.

Operando 1

Operador

Operando 2

Resultado

Caso queira saber se o trabalhador tem esposa para calcular o crédito do cônjuge.


LEE_DEPENDIENTE

“C”



BUSCA_TABLA

TABLA_S002


ELEMENTO_01

ATÉ_IGUAL

1



MOVE

ELEMENTO_02

NCREDISR


SIG_DEPENDIENTE



         






END


Tabelas Utilizadas

  • RC2 – Cabeçalho das Fórmulas.
  • RC3 – Itens das Fórmulas.
  • RCA – Mnemônicos.
  • SRY – Roteiros de Cálculo.
  • SRM – Itens de Roteiros de Cálculo.

Veja Também

  • Cadastro de Mnemônicos
  • Roteiros de Cálculo