Automatizar

08/12/2003 - 13:30 por Julio | Informe spam
Hola grupo

Es posible que teniendo esta tabla pueda automatizar los primero dos campos
es decir que teniendo 03-05-222, el 03 pase a ser 04 el 1 de enero del
2004,lo que sucede es que el 03 representa el año.
Y poder incrementar el 222 cada vez que se inserte un registro ya que este
representa la secuencia.

Numero Fecha Suplidor
03-05-222 01/01/03 3
03-01-555 02/05/06 3
03-06-333 01/07/05 2

Preguntas similare

Leer las respuestas

#1 Eladio Rincón
09/12/2003 - 14:45 | Informe spam
Hola,

la segunda parte la entiendo; con un trigger podrías buscar el patrón
anterior e incrementar su valor. Pero la primera parte: ¿cuando decides
pasar de 03 a 04? ¿es sólo una condición o está dentro de algún proceso?

Saludos,

Eladio Rincón.
"Julio" escribió en el mensaje
news:
Hola grupo

Es posible que teniendo esta tabla pueda automatizar los primero dos


campos
es decir que teniendo 03-05-222, el 03 pase a ser 04 el 1 de enero del
2004,lo que sucede es que el 03 representa el año.
Y poder incrementar el 222 cada vez que se inserte un registro ya que este
representa la secuencia.

Numero Fecha Suplidor
03-05-222 01/01/03 3
03-01-555 02/05/06 3
03-06-333 01/07/05 2







Respuesta Responder a este mensaje
#2 Julio
09/12/2003 - 15:09 | Informe spam
Gracias eladio por responder, es una condicion ya que este numero como te
decia es quin indica el Año. Entonces si estamos en el año 2003 la factura
tiene 03 y cuando llegue el año 2004 este numero pasaria hacer 04 que es
quien representa el año.

Gracias de antes manos.
"Eladio Rincón" wrote in message
news:
Hola,

la segunda parte la entiendo; con un trigger podrías buscar el patrón
anterior e incrementar su valor. Pero la primera parte: ¿cuando decides
pasar de 03 a 04? ¿es sólo una condición o está dentro de algún proceso?

Saludos,

Eladio Rincón.
"Julio" escribió en el mensaje
news:
> Hola grupo
>
> Es posible que teniendo esta tabla pueda automatizar los primero dos
campos
> es decir que teniendo 03-05-222, el 03 pase a ser 04 el 1 de enero del
> 2004,lo que sucede es que el 03 representa el año.
> Y poder incrementar el 222 cada vez que se inserte un registro ya que


este
> representa la secuencia.
>
> Numero Fecha Suplidor
> 03-05-222 01/01/03 3
> 03-01-555 02/05/06 3
> 03-06-333 01/07/05 2
>
>
>
>
>
>
>


Respuesta Responder a este mensaje
#3 Eladio Rincón
09/12/2003 - 23:27 | Informe spam
Hola Julio,

a ver si entiendo:
cuando creas una factura aportas la fecha y el proceso de encarga de calcular el número de factura, ok.
¿qué sucede con el número que aparece entre los separadores (AÑO)-(N1)-(N2)? Suponemos que N1 comenzará en 01 y según N2 vaya llegando a 999 se incrementará N1? Es lo que quieres?

Otra cosa, el número sólo se calculará por creaciones de facturas: no se irán recalculando huecos, verdad?

Saludos,

Eladio Rincón
SQL Server MVP
http://eladio.europe.webmatrixhosting.net

"Comparte lo que sabes, aprende lo que no sepas." FGG

"Julio" escribió en el mensaje news:%23sk%
Gracias eladio por responder, es una condicion ya que este numero como te
decia es quin indica el Año. Entonces si estamos en el año 2003 la factura
tiene 03 y cuando llegue el año 2004 este numero pasaria hacer 04 que es
quien representa el año.

Gracias de antes manos.
"Eladio Rincón" wrote in message
news:
> Hola,
>
> la segunda parte la entiendo; con un trigger podrías buscar el patrón
> anterior e incrementar su valor. Pero la primera parte: ¿cuando decides
> pasar de 03 a 04? ¿es sólo una condición o está dentro de algún proceso?
>
> Saludos,
>
> Eladio Rincón.
> "Julio" escribió en el mensaje
> news:
> > Hola grupo
> >
> > Es posible que teniendo esta tabla pueda automatizar los primero dos
> campos
> > es decir que teniendo 03-05-222, el 03 pase a ser 04 el 1 de enero del
> > 2004,lo que sucede es que el 03 representa el año.
> > Y poder incrementar el 222 cada vez que se inserte un registro ya que
este
> > representa la secuencia.
> >
> > Numero Fecha Suplidor
> > 03-05-222 01/01/03 3
> > 03-01-555 02/05/06 3
> > 03-06-333 01/07/05 2
> >
> >
> >
> >
> >
> >
> >
>
>


Respuesta Responder a este mensaje
#4 ulises
10/12/2003 - 04:15 | Informe spam
Podrias probar con este código :

declare @cadena char(09)
declare @nuevo char(09)
declare @periodo char(02)
declare @grupo int
declare @secuencia int
declare @fecha datetime

SET @cadena = '03-10-001'
SET @fecha = '20031209'
SET @periodo = SUBSTRING(@cadena,1,2)
SET @grupo = CONVERT(int,SUBSTRING(@cadena,4,2))
SET @secuencia = CONVERT(int,SUBSTRING(@cadena,7,3))
IF @periodo < SUBSTRING(CONVERT(CHAR(04),YEAR(@fecha)),3,2)
BEGIN
SET @periodo = SUBSTRING(CONVERT(CHAR(04),YEAR(@fecha)),3,2)
SET @grupo = 1
SET @secuencia = 1
END
ELSE
BEGIN
SET @nuevo = @cadena
IF @secuencia = 999
BEGIN
SET @grupo = @grupo + 1
SET @secuencia = 1
END
ELSE
BEGIN
SET @secuencia = @secuencia + 1
END
END
SET @nuevo = CONVERT(char(02),@periodo) + '-' +
RIGHT('00'+CONVERT(varchar(02),@grupo),2) + '-' +
RIGHT('000'+CONVERT(varchar(03),@secuencia),3)

SELECT @cadena, @nuevo

optimizalo y colocalo en una funcion o dentro del storeprocedure que
realice la inserción del registro.

Saludos,
Ulises

On Tue, 9 Dec 2003 10:09:34 -0400, "Julio"
wrote:

Gracias eladio por responder, es una condicion ya que este numero como te
decia es quin indica el Año. Entonces si estamos en el año 2003 la factura
tiene 03 y cuando llegue el año 2004 este numero pasaria hacer 04 que es
quien representa el año.

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida