Variáveis para apuração com rateio

As regras para apuração com Rateio têm diferenças fundamentais das regras convencionais. A seguir são mostradas as variáveis e os exemplos para cada caso.

As variáveis utilizadas na regra de Apuração com Rateio são:

RatCol

Código de rateio do colaborador no dia.

CodRat

Código de rateio desejado.

SitRes

Situação para resultado da operação de rateio.

SitOpe[]

Situação para operação. Indexado de 1 a 10.

MinOpe

Minutos para operação. Somente números inteiros.

TipOpe

Tipo de operação.

Os Tipos de Operação podem ser:

adição

subtração

multiplicação

/

divisão

0

zerar a situação SitRes

Após o comando TipOpe, as variáveis CodRat, SitRes, SitOpe[], MinOpe e TipOpe são zeradas. Estas variáveis só estarão disponíveis se a empresa utilizar rateio de mão-de-obra. Na multiplicação e divisão, a variável SitOpe[] não funciona, pois não é possível multiplicar ou dividir uma situação por outra. A variável MinOpe pode ser utilizada nestes casos. Nestas duas operações a variável SitRes deve ter o mesmo código da variável SitOpe[1].

No caso de rateio, a variável HorSit não recebe valores na Regra, pode-se somente consultar o total de horas de cada situação com todos os rateios.

Para verificar as horas de uma situação num determinado código de rateio, utilizar a variável CodRat igual ao código de rateio desejado, e depois consultar a variável HorSit[].

Nota

As variáveis acima, apenas alteram os campos de quantidade e código da situação, conforme exemplos a seguir. O código do rateio não pode ser alterado.

Cenários

Regras de Apuração com Rateio:

Verificar se existem horas na situação 1 no código de rateio 3

CodRat = 3;
Se(HorSit[1] > 0)
Inicio
…
Fim;

Somar a situação 302 na situação 301

(todos os rateios)

CodRat = 0;
SitRes = 301;
SitOpe[1] = 302;
TipOpe = ’+‘;

Zerar a situação 302

(todos os rateios)

CodRat = 0;
SitRes = 302;
TipOpe = ‘0’;

Transferir todas as horas da situação 302 para a situação 301

CodRat = 0;
Se(HorSit[302] > 0)
Inicio
SitRes = 301;
SitOpe[1] = 302;
TipOpe = ’+’;
SitRes = 302;
TipOpe = ‘0’;
Fim;

Transferir a situação 302 para a situação 301 e zerar a 302, SOMENTE PARA AS HORAS DO RATEIO 2

CodRat = 2;
Se(HorSit[302] > 0)
Inicio
SitRes = 301;
SitOpe[1] = 302;
TipOpe = ’+’;
SitRes = 302;
TipOpe = ‘0’;
Fim;

Somar as situações 101, 103 e 105 na situação 8, e zerá-las

CodRat = 0;
SitRes = 8;
SitOpe[1] = 101;
SitOpe[2] = 103;
SitOpe[3] = 105;
TipOpe = ’+‘;
SitRes = 101;
TipOpe = ‘0’;
SitRes = 103;
TipOpe = ‘0’;
SitRes = 105;
TipOpe = ‘0’;

Somar 40 minutos na situação 001

(proporcional as horas rateadas na situação 001)

CodRat = 0;
SitRes = 1;
MinOpe = 40;
TipOpe = ’+‘;

Diminuir a situação 101 da situação 1 e lançar o resultado na própria situação 1

(todos os rateios)

CodRat = 0;
SitRes = 1;
SitOpe[1] = 1;
SitOpe[2] = 101;
TipOpe = ’-‘;

Diminuir as situações 101, 102 e 103 da situação 1 e o resultado lançar na situação 501

(todos os códigos de rateio)

CodRat = 0;
SitRes = 501;
SitOpe[1] = 1;
SitOpe[2] = 101;
SitOpe[3] = 103;
SitOpe[4] = 105;
TipOpe = ’-‘;

Diminuir 30 minutos da situação 101 proporcional ao rateio que houver na situação

CodRat = 0;
SitRes = 101;
SitOpe[1] = 101;
MinOpe = 30;
TipOpe = ’-‘;

Multiplicar a situação 51 por 2, individualmente para cada código de rateio

CodRat = 0;
SitRes = 51;
SitOpe[1] = 51;
MinOpe = 2;
TipOpe = ’*‘;

Multiplicar a situação 51 por 2 ou por 3

2 no caso de Mensalistas e 3 no caso de Horistas.

Se(RegFun.TipSal = 1)
x1 = 2;
Senao
Se(RegFun.TipSal = 2)
x1 = 3;

CodRat = 0;
SitRes = 51;
SitOpe[1] = 51;
MinOpe = x1;
TipOpe = ’*‘;

Dividir a situação 301 por 2

(somente para o rateio 3)

CodRat = 3;
SitRes = 301;
SitOpe[1] = 301;
MinOpe = 2;
TipOpe = ’/‘;

Converter a situação 51 para horas noturnas

Ou seja, multiplicar por 8 e dividir por 7 (é o mesmo que multiplicar por 1.142857).

CodRat = 0;
SitRes = 51;
SitOpe[1] = 51;
MinOpe = 8;
TipOpe = ’*‘;
SitRes = 51;
SitOpe[1] = 51;
MinOpe = 7;
TipOpe = ’/‘;

Zerar as horas da situação 302 do código de rateio 1

CodRat = 1;
SitRes = 302;
TipOpe = ‘0’;

Como atribuir o valor de uma variável em uma situação

CodRat = 0;

SitRes = 101;

TipOpe = ‘0’;

xValSai = 60;

CodRat = 0;

SitRes = 101;

MinOpe = xValSai;

TipOpe = ’+‘;

Observação:

Primeiramente, a situação deve ser zerada para não somar com outros valores.

Valores de uma variável de usuário

xValSai = 60;

xOpHrRateio = HorSit[101] - xValSai;

CodRat = 0;

SitRes = 103;

SitOpe[1] = 1;

MinOpe = xOpHrRateio;

TipOpe = ’+‘;

QuantidadeSituaçãoDescrição (situação)
03:00001Trabalhando
06:00101Saída antecipada
08:00103Atraso

3 + 6 = 9

9 - xValSai = 08 horas na situação 103

Observação:

O sistema vai selecionar os valores da situação 1 para 103, somar na 101 e diminuir xValSai.

Como zerar uma situação sem utilizar o CodRAt mais de uma vez

CodRat = 0;

SitRes = 103;

TipOpe = ‘0’;

SitRes = 101;

TipOpe = ‘0’;

SitRes = 1;

TipOpe = ‘0’;

Como utilizar duas operações ao mesmo tempo

CodRat = 0;

SitRes = 103;

SitOpe[1] = 1;

SitOpe[2] = 101;

TipOpe = ’+‘;

CodRat = 0;

SitRes = 103;

SitOpe[1] = 103;

MinOpe = 60;

TipOpe = ’-‘;

Observação

Não é possível utilizar duas operações ao mesmo tempo, por isso é necessário separar cada operação.

Este artigo ajudou você?