PDA

Ver la Versión Completa : Reducir Inventario por medio factura


josejose
25-01-2007, 14:27:18
Buenos días a todos los integrantes de esta gran comunidad

Mi inquietud es la siguiente tengo una pantalla de facturación es un maestro detalle en el detalle coloco los artículos que se venden y también tengo una pantalla de artículos y mi inquietud es como podría hacer para que cuando introduzca un articulo en la factura me lo rebaje del inventario y si elimino el articulo de la factura lo retorne a existencia.
Si me pueden orientar con el código algún ejemplo
Gracias una vez más por su ayuda.

Soy nuevo en esto pero enverad quiero aprender
Estoy trabajando con delphi7 y Access 2003

marcoszorrilla
25-01-2007, 15:49:49
Se supone que tienes una tabla en la que figuran los códigos, nombres, precio... y existencias actuales de cada artículo.

Pues cuando des de alta una línea en la factura, lanzas un SQL "Update", contra esa tabla restándole las unidades que procedan.

También puedes hacerlo directamente porque se supone que el momento que apuntas al artículo te encuentras en esa preciso registro entonces sería una simple resta.

TablaArticulosexistencias.Value:=TablaArticulosexistencias.Value - TablaLineaFacturaUnis.Value;

Un Saludo.

DANY
25-01-2007, 19:01:35
Para evitar errores yo prefiero que el inventario sea un dato calculado,
Es decir, la sumatoria de todos los ingresos menos los egresos, claro que para saber el stock actual de un articulo siempre habra que realizar una consulta que con el tiempo puede ser pesada, pero todo se soluciona con buenos indices en la base. Solo un punto de vista, pero de esa manera siempre concordara el historial de mov. con el valor actual, ya que el diablo siempre mete la cola y por algun error puede quedar mal el registro de stock actual.

marcoszorrilla
25-01-2007, 22:21:21
Si cada vez que se efectua una venta o una compra hay que recalcular todo el inventario el sistema irá lento.

Lo que yo digo es que se calcule al vuelo por una simple resta, esto no impide que en un momento dado haya la posibilidad de efectuar un recálculo completo, por ejemplo al ponerse en marcha el servidor todas las mañanas o un día programado. Para este recálculo la cosa se complica un poco más pues habrá:Existencias iniciales de cada producto, regularizaciones, compras(entradas), ventas(salidas), con todos estos parámetros habrá que actualizar el almacén, por eso yo sostengo que no se haga en cada línea de factura pues 20 personas facturando generando este cálculo contra toda la tabla de ventas, compras y regularizaciones necesariamente irá lento.

Un Saludo.



Un Saludo.

AzidRain
26-01-2007, 01:23:29
No hay que perder de vista que el inventario se debe actualizar unicamente cuando se haya concretado la transacción, en este caso la emisión de la factura. La forma correcta y simple es restar del inventario. No soy partidario de la consulta ya que se volverá pesada cada vez y puede estar propensa a errores ya que en un x momento los datos pudieran no estar completamente actualizados o bien estar en proceso de actualizarse mientras corre el query que calcula existencias pudiendo dar lugar a existencias erróneas.

Visto de otro modo suponiendo que tengo 100 piezas, hago una venta y finalizo la transacción, mientras esta finalizandose alguien pide un query de las existencias de ese articulo, como no ha finalizado la transaccion el query devuelve 100 piezas, cuando en realidad puede que ya no las haya.

Si se usa el enfoque de aumentar y disminuir con sumas y restas:

a) Es por mucho, mas sencillo de mantener
b) Se pueden identificar de cualquier forma las entradas y salidas
c) Es más rápido
d) Es más exacto.

Este esquema lo manejan empresas como Wal-Mart (donde trabajé varios años) y me consta que funciona bien y sin problemas. La clave es actualizar el inventario (sumar o restar) solo cuando se finaliza una transacción:

Entradas:
- Recibo de mercancía de proveedores
- Devoluciones de clientes
- Transferencias de mcia. desde otras sucursales.

Salidas:
- Ventas
- Merma (mcia dañada que se tira a la basura)
- Robo (mcia. que se detecta que se robaron)
- Devoluciones a proveedores
- Transferencias a otras sucursales

Todas estas transacciones se encargaran de sumar o restar al inventario y lo actualizan unicamente cuando se "finalizan" o asientan.

de forma que puedes tambien calcular las existencias así:

Inventario fisico = Existencia inicial + recibos + transferencias recibidas + devoluciones de clientes - ventas -devoluciones a proveedores -merma - robo (detectado) - transferencias enviadas.