Calcular algo como un sistema FIFO (contable)
Publicado por Gerardo Asprea (40 intervenciones) el 08/03/2007 01:54:03
Bueno, mi duda es la siguiente, es un poco complicado pero se puede expresar bien.
Necesito en una tabla, ingresar horas extras para funcionarios. Por ejemplo
FECHA RESOLUCION (ID) HORAS
10/1/2007 210 10
10/2/2007 220 15
Luego en otra tabla, ingresar las solicitudes de horas de descanso (que son las horas extras que no se pagan y se compensan con descansos complementarios).
De tal forma que en marzo, si un funcionario quiere ocupar 15 horas de descanso, se proceda a hacer el siguiente calculo:
Horas solicitadas 15
1º Revisar las primeras horas que se otorgaron (resolcucion 210, que da 10 horas)
2º 10>15. Si es mayor, asignar las 15 horas y descontar 15 de la resolucion 210.
Pero si no, descontar 10 horas de la resolucion 210 y pasar a la siguiente (por orden de fecha). Es decir a la 220 (que da 15 horas)
Entonces, como descontamos 10 a la 210, faltan 5 horas para completar la solicitud.
3º 15> 10. Si es mayor, Restar 5 a la 220 (quedando en 10) y autorizar la solicitud por 15 horas.
Si es menor, otorgar las 15 y seguir buscando en la siguiente, hasta que se completen las 15 horas de solicitud.
si no alcanzaran las horas, no autorizar la solicitud.
Seria como una condicion do loopwhile o algo asi, y aumentar en 1 el numero de registro hasta que se complete. como un ciclo.
El problema es que no se como avanzar de registro en registro, o como ubicarlos.
De antemano muchisimas gracias. Si lo logro hacer solo, lo publicare. Es lo unico que me falta para terminar mi sistema de control de asistencia :D
Atte,
Gerardo
Necesito en una tabla, ingresar horas extras para funcionarios. Por ejemplo
FECHA RESOLUCION (ID) HORAS
10/1/2007 210 10
10/2/2007 220 15
Luego en otra tabla, ingresar las solicitudes de horas de descanso (que son las horas extras que no se pagan y se compensan con descansos complementarios).
De tal forma que en marzo, si un funcionario quiere ocupar 15 horas de descanso, se proceda a hacer el siguiente calculo:
Horas solicitadas 15
1º Revisar las primeras horas que se otorgaron (resolcucion 210, que da 10 horas)
2º 10>15. Si es mayor, asignar las 15 horas y descontar 15 de la resolucion 210.
Pero si no, descontar 10 horas de la resolucion 210 y pasar a la siguiente (por orden de fecha). Es decir a la 220 (que da 15 horas)
Entonces, como descontamos 10 a la 210, faltan 5 horas para completar la solicitud.
3º 15> 10. Si es mayor, Restar 5 a la 220 (quedando en 10) y autorizar la solicitud por 15 horas.
Si es menor, otorgar las 15 y seguir buscando en la siguiente, hasta que se completen las 15 horas de solicitud.
si no alcanzaran las horas, no autorizar la solicitud.
Seria como una condicion do loopwhile o algo asi, y aumentar en 1 el numero de registro hasta que se complete. como un ciclo.
El problema es que no se como avanzar de registro en registro, o como ubicarlos.
De antemano muchisimas gracias. Si lo logro hacer solo, lo publicare. Es lo unico que me falta para terminar mi sistema de control de asistencia :D
Atte,
Gerardo
Valora esta pregunta


0