Variables para cálculo con prorrateo
Las reglas para el cálculo con Prorrateo tienen diferencias fundamentales con las reglas convencionales. Las variables y ejemplos para cada caso se muestran a continuación.
Las variables utilizadas en la regla de Cálculo con Prorrateo son:
| ColRata | Código de prorrateo de empleados en el día. |
| bacalao | Código de prorrateo deseado. |
| SitRes | Situación del resultado de la operación de prorrateo. |
| SiteOpe[] | Estado de la operación. Indexado del 1 al 10. |
| MinOpe | Minutos para la operación. Solo números enteros. |
| TipoOpe | Tipo de operación. |
Los Tipos de Operación pueden ser:
| + | suma |
| - | sustracción |
| * | multiplicación |
| / | división |
| 0 | restablecer situación SitRes |
Después del comando TipOpe, las variables CodRat, SitRes, SitOpe[], MinOpe y TipOpe se ponen a cero. Estas variables solo estarán disponibles si la empresa utiliza el prorrateo laboral. En multiplicación y división no funciona la variable SitOpe[] ya que no es posible multiplicar o dividir una situación por otra. La variable MinOpe se puede utilizar en estos casos. En estas dos operaciones la variable SitRes debe tener el mismo código que la variable SitOpe[1].
En el caso de prorrateo, la variableHorSit no recibe valores en la Regla, solo se puede consultar el total de horas de cada situación con todos los prorrateos.
Para verificar las horas de una situación en un código de prorrateo determinado, utilice la variable CodRat igual al código de prorrateo deseado y luego consulte la variable HorSit[].
Nota
Las variables anteriores solo cambian los campos de cantidad y código de situación, como se muestra en los siguientes ejemplos. El código de prorrateo no se puede cambiar.
Escenarios
Reglas de Cálculo con Prorrateo:
CódigoRata = 3;
Si (HorSit[1] > 0)
Inicio
...
Fim;
(todas las asignaciones)
CódigoRata = 0;
SitRes = 301;
SitOpe[1] = 302;
TipoOpe = '+';
(todas las asignaciones)
CódigoRata = 0;
SitRes = 302;
TipoOpe = '0';
CódigoRata = 0;
Si (HorSit[302] > 0)
Inicio
SitRes = 301;
SitOpe[1] = 302;
TipoOpe = '+';
SitRes = 302;
TipoOpe = '0';
Fim;
CódigoRata = 2;
Si (HorSit[302] > 0)
Inicio
SitRes = 301;
SitOpe[1] = 302;
TipoOpe = '+';
SitRes = 302;
TipoOpe = '0';
Fim;
CódigoRata = 0;
SitRes = 8;
SitOpe[1] = 101;
SitOpe[2] = 103;
SitOpe[3] = 105;
TipoOpe = '+';
SitRes = 101;
TipoOpe = '0';
SitRes = 103;
TipoOpe = '0';
SitRes = 105;
TipoOpe = '0';
(proporcional a las horas prorrateadas en la situación 001)
CódigoRata = 0;
SitRes = 1;
MinOpe = 40;
TipoOpe = '+';
(todas las asignaciones)
CódigoRata = 0;
SitRes = 1;
SitOpe[1] = 1;
SitOpe[2] = 101;
TipoOpe = '-';
(todos los códigos de prorrateo)
CódigoRata = 0;
SitRes = 501;
SitOpe[1] = 1;
SitOpe[2] = 101;
SitOpe[3] = 103;
SitOpe[4] = 105;
TipoOpe = '-';
CódigoRata = 0;
SitRes = 101;
SitOpe[1] = 101;
MinOpe = 30;
TipoOpe = '-';
CódigoRata = 0;
SitRes = 51;
SitOpe[1] = 51;
MinOpe = 2;
TipoOpe = '*';
2 en el caso de Empleados Mensuales y 3 en el caso de Empleados por Hora.
Si (RegFun.TipSal = 1)
x1 = 2;
Senao
Si (RegFun.SalTip = 2)
x1 = 3;
CódigoRata = 0;
SitRes = 51;
SitOpe[1] = 51;
MinOpe = x1;
TipoOpe = '*';
(solo para el prorrateo 3)
CódigoRata = 3;
SitRes = 301;
SitOpe[1] = 301;
MinOpe = 2;
TipoOpe = '/';
Es decir, multiplicar por 8 y dividir por 7 (es lo mismo que multiplicar por 1,142857).
CódigoRata = 0;
SitRes = 51;
SitOpe[1] = 51;
MinOpe = 8;
TipoOpe = '*';
SitRes = 51;
SitOpe[1] = 51;
MinOpe = 7;
TipoOpe = '/';
CódigoRata = 1;
SitRes = 302;
TipoOpe = '0';
CódigoRata = 0;
SitRes = 101;
TipoOpe = '0';
xValSai = 60;
CódigoRata = 0;
SitRes = 101;
MinOpe = xValSai;
TipoOpe = '+';
En primer lugar, la situación debe ponerse a cero para no sumar otros valores.
xValSai = 60;
xOpHrRateio = HorSit[101] - xValSai;
CódigoRata = 0;
SitRes = 103;
SitOpe[1] = 1;
MinOpe = xOpHrRateio;
TipoOpe = '+';
| Cantidad | Situación | Descripción (situación) |
|---|---|---|
| 03:00 | 001 | Trabajando |
| 06:00 | 101 | Salida anticipada |
| 8 en punto | 103 | Atraso |
3 + 6 = 9
9 - xValSai = 08 horas en situación 103
Observación:
El sistema seleccionará los valores de la situación 1 a la 103, los sumará a la 101 y disminuirá xValSai.
CódigoRata = 0;
SitRes = 103;
TipoOpe = '0';
SitRes = 101;
TipoOpe = '0';
SitRes = 1;
TipoOpe = '0';
CódigoRata = 0;
SitRes = 103;
SitOpe[1] = 1;
SitOpe[2] = 101;
TipoOpe = '+';
CódigoRata = 0;
SitRes = 103;
SitOpe[1] = 103;
MinOpe = 60;
TipoOpe = '-';
No es posible utilizar dos operaciones al mismo tiempo, por lo que es necesario separar cada operación.
English
Español


