FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
referencia de recibos en facturas
Hola amigos del foro, estoy haciendo una aplicacion en Delphi 5 con Firebird 2.0, tengo un maestro detalle, para facturas y clientes, el tema que ahora estoy incorporando los recibos que referenciare a esas facturas.
o sea que una factura de $ 1.000 puede ser paga con uno a mas recibos, por ej. 4 recibos de $ 250. Los detalles de los recibos y las facturas se guardan en una tabla que se llama movdeud. Ahora para llevar esas referencias hice una tabla donde se guardan en un campo el ID de la factuta, en otro campo el ID del recibo, en los otros dos el monto de la factura y el monto del recibo. Mi pregunta es voy bien o hay una manera mas simple de hacer esto? De esta manera se me complica un poco en el momento de realizar las consultas sobre los saldos de cada cliente, espero hayan entendido mis dudas, esta medio entreverado. |
#2
|
||||
|
||||
No es un método muy correcto.
Lo mejor es que los recibos (que es algo diferente de las facturas) los guardes en una tabla aparte que guarde el ID de la factura a la que corresponden. Incluso te recomendaría que la numeración de esos recibos tenga una relación directa con las facturas para que en caso de que un operario tenga que localizarlas le sea fácil, por ejemplo: <nº factura>+ '_R'+<nº recibo> |
#3
|
||||
|
||||
Lo de relacionar los recibos y facturas no estoy de acuerdo .
Crea una vista que una las facturas, clientes y recibos. Si el usuario quiere buscar algo, que use esa vista. También te puede servir esa vista para calcular rápidamente el importe pendiente de una factura, teniendo en cuenta los recibos que tenga entregados.
Nota: Yo a los recibos le llamo vencimientos, y la tabla en cuestión se llama así. Usando un query y un UpdateSql puedes acceder a esa vista y editar registros, borrar, insertar, etc. Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#4
|
|||
|
|||
Creo entender sus consejos.
AL principio lo habia pensado de esa manera, pero que pasa si un cliente tiene 3 facturas: nº 101 = $ 2.000 nº 102 = $ 1.500 nº 103 = $ 3.000 A la vez ese cliente va entregando a cuenta con varios pagos pero va asignando los pagos a direntes facturas, Ej.: factura nº 101 = $ 2.000 recibo nº 10 = $ 500 recibo nº 11 = $ 1.000 pendiente $ 500 factura nº 102 = $ 1.500 recibo nº 12 = $ 500 recibo nº 13 = $ 250 pendiente $ 750 factura nº 103 = $ 3.000 recibo nº 14 = $ 500 recibo nº 15 = $ 200 recibo nº 15 = $ 300 recibo nº 16 = $ 500 pendiente $ 1.500 Con este ejemplo creo que necesariamente necesito un maestro detalle, donde en el maestro estan las facturas y en el detalle los recibos. Yo no lo hice con el numero de factura, ya que tambien tiene la serie; por lo tanto cada factura y cada recibo tienen un ID único. Gracias por vuestra ayuda, saludos. |
#5
|
||||
|
||||
Claro, es lo que pretendía decirte: esos recibos deben estar en una tabla propia que guarde una relación "N:1" con la de facturas.
Por otra parte no me parece buena idea usar la numeración de la factura como ID, ¿o es lo que usas en esa tabla como clave primaria? ¿O no he entendido lo que querías decir? Yo me refería a que cuando un cliente se lleva un recibo suele ser cómodo que en algún sitio se refleje a que factura pertenece, por lo que indicar que su numeración es la misma que la de la factura añadiéndole algo más parece la solución más directa. (Ojo para mi los números de factura y los ID de las facturas siempre son cosas distintas.) Si ya lo tienes hecho de otro modo y funciona bien no lo cambies. |
#6
|
||||
|
||||
Creo que todos estamos diciendo lo mismo pero con palabras distintas:
Relación de tablas: Código:
Factura: idfactura autoincremento clave primaria nfactura varchar numero de la factura que ve el usuario total factura numeric Recibo: idRecibo autoincremento clave primaria nRecibo varchar el número de recibo que ve el usuario, puede tener incluido el nfactura (lo que decía kuan-yiu) idFactura clave ajena a Factura.idFactura total_recibo numeric (lo pagado en este recibo). Código:
idfactura idRecibo Total_Factura Total_Recibo 101 10 2.000 500 101 11 2.000 1.000 102 12 1.500 500 102 13 1.500 250 No hay ningún problema con hacerlo así. ¿difiere algo de lo que tienes hecho ebeltete? Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#7
|
||||
|
||||
Yo hago algo similar a lo que indican kuan-yiu y Lepe la Tabla Facturas por así decir tiene 2 detalles, Líneas compuesta como es lógico por las líneas de Factura y Recibos - Pagos o Vencimientos, el nombre que convenga, este sistema lo utilizo porque hay muchos clientes que hacen entregas en metálico acuenta de una factura.
Id_Factura:0001/07 Fecha:10/11/07 Concepto:Pago en Metálico Importe:1.000,00 En la factura existe un Campo Total Pagado Pendiente Cada movimiento que se efectúa en Pagos, se actualiza en la factura, de esta manera es posible evaluar la deuda con tan solo consultar la tabla facturas, lo que hace más simple el SQL para dicha consulta. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#8
|
|||
|
|||
Esta claro que el id de la factura y el id del recibo no son unicos y son clave primaraia en la tabla.
Me parece interesante lo de marcoszorrilla: En la factura existe un Campo Total Pagado Pendiente Ir actualizando el pendiente de la factura puede agilizar la consulta. Hablamos mas o menos de lo mismo, recien estoy comenzando con este proyecto, es de Cuentas corrientes, facturacion recibos, cheques, acreedores, stock, etc. Por eso estoy pidiendo estos consejos y me han sido de mucha utilidad. Por ultimo, yo estoy manejando una sola tabla para las facturas y los recibos de los clientes, tambien en principio estoy usando la misma tabla para los proveedores, que es mejor? usar una tabla para cada cosa o no? Me parecia que al ser una sola tabla, por ej., la consulta de un saldo seria mas sencilla, pero pienso tambien que al ser una sola tabla, tendria muchos renglones y la consulta seria mas lenta. Gracias nuevamente, soy un agradecido de este foro por todo lo que aqui he aprendido. |
#9
|
|||
|
|||
Perdon en el mensaje anterior quise decir que los ID de las facturas son unicos y no es el numero que el cliente ve en el papel.
|
#10
|
|||
|
|||
Ahora si con un mismo recibo el cliente paga parte de dos facturas diferentes.
Ej.: Factura Nº 101 = $ 2.000 Nº 102 = $ 1.500 Recibo Nº 13 = $ 500 paga: factura Nº 101 = $ 200 y Factura Nº 102 $ 300 Creo que en ese caso no estaria contemplando el monto que le asigno a cada factura de ese recibo, porque si utilizo un campo para eso, cuando tenga que ingresar otro recibo tendria que crear otro campo, y asi sucesivamente. Por eso es que me parece mejor hacer un detalle donde cada recibo tenga uno o mas renglones que especifique a que facturas se refiere y que monto se le asigna a cada factura. Yo lo estaba haciendo en una tabla donde tenia cuatro campos ID_factura = es el ID de la factura ID_recibo = es el ID del recibo Monto_factura = es el monto que paga de la factura monto_recibo = es el monto del recibo que se le asigna a esa factura Saludos. |
#11
|
|||
|
|||
Interesante tema, quiero compartir con ustedes mi experiencia en un proyecto
en el que nos pedian algo un poco mas complejo. Nosotros llamamos "conciliaciones" al proceso de ir descontando el saldo pendiente a cancelar por factura. La empresa nos pidio que se hiciera automaticamente para algunos clientes y manualmente para otros, me explico, hay clientes a los que no les interesa como estan pagando sus cuentas pues llevan mentalmente su total de facturas y su total de abonos, sin embargo otros clientes cunado efectuan sus pagos indican que facturas estan cancelando y puede suceder que con un abono (recibo) paguen parte de una y parte de otra factura. El modelo que elaboramos fue el siguiente: Código:
Tercero: Codigo_Tercero Integer (PK) ... Cliente_Saldo_Automatico Cliente_Saldo_Actual Factura: Numero_Factura (PK) Fecha_Documento Codigo_Cliente (FK -> Tercero) Valor_Total Valor_Conciliado Saldo_Por_Conciliar ... Abono: Numero_abono (PK) Fecha_Documento Codigo_Cliente (FK -> Tercero) Valor_Total Valor_Conciliado Saldo_Por_Conciliar ... Conciliacion: ID_Conciliacion (PK automatico) Fecha_Conciliacion Numero_Abono (FK -> Abono) Numero_Factura (FK -> Factura) Valor_Conciliacion ... El campo Cliente_Saldo_Automatico tiene dos pocibles valores S/N, si el valor es S el sisterma automaticamente concilia los documentos con saldo pendiente por conciliar. En el sistema cuando las conciliaciones son manuales, se "cruza" un abono contra una o mas facturas, en ocasiones el pago es mayor que lo que debe el cliente, entonces quedan un saldo pendiente por cruzar. El modelo real es un poco mas complejo porque se maneja otros documentos como son NotasDebito y NotasCredito. Espero que les sea de utilidad.
__________________
Luis Fernando Buelvas T. |
#12
|
||||
|
||||
ebeltete busca en google por "Normalizar tablas" o "formas normales", eso te ayudará a dividir las tablas de forma precisa.
Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Tabla de Facturas vs Detalles de Facturas | magnu9 | Conexión con bases de datos | 9 | 27-07-2007 17:27:37 |
Dos recibos en una hoja | jsanchez | Impresión | 3 | 27-09-2005 19:10:58 |
Ayuda con recibos de Sueldo | Sundance | Impresión | 3 | 11-07-2005 16:33:32 |
Impresion de facturas y recibos | lafirma | Impresión | 1 | 13-12-2003 22:34:10 |
Campos calculados, facturas y detalles de facturas. | Letty | Conexión con bases de datos | 7 | 07-11-2003 11:19:44 |
|