agrupar 2 campos en 1

12/11/2003 - 11:36 por Susana | Informe spam
hola,

os paso a contar un caso a ver si me sabeis ayudar.

Tengo una tabla de lineas de factura, en la cual tengo los campos: artículo,
cantidad, precio, ... Pues bién, es posible que para cada línea exista mas
de un impuesto aplicable a dicha linea (ver operaciones intracomunitarias o
similares). Yo he planteado que en esta tabla se almacenen los valores del
código del impuesto y el importe de impuesto, para ello he creado los campos
fk_impuesto1, fk_impuesto2, total_impuesto1 y total_impuesto2.

Claro ahora lo que me pasa, es que en la impresión de la factura, a la hora
de sacar un listado de ivas, etc, etc, necesito obtener de cada factura un
total por impuesto.

si una forma de hacerlo es crearme una tabla y hacer un procedimiento que
vaya recorriendo la tabla de líneas e insertando o actulaiznado la nueva
tabla de ivas, pero estoy mirando de hacerlo de alguna otra forma, a través
de un union sql o similar.

Alguien me puede ayudar, gracias

PD: quizás la mejor solución sea crear una tabla de iva asociada a las
líneas y en ella insertar 2 registros en el caso d que la línea tenga 2 ivas
y uno en el caso de 1, y luego simplemente consultar esta tabla, no?

Preguntas similare

Leer las respuestas

#1 Accotto Maximiliano D.
12/11/2003 - 13:42 | Informe spam
Susana no se si te servira esto pero te cuento como lo tenemos nosotros en
la Aplicacion ERP.

Tenemos una tabla de cabecera de facturas y una de las lineas.

Hasta aca normal digamos

Luego hay otra tabla donde dice:

Factura,linea,id_impuesto,valor

Yo lo tenia q resolver por linea y no por factura (hay articulos q tenias
mas de un impuesto por ej)

Bien entonces yo voy cargando linea a linea los diferentes impuestos si()

Si quiero el total te imaginaras q es simple no? sumo todo lo q esta en el
campo Valor agrupado por Factura_id

y en la linea imprimo el total de impuestos de esta linea (sunmo Valor
agrupado por Factura_id y linea al mismo tiempo)

Un abrazo

Accotto Maximiliano Damian
Fundicion San Cayetano S.A
4002 - 4010
Gerente de Sistemas

" Susana" escribió en el mensaje
news:
hola,

os paso a contar un caso a ver si me sabeis ayudar.

Tengo una tabla de lineas de factura, en la cual tengo los campos:


artículo,
cantidad, precio, ... Pues bién, es posible que para cada línea exista mas
de un impuesto aplicable a dicha linea (ver operaciones intracomunitarias


o
similares). Yo he planteado que en esta tabla se almacenen los valores del
código del impuesto y el importe de impuesto, para ello he creado los


campos
fk_impuesto1, fk_impuesto2, total_impuesto1 y total_impuesto2.

Claro ahora lo que me pasa, es que en la impresión de la factura, a la


hora
de sacar un listado de ivas, etc, etc, necesito obtener de cada factura un
total por impuesto.

si una forma de hacerlo es crearme una tabla y hacer un procedimiento que
vaya recorriendo la tabla de líneas e insertando o actulaiznado la nueva
tabla de ivas, pero estoy mirando de hacerlo de alguna otra forma, a


través
de un union sql o similar.

Alguien me puede ayudar, gracias

PD: quizás la mejor solución sea crear una tabla de iva asociada a las
líneas y en ella insertar 2 registros en el caso d que la línea tenga 2


ivas
y uno en el caso de 1, y luego simplemente consultar esta tabla, no?


Respuesta Responder a este mensaje
#2 Susana
12/11/2003 - 13:51 | Informe spam
gracias

"Accotto Maximiliano D." escribió en el
mensaje news:
Susana no se si te servira esto pero te cuento como lo tenemos nosotros en
la Aplicacion ERP.

Tenemos una tabla de cabecera de facturas y una de las lineas.

Hasta aca normal digamos

Luego hay otra tabla donde dice:

Factura,linea,id_impuesto,valor

Yo lo tenia q resolver por linea y no por factura (hay articulos q tenias
mas de un impuesto por ej)

Bien entonces yo voy cargando linea a linea los diferentes impuestos si()

Si quiero el total te imaginaras q es simple no? sumo todo lo q esta en el
campo Valor agrupado por Factura_id

y en la linea imprimo el total de impuestos de esta linea (sunmo Valor
agrupado por Factura_id y linea al mismo tiempo)

Un abrazo

Accotto Maximiliano Damian
Fundicion San Cayetano S.A
4002 - 4010
Gerente de Sistemas

" Susana" escribió en el mensaje
news:
> hola,
>
> os paso a contar un caso a ver si me sabeis ayudar.
>
> Tengo una tabla de lineas de factura, en la cual tengo los campos:
artículo,
> cantidad, precio, ... Pues bién, es posible que para cada línea exista


