Ayuda Ventana Ventas VFP!

Hola como estas? Estoy sin poder resolver un problema en un formulario de un proyecto que cree (como dice el titulo es el formulario de ventas).. Quería saber si puedo enviarte el proyecto para que me ayudes a obtener una solución, el proyecto es muy simple, pero soy muy inexperto en el uso de VFP, que no he podido solucionar el problema... Desde ya gracias y saludos

1 respuesta

Respuesta
1

Te mentiria si te digo que te voy a ayudar debido a mi falta de tiempo, ya he quedado mal en otras ocasiones y prefiero no volver a hacerlo, asi que te puedo ayudar con mucho gusto con dudas especificas, y mas aun siendo tema ventas que aunque parezca sencillo es bastante complejo, dime tu duda y ahi vas resolviendo de a poco

Bien te explico tengo una formulario llamado venta el cual no puedo lograr que hago lo que yo deseo te muestro una imagen del mismo.... (ese es el link de la imagen).

[IMG]http://s2.subirimagenes.com/privadas/previo/thump_1888093venta.jpg]http://www.subirimagenes.com/privadas-venta-1888093.html][IMG]http://s2.subirimagenes.com/privadas/previo/thump_1888093venta.jpg

Bien en la parte superior tengo textbox y un botón buscar que funciona en la búsqueda luego muestro la fecha y tengo un código que genera la venta... el grid muestra los datos del cliente, apellido, nombre, domicilio, teléfono; al lado del grind hay un botón aceptar que deseo agregue el cliente a la venta y una cancelar....

Un poco mas abajo hay un combo donde se selecciona, el producto y la cantidad, se agregan al grid un poco mas abajo donde se muestran los datos requeridos que se toman de la tabla (temporal), y luego un botón finalizar.....

He podido realizar el funcionamiento de el botón buscar el código del mismo es el siguiente:

* Filtrando la tabla
SET FILTER TO apellido == ThisForm.text1.Value IN cliente
ThisForm.Grid1.Refresh()
* Utilizando una consulta SQL
SELECT apellido, nombre, teléfono, dirección FROM cliente ;
WHERE apellido == ThisForm.text1.Value ;
INTO CURSOR _ResultBusqueda
ThisForm.Grid1.RecordSource = "_ResultBusqueda"

muestra los datos en el grid pero la dirección la muestra intercambiada con el teléfono..

se muestra la fecha con el siguiente código, este se encuentra en el init de form

* Muestra fecha actual
SET DATE DMY
thisform.text2.value=date()
*SET CENTURY on
*STORE DATE()TO m.fecha

Luego para generar el Nº de venta utilizo el siguiente código, también en el init de form

* GENERA LA NUEVA VENTA
SELECT venta
APPEND BLANK
thisform.text3.Value =venta.id_venta

El resto de código no lo realice aun debido a un error que a sido repetitivo y me ha vuelto loco ja :P ; que es Alias 'venta' is not found y par código que modifique sigue igual....

ademas te paso una imagen de las tablas usadas en dbf..... saludos y espero puedas ayudarme.

[IMG]http://s3.subirimagenes.com:81/privadas/previo/thump_1888108dbf.jpg]http://www.subirimagenes.com/privadas-dbf-1888108.html][IMG]http://s3.subirimagenes.com:81/privadas/previo/thump_1888108dbf.jpg

Vamos por partes, primero para mostrar los datos del grid me parece bien el que uses una consulta sql por lo tanto el set filter omitelo, ahora si te muestra equivocadamente los datos del cliente es porque el grid ha de estar atado o enlazado a una tabla, eso lo ves en la propiedad recordsource y debe estar en blanco, ahora antes de hacer la consulta sql ubica un :

thisform.grid1.recordsource=""

luego haces el select y después esta bien que ubiques :

thisform.grid1.recordsource = "_ResultBusqueda"

Thisform. Grid1. Refresh

¿Veamos si ahí te resulta y luego vamos viendo los siguientes puntos te parece?

Bueno esta bien; vamos a ir probando gracias por los consejos y por tu ayuda....

Ok me comentas como te va

Bien ya lo probé y me funciona perfecto; ya no tiene error en cuanto a la dirección que tenia antes....

Como te darás cuenta el primer "truco" es que al llenar un grid desde el código con una consulta sql pues en las propiedades no debe estar enlazado a ninguna tabla sino se te alterara totalmente, ok ahora lo segundo es la generación del numero de venta, el hacer un append blank esta de mas y es innecesario, el procedimiento al menos que yo hago es el siguiente :

**Con una consulta obtengo el mayor numero de venta y lo almaceno en un cursor

select max(id_venta) as maxventa from venta into cursor cmaxventa

select cmaxventa

if reccount() = 0 or isnull(cmaxventa.maxventa)

nventa01 = 0

else

nventa01 = cmaxventa.maxventa

endif

thisform.text3.value = nventa01 + 1

Pruébalo y me comentas alguna novedad respecto a este codigo

Bien ingrese el código que me diste muestra el máximo nro de venta...... pero no he podido verificar que el mismo se incremente...... o se incrementara al agregar el producto y la cantidad cuando presiono el botón agregar????

¿Ubicaste todo el código que te indique? Porque si no te esta sumando es porque de pronto no pusiste la ultima linea el

thisform.text3.value = nventa01 + 1

En esta linea es donde se incrementa

Perdón ya me fije y si lo esta incrementado, yo no había visto correctamente.... esta perfecto yo había cometido el error....

Ok entonces hasta ahí esta todo claro y pues ya tienes la idea de como hacerlo, ahora puedes finalizar la pregunta y empezamos con una nueva pregunta por la segunda parte que es la del detalle de los items

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas