Registro contable cuadrado

09/05/2008 - 14:04 por Guillermo Rojas | Informe spam
Dos tablas de un sistema de contabilidad para registros contables:

regConth (registro contable encabezado)
-
regno int -- pk identity
fecha date
...

regContd (registro contable detalle)

regno int
ctano char(10) --cuenta contable
debito decimal
credito decimal
...

Tengo que hacer que cada registro (regno) este cuadrado: que la suma de los
debitos sea igual a la suma de los creditos. Si no esta no debe aceptarlo.
No veo como poner esta restriccion en SQL Server, si un trigger o check, etc
y en cual de las dos tablas o si tengo que validarlo desde la aplicacion.
Que me podrian decir para orientarme?

Preguntas similare

Leer las respuestas

#1 Guillermo Villanueva
09/05/2008 - 14:31 | Informe spam
Veo medio complicado que lo chequees con un trigger porque no sabes de
antemano cuantos regContd tendrás por cada regConth, yo diría que lo
chequees desde la aplicación cuando se va a grabar la transacción completa.
En todo caso, si quieres tener un chequeo a nivel de BD podrías chequear con
un trigger el registro (x-1) cuando intentas grabar el encabezado del
registro x y no permitir este si el (x-1) no es correcto.
Son solo ideas

"Guillermo Rojas" <grr> escribió en el mensaje
news:%
Dos tablas de un sistema de contabilidad para registros contables:

regConth (registro contable encabezado)
-
regno int -- pk identity
fecha date
...

regContd (registro contable detalle)

regno int
ctano char(10) --cuenta contable
debito decimal
credito decimal
...

Tengo que hacer que cada registro (regno) este cuadrado: que la suma de
los debitos sea igual a la suma de los creditos. Si no esta no debe
aceptarlo.
No veo como poner esta restriccion en SQL Server, si un trigger o check,
etc y en cual de las dos tablas o si tengo que validarlo desde la
aplicacion.
Que me podrian decir para orientarme?



Respuesta Responder a este mensaje
#2 Alfredo Novoa
09/05/2008 - 14:36 | Informe spam
On Fri, 9 May 2008 08:04:06 -0400, "Guillermo Rojas" <grr> wrote:

Dos tablas de un sistema de contabilidad para registros contables:

regConth (registro contable encabezado)
-
regno int -- pk identity
fecha date
...

regContd (registro contable detalle)

regno int
ctano char(10) --cuenta contable
debito decimal
credito decimal
...

Tengo que hacer que cada registro (regno) este cuadrado: que la suma de los
debitos sea igual a la suma de los creditos. Si no esta no debe aceptarlo.
No veo como poner esta restriccion en SQL Server, si un trigger o check, etc
y en cual de las dos tablas o si tengo que validarlo desde la aplicacion.
Que me podrian decir para orientarme?



Podrías ponerle al encabezado un campo que indicase que el registro
está finalizado, y al poner el registro en estado finalizado haces que
se compruebe la restricción con un check.


Saludos
Alfredo
Respuesta Responder a este mensaje
#3 Alfredo Novoa
09/05/2008 - 15:39 | Informe spam
Hola Guillermo,

On Fri, 9 May 2008 09:31:54 -0300, "Guillermo Villanueva"
wrote:

yo diría que lo
chequees desde la aplicación cuando se va a grabar la transacción completa.
...
Son solo ideas



Pues esto es una mala idea.


Saludos
Alfredo
Respuesta Responder a este mensaje
#4 Gux (MVP)
09/05/2008 - 16:38 | Informe spam
Parece ser una tarea típica para un trigger de la tabla de detalles.

Gustavo Larriera, Microsoft MVP
https://mvp.support.microsoft.com/p...o.larriera
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.



"Guillermo Rojas" wrote:

Dos tablas de un sistema de contabilidad para registros contables:

regConth (registro contable encabezado)
-
regno int -- pk identity
fecha date


regContd (registro contable detalle)

regno int
ctano char(10) --cuenta contable
debito decimal
credito decimal


Tengo que hacer que cada registro (regno) este cuadrado: que la suma de los
debitos sea igual a la suma de los creditos. Si no esta no debe aceptarlo.
No veo como poner esta restriccion en SQL Server, si un trigger o check, etc
y en cual de las dos tablas o si tengo que validarlo desde la aplicacion.
Que me podrian decir para orientarme?




Respuesta Responder a este mensaje
#5 Alfredo Novoa
09/05/2008 - 16:45 | Informe spam
Hola Gux,

On Fri, 9 May 2008 07:38:02 -0700, Gux (MVP)
wrote:

Parece ser una tarea típica para un trigger de la tabla de detalles.



Pero mientras vas metiendo los registros detalle el registro contable
puede estar descuadrado.

Solo tiene que estar cuadrado cuando está finalizado.


Saludos
Alfredo
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida