FoxPro/Visual FoxPro - Punto de Venta

 
Vista:

Punto de Venta

Publicado por Fernando (6 intervenciones) el 03/12/2009 19:03:30
Hola amigos del foro un saludo a todos.
Amigos tengo una preguntas y me gustaria saber como hacerlo

1- Como tengo punto de venta en mi sistema es un formulario nada mas adecuado como un punto de venta ahora para que pueda trabajar en red por ejemplo sis quiero 3 cajas y pueda trabajar en red como hago para compartir todo sis que me cree problemas y puedan cobrar simultaneamente no se si me explico

2- Ahora si tiene 3 cajas como hago para guardar los datos todos en la misma tabla de ventas o tengo que crear tablas para caja1, caja2, caja3 Esta parte es la que no manejo muy bien porque es la primera ves que voy a hacerlo. Por favor si me pudieran dar algunos concejos me vendria muy bien.....

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Punto de Venta

Publicado por alberto (404 intervenciones) el 04/12/2009 02:13:47
mira amigo yo te sujiero que trabajes con cursores temporales , yo lo tengo asi y puedes trabajar con varios puestos de trabajo a la vez en red, lo unico que al momento de grabar solo grabas donde estan tus bases , los temporales se crean en cada equipo y puedes facturar a la vez desde cualquier terminal.
ve en la ajuda el comando create cursor

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Punto de Venta

Publicado por Loly (6 intervenciones) el 04/12/2009 03:24:37
Hola.. yo lo tengo asi...
al iniciar un el sistema declare una variable public llamada CHANGO... esta la uso en todas partes... tanto en el acceso como en reportes, y ademas en formularios de tpv... asi mas o menos.-..

INIT DEL FORM DE VENTAS...
CREATE CURSOR &chango(cant n(5),articulo c(80),;
precio n(15,2), totaL n(15,2), codigo c(15),tipo c(7),;
vlinea n(2), fecha d(8), folio n(10), estado l(1), vCajero c(30))

&Tambien le puedes poner indice... asi
SELECT &Chango
INDEX ON articulo TAG tmpartic

aqui chango = nombre del operador de la terminal ejemplo "JUAN"... en otra terminal va a ser JUANA, PETRA, LUPE, MAGUE, LOLY, etc. etc...

despues al totalizar...
****REBAJA EL INVENTARIO....
WAIT WINDOW noWait NoClear 'Espere... Afectando inventario...'
SELECT &Chango.
GO top
DO WHILE !EOF()
nCodigo=ALLTRIM(Codigo)
SELECT articulos
SET ORDER TO CODEBAR && CODEBAR
IF SEEK(ALLTRIM(nCodigo))
replace salidas WITH salidas+nCant
ENDIF
SELECT &Chango.
SKIP
Enddo
Wait Clear
Return

**** LO BAJA A LA TABLA DE VENTAS...
SELECT ventas
SET ORDER TO folio
APPEND FROM DBF("&Chango.")

Espero te sirva amigo....
Yo ahorita ando consiguiendo la forma de conectar mis dbc a Mysql... si alguien me puede aconsejar algunos links.. para conectar estas tablas se los agradecere bastante...

Saludos
Bye....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Punto de Venta

Publicado por DALSOM (612 intervenciones) el 04/12/2009 05:18:11
ESO DEPENDE, EN SI USAS UNA BASE DE DATOS RELACIONAL, O TABLAS LIBRES.

EN EL PRIMER CASO, NO TIENES QUE PREOCUPARTE POR NADA, SOLO DE GRABAR, YA QUE DE LA CONCURRENCIA SE ENCARGA EL MOTOR DE LA BASE DE DATOS QUE USES.

EN EL SEGUNDO CASO, DEBES DE BLOQUEAR/DESBLOQUEAR EL REGISTRO DE SECUENCIAS, Y USAR TRANSACCIONES, PARA QUE NO HAYAN REPETICIONES.

TE RECOMIENDO QUE EN TODO CASO, USES TRANSACCIONES.

SALUDOS,
DALSOM.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:Punto de Venta

Publicado por Guillermo Arias (294 intervenciones) el 06/12/2009 16:51:14
Te recomiendo que uses las tablas en modo de Buffer 3, ejm:

USE &pNombre_tabla ALIAS &pAlias IN 0
CURSORSETPROP("Buffering",3,pAlias)
SELECT &pAlias

Con esto lograrás que todos se conecten a la misma tabla y no haya problemas por quien llegó primero a grabar, porque eso lo maneja la tabla.

Y otra cosa, te sugiero usar una base de datos relacional como por ejemplo PostgreSQL, es gratis y es muy fuerte.

Saludos desde Lima
Guillermo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar