Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-10-2006
OscarRd OscarRd is offline
Miembro
 
Registrado: sep 2006
Posts: 14
Poder: 0
OscarRd Va por buen camino
Obtener fechas especificas

Saludos colegas,


Trabajo en un sistema de Recursos Humanos y Nominas
y se me ha pedido crear automaticamente los periodos de pagos
los culaes pueden ser mensuales, quincenales o Semanales
por tanto necesito crear una funcion que pasandole la fecha o solo
el año, me retorne las quincenas de todos los meses del año, las semanas y logico el mes. Para de esta manera insertar la informacion en una tabla.

Ej:
Año :=2006
Quncenas :=True;
Enero 01/01/2006 al 15/01/2006 y 16/01/2006 al 31/012006

Febrero 01/02/2006 al 15/02/2006 y 16/01/2006 al 28/02/2006

lo mismo seria para las semanas..
Cualquier sugerencia, recomendacion o codigo sera bien recibido

Les estare sumamente agradecido por su colaboracion

Gracias de antemano

Delphi 5.0
Windows XP
Responder Con Cita
  #2  
Antiguo 30-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola OscarRd
Esto lo haria yo con una sentencia sql en un query y con dos dateTimePicker asi:
Coloco dos dateTimePicker en el form y pongo esto, puede ser en un boton:
Código Delphi [-]
 Query1.SQL.Add('  Select * From Nominas ');
 Query1.SQL.Add(' WHERE Nominas.FechaNomina >= #'+DateToStr(dateTimePicker1.Date)+ '# AND  Nominas.FechaNomina <= # '+DateToStr(dateTimePicker2.Date)+'#');
Saludos
Responder Con Cita
  #3  
Antiguo 30-10-2006
reina reina is offline
Miembro
 
Registrado: ago 2005
Ubicación: Capital Federal-La Plata (Bs As)
Posts: 147
Poder: 19
reina Va por buen camino
Mmm no lo que necesita es crear los correspondientes registros de Pagos donde estan sus vencimientos, ya sea semanal..mensual o anual no es asi??
Si usas las ultimas versiones de delphi como el 2005 las rutinas date time tienen muchas funciones que te pueden ayudar. Tengo a mano aca delphi4 y no veo mucha ayuda jeje.
Tenes IncMonth que te adiciona a tu fecha la cantidad de meses que le indiques..los format date ..los decode etc.
Podrias tener procedimientos distintos ya sea para mes ..semana o quincena, para tener el codigo bien prolijo y obtener las fechas correspondientes e ir creando los registros en la base. Tambien podes convertir las fechas desde el motor..con las funciones que trae y ponerlas desde la misma sentencia insert..(aunque seria medio imposible en algunos casos ja).

por ejemplo para quincena sabes que comienza en dia 1 y termina en el ultimo dia del mes:
01/06/2006 al 15/06/2006
16/06/2006 al //ultimo dia del mes//

ultimo dia del mes:
primerDia:=01/06/2006;
primerDiaMesSig:= incMonth(primerDia,1):
cantDiaMes:=round(primerDiaMesSig - primerDia);
ultimodiaMes:=cantDiaMes/06/2006;

claro que esto no funciona si lo pones asi nomas , en ultimoDiaMes deberias armar la fecha con encodeDate.

Espero te sirva..y si tengo tiempo te armo algo si no lo resolviste.
salu2222
Responder Con Cita
  #4  
Antiguo 30-10-2006
OscarRd OscarRd is offline
Miembro
 
Registrado: sep 2006
Posts: 14
Poder: 0
OscarRd Va por buen camino
Gracias Reina, Agradeceria mucho
que me armaras el codigo lo mas que puedas
ya que soy Nuevo en Delphi.

Gracias de antemano
Responder Con Cita
  #5  
Antiguo 30-10-2006
OscarRd OscarRd is offline
Miembro
 
Registrado: sep 2006
Posts: 14
Poder: 0
OscarRd Va por buen camino
Gracias por tu pronta respuesta

lo que requiero es dividir los 12 meses del año en
quincenas

mes 2: primera quincena del 1 al 15
mes 2: segunda quincena del 16 al 31
ya probe lo que dijiste pero no me funciona
Responder Con Cita
  #6  
Antiguo 30-10-2006
reina reina is offline
Miembro
 
Registrado: ago 2005
Ubicación: Capital Federal-La Plata (Bs As)
Posts: 147
Poder: 19
reina Va por buen camino
Lo que puse es una idea..asi tal cual lo escribi no funciona...
Si podes pega el codigo de lo qu hiciste y lo miro, ya me estoy yendo pero mañana o mas tarde lo miro!
salu22
Responder Con Cita
  #7  
Antiguo 30-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
La verdad no entiendo bien lo que quieres entonces, porque en mi empresa se cancela la nomina tanto por semana como quincena o incluso mes y puedo ver exactamente lo que se cancelo en la semana X o quincena X del mes X.
Sin nungun problema, entonces no entiendo.!=??
Bueno lamento no haber podido ayudarte.
Saludos
Responder Con Cita
  #8  
Antiguo 30-10-2006
OscarRd OscarRd is offline
Miembro
 
Registrado: sep 2006
Posts: 14
Poder: 0
OscarRd Va por buen camino
Gracias Caral....si que me ayudaste

En otras palabras lo que quiero es tener una tabla con la siguiente estructura

Periodo mes fecha1 fecha2
001 Enero 01/01/2006 15/01/2006
002 Enero 16/01/2006 31/02/206

003 Febrero 01/02/2006 01/15/06
004 Febrero 16/02/2006 28/02/2006

Esto es en el caso de los pagos quincenales
Responder Con Cita
  #9  
Antiguo 30-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
La verdad sigo sin entender.
La nomina quincenal se paga solo las quincenas
La nomina Semanal se paga solo las semanas
Entonces donde esta el problema, si le indico a mi programa que me de las nominas me las dara en su fecha exacta.
Ahora si quieres que el programa defina que ha sido pagado por semana o por quincena o por mes, es tan facil como poner un campo en la tabla que lo defina, S, Q, M.
En la consulta pones un edit en el que se verifica que cumpla la condicion osea que el campo FechaDePago que as de incluir en la tabla, sea S, o Q, o M.
La verdad siempre con el mismo sistema que te indique, lo veo realmente simple, creo que buscar las nominas exactas como las planteas te va a dar problemas ya que en algunas ocasiones la fecha de pago se puede variar si hay dias feriados u otros, esto es normal en las empresas, para mi te estas complicado la vida, sinceramente el codigo que necesitas es simple.
Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Obtener tiempo entre fechas YaninaGenia Oracle 5 04-05-2006 20:46:20
función para obtener diferencias entre fechas - Firebird clanmilano SQL 1 11-11-2005 13:29:52
Las horribles fechas, control de fechas Huer OOP 6 18-10-2005 19:11:49
Backup de tablas especificas Marcos Firebird e Interbase 2 18-02-2005 15:20:16
Pintar Celdillas especificas en una grilla josem Conexión con bases de datos 2 19-07-2004 20:57:17


La franja horaria es GMT +2. Ahora son las 15:58:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi