FoxPro/Visual FoxPro - sistema en red e impresion de tickets

 
Vista:

sistema en red e impresion de tickets

Publicado por edgar dvd (1 intervención) el 09/10/2006 20:23:51
hola que tal amigos

bueno miren tengo un sistemita que hice para reparaciones de taller....

la primer cuestion es...hice el modulo de punto de vetna...ahora lo que necesto es impirmi los tickets...tengo una printer serial...pero no se como hacerlo....pineso que creando el reporte asi en modo normal pero no se como mandarlo ala de tickets... o de que forma se hace....a y si creo el reporte del ticket con el reporteador de fox como le hago para que agarre el tamano del papel del ticket porfa ayudenme....

la otra es que lo quiero hacer para red pero tengo dudas....segun yo pues en el prog de inicio la dbc se hace shared vdd....las tablas se habren igual shared... y pues hay que hacer referencia a una unidad de red es decir... use f:\datos\user.dbf shared ...algo asi a y poner un set exclusive off...pero segun yo tengo entendido que que hay que tener en cuenta que loos user no graben al mismo tiempo o algo asi..porfa si me pueden orifentar en eso...y con que comandos lo hago....

jaja y si no es mucha molestia tmb tengo otra duda...mientras el sistema esta ejecutandose yo quiero edtar los reportes...cuando pongo un reporte, pongo un boton para editarlo con un modi report y la ruta...pero no puedo agregarle niun campo y ni un label ...incluso si le modifico algo ...como a los label que ya estan..segun si me los graba pero no.....cuando vuelvo a correr el reporte esta igual....pero me di cuenta luego que necesito regenerar el exe para que agarre ese cambios que le hice en el mismo sistema......pero yo he visto sistemas en fox en los cuales cuando editan el reporte abren todo el reporteador de fox y si guardan los cambios...alguien sabe como hacerlo?????

ajala me puedan ayudar colegas...se los voy a agradecer mucho....

saludos desde mexico
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:sistema en red e impresion de tickets

Publicado por cesar Diez Canseco (35 intervenciones) el 13/10/2006 20:20:00
Hola Edgar,
Comenzemos por orden:

1) Impresion de tickets que tipo de impresora serial tienes? Necesito saber eso. Yo impreso tickets en una Epson LX300.

2) Red. Para empezar :

2.a) Para que tu aplicacion sepa donde se encuentra tu base de datos tienes que escribrir la ruta donde se encuentra la misma en una archivo de configracion llamado CONFIG.FPW. te mando mi archivo de configuracion. Mas informacion acerca del archivo de configiracion CONFIG.FPW lo encuentra en la ayuda del Fox.

ARCHIVO CONFIG.FPW.
DEFAULT=\\Servidor\DataAsep => Indicas donde se encuentra la Base de Datos.
TMPFILES=c:\windows\temp
EDITWORK=c:\windows\temp
SORTWORK=c:\windows\temp
PROGWORK=c:\windows\temp
Lo copias y lo pegas en el Notepad y guardas con el nombre de CONFIG.FPW. en la carpeta donde se encuentra el ejecutable de la aplicacion.

2.b) Te mando el codigo de mi programa principal para que veas donde abro la Base de Datos.
SET talk off
SET echo off
SET delete on
SET century on
SET safety off
SET proce to procs
SET scoreboard off
SET status bar off
SET exclusive off
SET decimals to 2
SET date to british
PUBLIC acceso
Clear
acceso=.f.
ON error do errores with error(),message(),message(1),;
program(),lineno()

ON SHUTDOWN DO salida.prg

WITH _Screen
*!* .LockScreen=.T. && Desactiva el redibujado de pantalla
*!* .Movable=.T.
.Icon=SYS(5)+SYS(2003)+"\LOGO.ICO"
.picture=SYS(5)+SYS(2003)+"\fondo_logo.gif"
.caption="FLORERIA LOS HERRAJES" && Establecer un título
.windowstate=2
*!* .LockScreen=.F. && Activa el redibujado de pantalla
ENDWITH

OPEN data losherrajes shared => Abre una sola vez la Base de Datos

DO form pedidospendientes.scx

DO main.mpr
READ events

2.b Para anadir registros y actualizar registros en un ambiente multiusuario utilizas :
2.b.1. Anadir registros :
INSERT INTO nombre de la tabla (campo1,campo2,campo3);
VALUES(variable1,variable2,variable3)
ejemplo :
INSERT INTO produ_cargas(proceso,item,fecha_ing,hora_ing,orden,contenedor,paquetes,prelitros);
VALUES (detalle_cargas.proceso,detalle_cargas.item,DATE(),TIME(),detalle_cargas.orden,;
iif(thisform.item=1,ThisForm.txtcontenedor.value," "),iif(thisform.item=1,ThisForm.txtPaquetes.value,0),;
thisform.precioxlitro)

2.b.2 . Actualizar registros.
UPDATE nombre de la tabla SET campo1=wcampo1, campo2=wcampo2, campo3=wcampo3;
WHERE condicion1=wcondicion1
ejemplo :
UPDATE produ_cargas SET contenedor=aContenedor, paquetes=aPaquetes,;
prelitros=thisform.precioxlitro;
WHERE produ_cargas.proceso=detalle_cargas.proceso AND produ_cargas.item=detalle_cargas.item

Espero haberte aclarado el panorama con este humilde aporte.

Saludos,
Cesar Diez Canseco.
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