none
¿base de datos acces 2003 Factura Kardex credito ? RRS feed

  • Pregunta


  • Hola estoy realizando un sistema de faturacion que maneja ventas al credito y ventas al contado..cuando la venta es al credito esta se pasa a una tarjeta kardex de credito ....ayuda no se como hacerlo ya tengo lo de facturacion al credito y me rebaja de stock pero esto del kardex credito no se como hacerlo si me pueden dar un ejmplo de una base de datos se los agradeceria mi correo es gesjosecasr@yahoo.es y yo les mando lo que tengo para que me ayuden yo les mando mi base de datos y le explico mejor....por favor echenme una manito.. aqui le dejo la imagen del kardex
    http://www.imaxenes.com/imagen/kardex1me150o.jpg.html

    sábado, 21 de marzo de 2009 4:04

Todas las respuestas

  • hola,

    Por lo que veo ya tienes avanzado el desarrollo y tienes un diseño de base de datos.

    Tambien puedo ver que el registro de la targeta kardex no pare muy complejo, a ver me imagino que en tu diseño tendras una tabla que representara al "Cliente", o sea la tipica tabla que continee sus datos, nombre, numero de documento, direccion, telefono, esos datos simples.

    Bueno para poder registrar esta tarjeta simplemente deberias añadir una nueva tabla que se asocie a la del cliente.
    Me imagino ademas que tendras una tabla de Facturas.


    Podrias armar la tabla para el registro kardex, como esto:


    VentaCredito
    -----------------
    idCredito  PK
    idCliente   FK

    VentaCreditoDetalle
    --------------------------
    idCredito PK
    idCreditoDetalle PK
    idFactura  FK
    Fecha
    Credito
    Abono
    Saldo


    PK = Primary key
    FK = Foreing key

    Como habras observado la primer tabla solo define la cabecera de la venta a credito, o sea de tu kardex, y se relaciona con el cliente para poder armar el encabezado de la misma.

    La segunda es el detalle, esta se una a la anterior por medio del idCredito, y tiene una adicional idCreditoDetalle, el cual es un campo secuencial que incrementa por cada linea que se agrega.
    Aqui tienes dos alternativas de diseño, o usas una clave compuesta entre idCredito y idCreditoDetalle, o puedes usar solo una en este caso idCreditoDetalle.
    La diferencia es basicamente que con clave compuesta deberias incrementar idCreditoDetalle en base a idCredito, en la otra es un campos secuencia creciente, o sea podria ser del tipo identity en tu db.

    Un ejemplo de datos de carga para que veas la diferencia entre claves compuestas y simpes:

    Clave compuesta:

    VentaCreditoDetalle
    ---------------------------
    idCredito    idCreditoDetalle
        10               1
        10               2
        10               3
        11               1
        11               2
        12               1
       

    Clave Simples:

    VentaCreditoDetalle
    ---------------------------
    idCreditoDetalle   idCredito
           1                        10
           2                        10
           3                        10
           4                        11
           5                        11
           6                        12



    Por lo general si utilizas algun sistema de ORM, se tiene a utilizar claves simples, asi todo es mas sencillo.

    Lo que no llegue a entender del todo es si un credito es por factura, o no.
    Segun veo pareciera que se puede hacer en multiples facturas, o al menos la tarjeta no lo restringe, pero es raro, me imaginaba que el credito se le otorgaba al cliente, o sea no se aplicaba a una factura determinada, a ver si me explico, el cliente x tiene un credito de x plata, a medida que va pagando se el va descontando de este.
    O al menos con los creditos bancarios es de esta forma, el banco da un credito, o sea me asigna el dinero, o sea con eso el podria saldar sus facturas, con lo que la facturacion ya estaria paga, luego el cliente lo que paga en cuotas es el credito, pero que sepa esta ya no esta asociado a una factura.

    Por ahi el campo Saldo tampoco deberia ir en el diseño ya que por las 3FN (las tres formas normales) de diseño de una db este seria un campo calculado, pero bueno a veces es necesario que este para evitar realizar tanto procesamiento en el calculo y ser un poco mas rapido.

    Por ahi el nombre de la tabla podria cambiar si quieres.

    Bueno espero esto te de una pista de como diseñar la base.
    Saludos
    Leandro Tuttini
    sábado, 21 de marzo de 2009 14:30