mas
> de un impuesto aplicable a dicha linea (ver operaciones


intracomunitarias
o
> similares). Yo he planteado que en esta tabla se almacenen los valores


del
> código del impuesto y el importe de impuesto, para ello he creado los
campos
> fk_impuesto1, fk_impuesto2, total_impuesto1 y total_impuesto2.
>
> Claro ahora lo que me pasa, es que en la impresión de la factura, a la
hora
> de sacar un listado de ivas, etc, etc, necesito obtener de cada factura


un
> total por impuesto.
>
> si una forma de hacerlo es crearme una tabla y hacer un procedimiento


que
> vaya recorriendo la tabla de líneas e insertando o actulaiznado la nueva
> tabla de ivas, pero estoy mirando de hacerlo de alguna otra forma, a
través
> de un union sql o similar.
>
> Alguien me puede ayudar, gracias
>
> PD: quizás la mejor solución sea crear una tabla de iva asociada a las
> líneas y en ella insertar 2 registros en el caso d que la línea tenga 2
ivas
> y uno en el caso de 1, y luego simplemente consultar esta tabla, no?
>
>


Respuesta Responder a este mensaje
#3 Javier Loria
12/11/2003 - 17:27 | Informe spam
Hola Susana:
Una alternativa:
/* Modelo de Impuestos y Fact. */
CREATE TABLE Articulos(
ArticuloID INT NOT NULL
PRIMARY KEY,
)

CREATE TABLE Impuestos(
ImpuestoID INT NOT NULL
PRIMARY KEY,
Porcentaje NUMERIC(9,2) NOT NULL
)

CREATE TABLE ImpuestosArticulos(
ArticuloID INT NOT NULL ,
ImpuestoID INT NOT NULL,
CONSTRAINT PK_ImpuestoArticulo
PRIMARY KEY(ArticuloID,ImpuestoID)
)

CREATE TABLE Facturas(
NumFactura INT NOT NULL
PRIMARY KEY
)

CREATE TABLE LineasFacturas(
NumFactura INT NOT NULL,
LineaFactura INT NOT NULL,
ArticuloID INT NOT NULL,
Cantidad INT NOT NULL,
PrecioUnitario NUMERIC(9,2),
CONSTRAINT PK_LineaFactura
PRIMARY KEY(NumFactura, LineaFactura),
CONSTRAINT FK_LineasFactFacturas
FOREIGN KEY(NumFactura)
REFERENCES Facturas(NumFactura),
CONSTRAINT FK_LineasArticulos
FOREIGN KEY(ArticuloID)
REFERENCES Articulos(ArticuloID)
)

CREATE TABLE ImpuestosxLineasFactura(
NumFactura INT NOT NULL,
LineaFactura INT NOT NULL,
ArticuloID INT NOT NULL,
ImpuestoID INT NOT NULL,
Monto NUMERIC(9,2) NOT NULL,
CONSTRAINT PK_Impuestos
PRIMARY KEY(NumFactura,LineaFactura,
ArticuloID, ImpuestoID),
CONSTRAINT FK_IyLLineasFacturas
FOREIGN KEY(NumFactura, LineaFactura)
REFERENCES LineasFacturas(NumFactura, LineaFactura),
CONSTRAINT FK_IyLArticulosImpuesto
FOREIGN KEY(ArticuloID, ImpuestoID)
REFERENCES ImpuestosArticulos(ArticuloID, ImpuestoID)
)
/* Fin de Modelo */
Por supuesto que podria tener variantes pero tal vez te sirve de bas.


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
Susana escribio:
hola,

os paso a contar un caso a ver si me sabeis ayudar.

Tengo una tabla de lineas de factura, en la cual tengo los campos:
artículo, cantidad, precio, ... Pues bién, es posible que para cada
línea exista mas de un impuesto aplicable a dicha linea (ver
operaciones intracomunitarias o similares). Yo he planteado que en
esta tabla se almacenen los valores del código del impuesto y el
importe de impuesto, para ello he creado los campos fk_impuesto1,
fk_impuesto2, total_impuesto1 y total_impuesto2.

Claro ahora lo que me pasa, es que en la impresión de la factura, a
la hora de sacar un listado de ivas, etc, etc, necesito obtener de
cada factura un total por impuesto.

si una forma de hacerlo es crearme una tabla y hacer un procedimiento
que vaya recorriendo la tabla de líneas e insertando o actulaiznado
la nueva tabla de ivas, pero estoy mirando de hacerlo de alguna otra
forma, a través de un union sql o similar.

Alguien me puede ayudar, gracias

PD: quizás la mejor solución sea crear una tabla de iva asociada a las
líneas y en ella insertar 2 registros en el caso d que la línea tenga
2 ivas y uno en el caso de 1, y luego simplemente consultar esta
tabla, no?
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida