Observación: Esta página fue traducida utilizando recursos de automatización con el propósito de entregar contenido en su idioma de manera más rápida. Consecuentemente, ella puede tener errores gramaticales y situaciones similares. Si el contenido no es útil en este estado, en el pié de página usted puede acceder al material original en Portugués Brasileño y también dar opiniones sobre esta traducción.

Ejemplo de regla para recálculo de cálculo desde la pantalla Historial de Ausencias/Cambios

Establecer alfa xAbrEmp;
Establecer alfa xAbrTcl;
Establecer alfa xAbrCad;
Establecer Fecha x Fecha;
Establecer alfa xHorTerAnt;
Establecer alfa xQhrAfant;
Establecer alfa xSitAfaAnt;
Establecer cursor CurR038AFA;
Definir interno.com.senior.g5.rh.hr.calculoApuracao.Calcula vCalculo;

Si (vExecucaoRule = 0)
{
/*Las variables texto1, texto2, texto3 y valor1 son variables internas del sistema destinadas a almacenar
los valores de los registros previos al cambio. Si usa variables locales, sus valores se restablecen a cero al ejecutar la regla después del cambio.*/

texto1 = ""; @Anterior HorTer@
texto2 = ""; @SitAfa Anterior@
texto3 = ""; @QhrAfa anterior@
valor1 = 0; @Fecha de finalización anterior@
@Datos del colaborador@
IntParaAlpha(R038AFA.NUMEMP, xAbrEmp);
IntParaAlpha(R038AFA.TIPCOL, xAbrTcl);
IntParaAlpha(R038AFA.NUMCAD, xAbrCad);
xDatos = R038AFA.DATOSFA;

CurR038AFA.SQL "SELECCIONE SITAFA, QHRAFA, DATTER, HORTER DESDE R038AFA DONDE NUMEMP = :xAbrEmp AND TIPCOL = :xAbrTcl AND NUMCAD = :xAbrCad AND DATAFA = :xData "
CurR038AFA.OpenCursor();
Si (CurR038AFA.Encontrado)
{
valor1 = CurR038AFA.DATTER;
IntParaAlpha(CurR038AFA.HORTER, xHorTerAnt);
texto1 = xHorTerAnt;
IntParaAlpha(CurR038AFA.QHRAFA, xQhrAfant);
texto2 = xQhrAfant;
IntParaAlpha(CurR038AFA.SITAFA, xSitAfaAnt);
texto3 = xSitAfaAnt;
}
CurR038AFA.CerrarCursor();
}
Senao
{

Res = Mensaje(Retorna, "Esta operación afectará el cálculo del Contribuidor. ¿Quiere calcular todo el período cambiado automáticamente?[&Sí, &No]");
Si (Res = 0)
{
AlphaToInt(texto1, xHorTerOLD);
AlphaToInt(texto2, xQhrAfaOLD);
AlphaParaInt(texto3, xSitAfaOLD);

@Verifique que no haya cambiado ningún dato que se refleje en el cálculo. No recalcular.@
Si ((R038AFA.DatTer <> valor1) O (R038AFA.HorTer <> xHorTerOLD) O (R038AFA.SitAfa <> xSitAfaOLD) O (R038AFA.QhrAfa <> xQhrAfaOLD))
{
xdatini = R038AFA.DATAFA;
xdatfim = R038AFA.DATTER;
xdatfimant = valor1;

Si (xdatfim = 0)
xdatfim = 65535;

Si (xdatfiman = 0)
xdatfimant = 65535;

Si (xdatfim < xdatfimant)
{
xdatini = xdatfim;
xdatfim = xdatfimant;
}
Senao
Si (xdatfimant < xdatfim)
xdatini = xdatfimant;

Si (R038AFA.DatTer = 0)
xdatEnd = 0;
Senao
xdatEnd = R038AFA.DatTer;


Si ((R038AFA.HorTer <> xHorTerOLD) O (R038AFA.SitAfa <> xSitAfaOLD) O (R038AFA.QhrAfa <> xQhrAfaOLD))
xdatini = R038AFA.DATAFA;


vCalculo.DatIni = xdatini;
vCalculo.DatFim = xdatfim;
vCalculo.ProApu = "1"; @Tipo de procesamiento: recalcula el cálculo@
vCalculo.ReaMar = "S"; @Reubicar etiquetas@
vCalculo.DesAce = "S"; @Deshacer Situaciones Hits@
vCalculo.NumEmp = EmpAtu;
vCalculo.CodCal = CalAtu;

IntParaAlpha(R038AFA.NUMEMP, xAbrEmp);
IntParaAlpha(R038AFA.TIPCOL, xAbrTcl);
IntParaAlpha(R038AFA.NUMCAD, xAbrCad);
vCalculo.AbrEmp = xAbrEmp;
vCalculo.AbrTcl = xAbrTcl;
vCalculo.AbrCad = xAbrCad;

vCalculo.ExecutionMode = 3; @Asíncrono: se envía la solicitud dejando el sistema libre para otros procesos @
vCalcular.Ejecutar();
}
}
}

(missing or bad snippet)