FoxPro/Visual FoxPro - Como lo puedo hacer en Red

 
Vista:

Como lo puedo hacer en Red

Publicado por Roberto (124 intervenciones) el 30/11/2005 15:21:51
Hola a todos los foxeros:

Resulta que estoy desarrollando un sistema de facturación, necesito hacer que 2 o mas usuarios puedan facturar al mismo tiempo, es decir, que cuando se este atendiendo 2 clientes al mismo tiempo, las pantallas de los diferentes usuarios tengan la posibilidad de ingresar datos diferentes (codigos de los articulos a vender). Como solucionan esto?
Como los hacen con las tablas?

Muchas 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:Como lo puedo hacer en Red

Publicado por Jose Rolando (325 intervenciones) el 02/12/2005 14:18:06
Hola
Yo he dejado un ejemplo de Control de Stock y Facturación, tengo entendido que una tabla no puede ser usada por dos o mas parsonas al mismo tiempo, es decir editando o ingresando datos, pueden ver los datos pero,no editar o modificar o ingresar al mismotiempo. Ademas cada factura o venta lleva un numero de orden tomando como referencia a la ultimam venta.
Yom considero que no pueden dos personas facturar al mismom tiempo a menos que espere que uno de ellos mtermine.
Si encuentras algo avisame, yo no tengo red y ni siquiera puedo experimentar a ver que pasa con los cambios.
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:Como lo puedo hacer en Red

Publicado por Yorch (1 intervención) el 20/12/2005 23:39:20
Puedes abrir las tablas de modo compartido y ponerlas en algún server de archivos Windows, pero te recomendaría pensar bien tu sistema y no usar Fox Pro, aunque existe
una clase llamada Cursor Adapter con la que puedes acceder transparentemente a BD de SQL Server a través de ODBC o ADO; en dado caso, que no quieras cambiar a otro lenguaje, te recomiendo usar Cursor Adapter y algún manejador de BD másprofesional.

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

RE:Como lo puedo hacer en Red

Publicado por SANTIAGO (83 intervenciones) el 26/12/2005 21:26:47
acabo de leer las 2 respuestas que te dan, estos amigos estan en la calle, no saben de programacion ni mucho menos de fox, hay dos formas para que lo hagas, ambas responden a tecnicas de programacion estandar que serian muy amplias para esta respuesta, pero te doy la idea basica para que lo hagas.

EN CUANTO A LA TABLA:

1.- usas tecnologia de Bd de visual fox, pueden abrir y editar la misma tabla varios usuarios a la vez.

ó

2.- cada vez que que generes una factura copias la estructura a una tabla temporal e ingresas y editas alli mismo, luego para grabar haces un append de la tabla de facturas al temporal generado.

EN CUANTO AL NUMERO:

1.- Cada vez que generas una factura nueva, capturas el numero siguiente y lo guardas en una tabla, si el usuario graba lo hara con ese numero, si por el contrario no llega a grabar, el numero quedara libre ó el sistema puede asumir como documento anulado, etc.

chau
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
Val: 2
Ha aumentado su posición en 4 puestos en FoxPro/Visual FoxPro (en relación al último mes)
Gráfica de FoxPro/Visual FoxPro

RE:Como lo puedo hacer en Red

Publicado por Santiago (42 intervenciones) el 26/12/2005 22:30:58
Hola, Roberto.

Lo que sugiere el tocayo es correcto. Yo hago algo parecido.

- En cuanto a las tablas, las abro SHARED (no EXCLUSIVE), para que no haya problemas con las consultas mientras se ingresan facturas.

- Por medio de formularios, capturo todos los datos relacionados con la factura, algunos en memoria, otros en tablas, pero todos temporales. No empiezo ingresando la factura en la tabla de facturas con datos ficticios (como para reservar número), porque a lo mejor quien compra se retracta.

- Tengo una tabla con los tipos de documentos empleados en el programa (facturas, recibos de caja, notas contables, certificados de retención, etc.) y, para cada uno, el último número asignado hasta el momento.

- Inmediatamente antes de ingresar la factura en la tabla de facturas (es decir, cuando hay seguridad de que todo está ok), consulto la tabla de tipos documentos que le acabo de mencionar, extraigo el último número asignado a las facturas, tomo el siguiente, e inmediatamente actualizo este último número asignado (en la misma tabla de tipos de documentos, por supuesto). Eso sí, por precaución, es decir, por si dos personas que facturan consultan al mismo tiempo (en el mismo segundo) la tabla de tipos de documentos para extraer el último número asignado (improbable, pero posible), hago un FLOCK a esta tabla antes de la consulta y de la actualización, y después de actualizada, un UNLOCK para liberarla (puede ser UNLOCK ALL).

Y eso es todo. A mí me sirve este proceso. Espero que a usted también le sirva.

Un saludo.
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:Como lo puedo hacer en Red

Publicado por Angel (19 intervenciones) el 26/12/2005 22:50:37
foxpro es multiusuario y puedes abrir un mismo archivo en 10, 20 o mas maquinas a la vez y al mismo tiempo si lo quisieras
si tienes un sistemita de facturacion y quieres facturar una venta basicamente todo es muy simple:
************************************************
set exclusive off
use facturas orde numero
use productos in 2 orde cod_prod
************************************************
de esta manera tenemos a nuestro archivo facturas donde guardaremos todas nuestras ventas a partir de la informacion de productos que es donde estaran los productos que vendes y sin importar si en algun otro lado o computadora alguien mas ya tiene el o los archivos abiertos y guardando datos en ese momento
el valor preestablecido de exclusive sera siempre on, es decir, en foxpro o visual foxpro las tablas se abren siempre en modo unico o exclusivo, restringiendo asi el acceso a la misma por parte de algun otro usuario de la red
para evitar esto solo tenemos que establecer el valor de exclusive a off
asi pues todas las tablas que queramos abrir se abriran posteriormente en modo exclusive off o vale decir modo compartido
**********
revisa y estudia un poco mas los manuales de foxpro, en verdad te seran de muchisima ayuda:
*********
set exclusive
set reprocess
flock( ), lock( )
rlock( )
unlock
use [exclusive]
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