El inventario se componen de cada linea de compra confirmada. Algo asi:
Codigo Articulo Desc Cantidad exitencia
0001 G001 Gaseosa 10 10
0002 A002 Arroz 100 90.
El caso es que en salida tengo un form donde creo el numero de la salida,
y luego el detalle.
Pero al momento de descontar lo que se vende de la tabla inventario es que
tengo problemas.
Quiciera que alguien me pueda dar una forma mas facil que me ayude.
Gracias desd ya.
Andys Bohórquez
Cartagena-Colombia
Si nos pudieras comentar un poco más de qué tipo de lógica sigues y
qué controles llevas, sería mejor.
De cualquier manera, al manejar cualquier tipo de inventario, llevas
un control de existencias en base a entradas y salidas.
Con respecto a las entradas, no hay mayor problema. En todo caso, es
llevar control de costeos.
Con respecto a las salidas... tu sistema permite facturar más lo que
hay en existencia? En teoría no debiera. Por lo que al momento de que
el usuario teclée lo que desea facturar, tu sistema debe contemplar
que la cantidad no exceda a la existencia.
Saludos.
INVENTARIO
periodo, codigo, saldo_inicial, ingresos_mes, salidas_mes
200810, 0001, 100, 50, 60
Periodo es un campo que indica al año y mes, codigo del articulo, saldo
inicial del mes, ingresos acumulados del mes, salidas acumuladas del mes.
saldo_diponible = saldo_inicial + ingresos_mes - salidas_mes
salu2
Andys Bohorquez escribió:
MP
"cesarz" <ztc_ceroc...@hotmail.com> escribió en el mensaje
news:Oh0hCotK...@TK2MSFTNGP05.phx.gbl...
Articulos.dbf = codigo, descripcion, categoria, proveedor, etc..
Categoria.dbf = campos comunes
Proveedores.dbf = campos comunes
Clientes.dbf = campos comunes
Compras.dbf = codigo, Fecha, descrionped
Compras_detalles.dbf = codigo, linea, codpedi, articulo, descarti, cantidad,
precicomp, precioventa, fecvenc, etc..
Inventario.dbf = codigo, linea, codpedi, articulo, descarti, cantidad,
existencia, precicomp, precioventa, fecvenc, etc.
Ventanum.dbf = codigo, codcliente, nomcliente, totalventa, recargo,
descuento, pago, saldo,estadopago, etc..
Ventasdetalles = codigo, codventanum, codpedidocompra,codinvenatri,facha,
linea. articulo, cantidad,precioun,recargo, descuento,totalvanta,etc...
Que hago:
Defino los articiulos, cons categorias, proveedores, genero un pedido de
compra un numero consecutivo en la tabla compras.dbf, luego paso a otro
form y creo los detalles de ese pedido, en un form y se agragan los
articulos creados para generar la compra con su precio de compra defino el
de venta ya sea por porcentaje o manual. Luego de tener el pedido lo imprimo
o lo exporta a excel, luego es numero de pedido de compra paso a un form que
cree de confirmacion de pedido alli seleciono el pedido y luego
pedido_detalle, genero con un boton pasando todos los datos de registros de
compras_detalles a mi tabla de inventario. y la columna cantidad la grabo en
existencia.
Es decir en mi inventario un articulo aparece tantas veces se compre. con
consultas veo el inventario disponible. OK hasta todo me funciona.
el problema que tengo es que no se como jalarle a las salidas-ventas.
Ventas-salidas. lo hice asi pero no me funciona muy bien.
Cree un form llamado ventas articulos, alli selleciono el cliente, por
ejemplo Publico.
luego creo unnumero de venta en ventanum.dbf y luego paso al detalle el cual
lo hice con un grid, intserto el registro y con un combo seleciono la linea
de la tabla inventario, cuando el combo valida, realizo la resta de
existecia - cantidad de la linea, asi inserto cada lineas y en el mismo
Valid genero un FOR que buca las lineas que quedaron vacias y las marca como
borradas asi cuando se acaba la disponibilidad de la linea de inventario ya
no aparece en el combo de selecion de codigo.
Luego guardo, y calculo el total del grid que contiene el detalle de la
venta con su precio el total venta.En el mismo form le cree un container que
contiene los campos de pagos alli ingreso totalapagar, pago, vuelto. creo
nuna factura con el numero de la venanum, y llamo factura.frx selecionado
esa vanta.
trabajo com BufferModeOverri =5
Inserto registro con:
INSERT INTO ventas(campo1,capo2,Cfecha VALUES("00001",date())
Gurdo con: =tableupdate(.t.,.t.,"ventas")
Lo que pasa es que el grid se vuelve muy inestable, muchas veces me muestra
los registros detalles de forma correcta y aveces me muestra nada. no se si
espor quie lo tengo cargado con cursores que calculan el total cada ves que
se inserta una linea o que calcula el total de la linea cuado valida la
cantidad o el precio.
No se pero actualmente estoy en ese modulo y tengo dolores de cabeza, avece
quiciera arrancar ese mosulo de ventas desde cero haber en que estoy mal.
*****************************************************
Les agradesco mucho su ayuda a todos lo que han posteado comentario, acepto
toda clase de sugerencia, pero como les dije no me quiero enrredar mas ni
enrredar al cliente con contabilidad al detalle como perioriodo, cuentas
etc... es solo esto que tengo aqui.
Gracias a todos.
Andys Bohorquez
Cartagena-Colombia
"trento" <tren...@gmail.com> escribió en el mensaje
news:f398ec4a-3c71-4b89...@n33g2000pri.googlegroups.com...
Gracias.
"josepe" <userzil...@navegante.com.sv> escribió en el mensaje
news:%23NrOf6u...@TK2MSFTNGP06.phx.gbl...
"josepe" <userzil...@navegante.com.sv> escribió en el mensaje
news:%23Y$mnJ7KJ...@TK2MSFTNGP02.phx.gbl...
nlinea linea
--------------------------
111 ANALGESICOS
112 ANTIBIOTICOS
114 ANTIHELMINTICOS
115 ANTIESPASMODICOS
118 ANTIALERGICOS
etc
Luego, en el catalogo de productos hay un campo donde le ubicas el nlinea.
En un programa llamado SAE, que no es hecho en VFP, hay una forma muy
interesante de como llevan las lineas. Y es que ademas de la forma
tabular como el ejemplo de arriba, se vale meter lineas no catalogadas
en forma de comodines, por ejemplo puedes poner como linea un numero asi:
AB1
BF4
BB5 etc
en donde el primer caracter puede significar para la empresa un
criterio, digamos el color; el segundo caracter puede significar digamos
la letra B la presentacion en lata y F en bolsa. Y así lo demas. Luego
cuando vas a ejecutar un reporte de inventarios podés filtrar por comodines:
?B? aqui pides todos los productos que sean en lata
A?? aqui pides todos los productos de color blanco, no importa si son
en bolsa o lata.
Bueno te explico mas ao menos como manejo estos de la lineas haber si podeis
ayudarme.
Yo manejo:
*********************
COMPRAS.DBF
Codigo ="00000001"
Descripcion = "Pedido de compras 1"
Fecha ="10/15/2008
*********************
Luego Otra tabla detalle llamada:
*********************
DETALLES_COMPRAS.DBF
Codigo Codcomp Linea Ariculo Descripcio
Cantidad Precio compra %Ganacia" PrecioVenta TotalComp
EstadoInentario
"0000000001" "00000001" "001" "GAS350" "GASEOSA 35 ML" "1"
"$36000" "10%" ""46800" "46800" "Confirmada"
"0000000002" "00000001" "002" "GAS350" "GASEOSA 35 ML" "1"
"$36000" "10%" ""46800" "46800" "Confirmada"
"0000000003" "00000002" "001" "GAS350" "GASEOSA 35 ML" "1"
"$36000" "10%" ""46800" "46800" "Confirmada"
"0000000004" "00000002" "002" "GAS350" "GASEOSA 35 ML" "1"
"$36000" "10%" ""46800" "46800" "Confirmada"
"0000000005" "00000002" "003" "GAS350" "GASEOSA 35 ML" "1"
"$36000" "10%" ""46800" "46800" "Confirmada"
**********************
Luego estas mismas lineas detalles las paso a la tabla inventario:
**********************
INVENTARIO.DBF
Codigo Codcomp Linea Articulo Descripcio
Cantidad Existencia Precio Venta Estado Inentario
"0000000001" "00000001" "001" "GAS350" "GASEOSA 35 ML" "1"
"0" "$46800" "Confirmada"
"0000000002" "00000001" "002" "GAS350" "GASEOSA 35 ML" "1"
"0" "$46800" "Confirmada"
"0000000003" "00000002" "001" "GAS350" "GASEOSA 35 ML" "1"
"1" "$46800" "Confirmada"
"0000000004" "00000002" "002" "GAS350" "GASEOSA 35 ML" "1"
"1" "$46800" "Confirmada"
"0000000005" "00000002" "003" "GAS350" "GASEOSA 35 ML" "1"
"1" "$46800" "Confirmada"
**********************
Bueno hasta aqui tengo mi inventario como te decia por linea, cada liena se
repita tantas veces se compre con su datos principales y otros mas como
categoria, fecha vencimiento, lote etc...
El caso es que tengo mi invatrio pero lo que no he podido cuadrar hacer un
form de salida sencillo para descontar cada linea que se cree en ventas de
la tabla inventario:
*********************
VENTAS.DBF
Codigo Codcomp Linea Venta Articulo
Descripcio Cantidad Precio Venta Total venta
"0000000001" "00000001" "001" "GAS350" "GASEOSA 35
ML" "1" "$46800" "$46800"
"0000000001" "00000001" "002" "GAS350" "GASEOSA 35
ML" "1" "$46800" "$46800"
*********************
Si ves esta venta descuenta las cantidad de la columna existencia de
inventario, lo hago en el evento VALID de un combo de selecion del codigo
del articulo de cada linea, pero no me funciona muy bien esto. con un Grid
Una ves esta lineas quedan con existencia 0 le doy un For delete a la tabla
y para cuando el usuario valla a selecionar el codigo articulo de una nueva
linea no aparescan las que tienen escistencia 0.
Osea que despues de esta venta el inventario me quedaria con tres lines del
"GAS350" osea 3 UN.ç
No se si me explico.
La pregunta es:
¿ Hay una mejor forma de optimizar y realizar un Form de venta?
¿Cual es la mejor forma de realizar la resta de existencia?
Necesitos ideas para cuadrar toda esta locura.
Gracias a todos.
"josepe" <userzil...@navegante.com.sv> escribió en el mensaje
news:uPpBNo7L...@TK2MSFTNGP04.phx.gbl...