Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

FORMULARIO VENTAS - SALIDAS

11 views
Skip to first unread message

Andys Bohorquez

unread,
Oct 9, 2008, 10:35:33 PM10/9/08
to
Amigos,
Gusto en saludarlos, estaba un poco perdido pero una vez mas necesito un
poco de ayuda.
Tengo un nuevo proyecto donde tengo creado una base datos con Articulos,
Compras, Inventarios, Y Ventas o salidas.
El caso es que hasta ahora he logrado diseñar todos los form o modulos menos
el de ventas.
Pues tengo problemas para descontar el inventario disponible que actualizo
con los pedidos de compra.

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


trento

unread,
Oct 10, 2008, 12:03:17 AM10/10/08
to
Qué tal, Andys.

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.


cesarz

unread,
Oct 10, 2008, 9:15:57 AM10/10/08
to
Hola
Tenemos un sistema de inventario que controla el saldo de la siguiente
manera

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

unread,
Oct 10, 2008, 11:17:13 AM10/10/08
to
En tu form debe haber un boton de grabar el detalle del pedido. Es alli
donde deber implementar el codigo necesario para actualizar el inventario.
* Mueve el puntero al inicio de la tabla o cursor que contiene el detalle.
* Recorre este cursor y con el codigo lees la tabla de articulos y le restas
la cantidad del detalle.
Y asi te vas de uno en uno.
Espero te sirva...
Saludos

MP


"cesarz" <ztc_ceroc...@hotmail.com> escribió en el mensaje
news:Oh0hCotK...@TK2MSFTNGP05.phx.gbl...

josepe

unread,
Oct 10, 2008, 11:40:50 AM10/10/08
to
Si lo quieres hacer flexible podrias dejar el posteo a inventarios en un
estatus de pendiente si no hay existencia, pero la facturacion no debe
detenerse o te estaran molestando a cada rato. Este posteo posterior
debe ir como rutina separada, que la corra el usuario despues y que
costee segun el orden de fechas.
Muchos programas se cierran a facturar sin existencias para evadir el
problema de los costos. Luego hay otros factores de por medio. Hay
lugares en los que te piden poder facturar simultaneamente eb varias
terminales y el correlativo agarrarlo solo cuando se decide imprimir,
así como las comandas de los restaurantes. O como en los supermercados,
que puedas dejar pendiente o abierta una factura mientras haces la
siguiente.
En principio he visto que muchos programas cuando facturan, agregan un
movimiento a la tabla de Mov-inventarios. Y de alguna manera descuentan
del saldo en catalogo-inventario. Asi mismo, al facturar se suma un
movimiento a la tabla de CXC, y lo mismo, se suma al saldo de
catalogo-clientes.

Andys Bohorquez

unread,
Oct 10, 2008, 11:41:53 PM10/10/08
to
Bueno el proyecto es muy sencillo, es para una bodega de articulos y el
cliente no tien ni idea de contabilidad y no quiero meterle tanto paramtros
comunes que tren los programas contables de inventarios, entrdas y salidas.
Lo que necesito es hacer unica y exclusiva lo que se hace en una tienda
local pequeño, Entradas,inventarios, salidas y una ves tieniendo esa
informacion generar reportes consulta a excel de cada de antrada inventario
y salidas.
****************************************************
Mi plataforma que tengo hasta ahora hecha en VF6.0
Tengo Mi Proyecto asi:
C:\OnlineSoft\
onlinesoft.exe
C:\OnlineSoft\Programa\
\Bases de datos\
\Icons
\informes
\formularios
Este es mi directoriode trabajo,
Mi bade de datos:
Baseonline.DBC

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...

Andys Bohorquez

unread,
Oct 11, 2008, 12:07:33 AM10/11/08
to
Lo que quiero es algo que me funcione y sea mas estable que lo que realizado
hasta ahora.
en el hilo arriba coloque mas detalle de lo que quiero y he realizado
les agradesco que si tienen mas sugercias para mejorar este proyecto se los
agradesco.

Gracias.

"josepe" <userzil...@navegante.com.sv> escribió en el mensaje
news:%23NrOf6u...@TK2MSFTNGP06.phx.gbl...

josepe

unread,
Oct 11, 2008, 11:02:13 AM10/11/08
to
Lo que logro entender es que llevas las Compras como registro de
transacciones al inventario.
Lo convencional es que tengan un catalogo de productos con primary key
en el codigo, para que no se repita. Luego la tabla de movimientos al
inventario, en donde metes tanto compras como ventas. El saldo se maneja
en el catalogo.
Y tu caso es sencillo porque no lleva multialmacen. En caso de haberlo,
solo se crea una tabla adicional.

Andys Bohorquez

unread,
Oct 11, 2008, 11:55:38 AM10/11/08
to
Si manejo como transaciones. y el tabla inventario se llena con cada linea
de transacion.
Si, manejo una tabala o catalogo llamada articulos alli defino los articulos
como codigo unico.
lo que me gusta el sistema de transaciones por lineas es se levva un mejor
control de cada linea de pedido, asi llevas un historial de cada una desde
que se compra hasta que sale. y ayuda mucho cuando se va amnejar articulos
perecedros por asi los primeros en entrar serian los primeros en salir.
Pero No se... si me das un poco mas de informacion... te lo agradesco.

"josepe" <userzil...@navegante.com.sv> escribió en el mensaje

news:%23Y$mnJ7KJ...@TK2MSFTNGP02.phx.gbl...

josepe

unread,
Oct 16, 2008, 2:07:20 PM10/16/08
to
Eso de lineas cómo lo manejas ¿?
Por acá las lineas van en una tabla separada donde van unos pocos
registros. ejemplo:

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.

Andys Bohorquez

unread,
Oct 16, 2008, 9:26:15 PM10/16/08
to
Hola,
Muy interesante eso que me comentas pero no sabria como palicarlo en mi
proyecto...

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...

0 new messages