Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-10-2006
jjaen26 jjaen26 is offline
Miembro
 
Registrado: sep 2006
Posts: 19
Poder: 0
jjaen26 Va por buen camino
Calcular la fecha de vencimiento de una factura

Saludos tengo una pregunta no se si alguien me pudiera ayudar, tengo que hacer una aplicación de gestión de documentos donde cada documento vence a los diez días hábiles, a partir de una fecha dada, mi pregunta es como se puede calcular con SQL la fecha de vencimiento de cada documento tomando en cuenta lo siguiente:

1) Los sábados y domingos no se trabaja.
2) Hay días festivos que solo lo son cada 6 años ó cada determinado número de años.

Me gustaría tener en una tabla los datos de los días festivos, de manera de no tener que capturar las mismas fechas para todos los años

Día,
Mes
Periodo (o sea cada cuando es festivo, 1= cada año, 4 = cada 4 años, 6 = cada 6 años, n = cada n años.)

3) Si un día festivo cae en domingo se recorre hasta el siguiente (Deseable).

Si alguien me pudiera dar una pista por favor se los agradecería.
Responder Con Cita
  #2  
Antiguo 10-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
No se si sera tarea o que pero, por que no poner la fecha de vencimiento de la factura a la hora de hacerla y ya.?
No se seria mucho mas facil que calcular todo lo que quieres, no te parece.?
Saludos
Responder Con Cita
  #3  
Antiguo 10-10-2006
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Como muy bien te han explicado ya, lo mejor es tener un campo vencimiento de tipo fecha y ahí guardar el vencimiento. Otra cosa es calcularlo.

Para contar los días inhábiles, sería preciso tener un calendario, una tabla, en la que se guarden los días que no van a contar para este cálculo.

Una idea del cálculo puede ser contar los días feriados entre las fechas y luego ejecutar el cálculo.

Vcto:=Fecha + 10 + Dias_Feriados

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 10-10-2006
Avatar de kyke_mx
kyke_mx kyke_mx is offline
Registrado
 
Registrado: abr 2006
Posts: 8
Poder: 0
kyke_mx Va por buen camino
Opcion

Dependiendo del motor de bases de dtos, yo te aconsejo que uses la clusula Not in de SQL:

Este operador devuelve aquellos registros cuyo campo indicado coincide con alguno de los indicados en una lista. Su sintaxis es:
expresión [Not] In(valor1, valor2, . . .)

SELECT * FROM Pedidos WHERE Provincia
In ('Madrid', 'Barcelona', 'Sevilla');
Responder Con Cita
  #5  
Antiguo 10-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Bueno
Creo e insisto que nada mas facil que poner un par de DateTimePicker en el from de facturacion y ya, tengo la fecha de creacion e indico la fecha de vencimiento.
Que pasa si por X razon el dia de vencimiento decido que va a ser otro, por ejemplo: Doy credito a 30 dias, pero a X cliente se lo voy a cambiar a 60 por que me cae bien, tengo que cambiar datos en la tabla ect..
Mientras pienso como hacer esto ya deje de facturar varios pedidos.
Por eso indique en mi primera nota si esto era una tarea, por que de lo contrario, nada a lo rapido y simple ademas 100% FUNCIONAL.
En la simpleza esta la virtud.
Saludos
Responder Con Cita
  #6  
Antiguo 10-10-2006
jjaen26 jjaen26 is offline
Miembro
 
Registrado: sep 2006
Posts: 19
Poder: 0
jjaen26 Va por buen camino
No me quiero atener a los posibles errores de los usuarios al calcular estas fechas, a demas bien vale la pena hacer este calculo por el tiempo que les ahorra a los usuario al calcularlo automaticamente y no tener que andar haciendo cuentas con un calendario ala mano cada vez que registren un documento.

Gracias
Responder Con Cita
  #7  
Antiguo 10-10-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
jjaen26 y Caral llevan razón.

Lo deseable, es tener 2 DateTimePickers y además proponer automáticamente la fecha de Vencimiento, así el usuario siempre es el que decide.

Intuyo que eres español jjaen26, En este truco tienes una rutina para calcular el domingo de Pascua (semana santa). Seguro que te sirve .

La rutina DayOfTheWeek(now) de la unidad Dateutils, te devuelve 7 si hoy es domingo, así que puedes sumarle 1 para cambiar al siguiente día.

Por cierto....
Cita:
Empezado por jjaen26
3) Si un día festivo cae en domingo se recorre hasta el siguiente (Deseable).
¿hasta el siguiente domingo?, oye, ¿tú donde trabajas? ¡¡que me voy para allá!!

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 10-10-2006
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino

Coincido con esto:
Cita:
¿hasta el siguiente domingo?, oye, ¿tú donde trabajas? ¡¡que me voy para allá!!
Que ya estoy haciendo maletas.
Saludos Lepe que sin conocerte e oido tanto que ya asta te extrañaba.
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
Factura Stravinsky Conexión con bases de datos 5 10-10-2006 17:25:41
Calcular total factura jcheco Varios 1 19-04-2006 17:06:14
Fallo Nº Factura y Linea Factura CarmaZone Tablas planas 5 26-05-2005 11:17:19
query que seleccione datos 5 dias antes del vencimiento!! jmedina SQL 2 10-02-2005 23:45:01
Como crear una Aplicación (Trial) con Vencimiento Jessica666 Varios 6 23-05-2004 21:22:48


La franja horaria es GMT +2. Ahora son las 03:21:41.


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