ayuda porfa no imprime
Publicado por jorge tinta (1 intervención) el 13/11/2006 15:24:24
la base de datos supuestamente deberia de:
- buscar un orden de trabajo (otp)
- encontrarlo si existe este y luego mandar a imprimirlo
- lo unico que hace es me manda el encabezado pero no el contenido del item de la base da datos a buscar
- la estructura de la base de datos es la siguiente
transac2.dbf
tv caracter
vale caracter
fecha caracter
ci caracter
des caracter
can numerico
mon numerico
cta caracter
opt caracter &&el problema
tem.dbf
otp caracter
el programa
PROCEDURE ordeni
sele b
use transac2 index orden
clear
PAG=1
cantot=0
montot=0
FECH1=CTOD(" / / ")
FECH2=CTOD(" / / ")
do while .t.
orden=space(6)
@ 22, 2 say "ORDEN : " GET orden pict "!!!!!!"
read
if asc(orden)=32
exit
endif
sele b
seek orden+"S"
if .not. found()
? chr(7)
else
sele d
seek orden
if .not. found()
if flock()
append blank
replace otn with orden
unlock
endif
endif
endif
enddo
@ 22,25 SAY "FECHA : " GET FECH1
@ 22,45 SAY "FECHA : " GET FECH2
READ
@ 22, 2 to 22,78 clear
if fech1=ctod(" / / ") .and. fech2=ctod(" / / ")
return
endif
wait "Tenga lista su impresora [Enter]"
set device to print
?chr(15)
sele d
go top
orden="999999"
@ prow(),5 say "FECHA : "
@ prow(),13 say date()
@ prow(),90 say "PAG. : "
@ prow(),98 say pag pict "99"
@ prow()+4,33 say "ALMACEN DE REPUESTOS Y ACCESORIOS"
@ prow()+1,33 say " CONSUMO POR ORDEN DE TRABAJO"
do while .not. eof()
sele b
use transac2
LOCATE FOR FECHA>=FECH1 .AND. FECHA<=FECH2 .and. otp=d->otn .and. tv="S"
DO WHILE FOUND()
if prow()>52
pag=pag+1
eject
@ prow(),5 say "FECHA : "
@ prow(),13 say date()
@ prow(),90 say "PAG. : "
@ prow(),98 say pag pict "99"
@ prow()+4,33 say "ALMACEN DE REPUESTOS Y ACCESORIOS"
@ prow()+1,33 say " CONSUMO POR ORDEN DE TRABAJO"
endif
if d->otn<>orden
@ prow()+3,5 say "ORDEN : "+d->otn
@ prow()+2,5 SAY "T/V"
@ prow(),10 SAY "VALE"
@ prow(),18 SAY "FECHA"
@ prow(),28 SAY "CODIGO"
@ prow(),36 say "DESCRIPCION"
@ prow(),68 SAY "CANTIDAD"
@ prow(),83 SAY "MONTO"
@ prow(),90 SAY "CUENTA"
@ prow()+1,5 say replicate("-",91)
orden=d->otn
montot=0
endif
@ prow()+1,5 SAY tv
@ prow(),10 SAY vale
@ prow(),18 SAY fecha
@ prow(),28 SAY ci
@ prow(),36 say substr(des,1,30)
@ prow(),67 SAY can pict "999,999.99"
@ prow(),78 SAY mon pict "999,999.99"
@ prow(),90 SAY cta
montot=montot+mon
continue
ENDDO
@ prow()+1,5 say replicate("-",91)
@ prow()+1,78 SAY montot pict "999,999.99"
sele d
skip
enddo
set device to screen
? chr(7)
wait "Termino"
sele d
*set excl on
use tem
dele all
pack
*set exclu off
me gustaria que me ayuden es este proyecto dando me la solucion dentro del programa
de ante mano ya muchas gracias
- buscar un orden de trabajo (otp)
- encontrarlo si existe este y luego mandar a imprimirlo
- lo unico que hace es me manda el encabezado pero no el contenido del item de la base da datos a buscar
- la estructura de la base de datos es la siguiente
transac2.dbf
tv caracter
vale caracter
fecha caracter
ci caracter
des caracter
can numerico
mon numerico
cta caracter
opt caracter &&el problema
tem.dbf
otp caracter
el programa
PROCEDURE ordeni
sele b
use transac2 index orden
clear
PAG=1
cantot=0
montot=0
FECH1=CTOD(" / / ")
FECH2=CTOD(" / / ")
do while .t.
orden=space(6)
@ 22, 2 say "ORDEN : " GET orden pict "!!!!!!"
read
if asc(orden)=32
exit
endif
sele b
seek orden+"S"
if .not. found()
? chr(7)
else
sele d
seek orden
if .not. found()
if flock()
append blank
replace otn with orden
unlock
endif
endif
endif
enddo
@ 22,25 SAY "FECHA : " GET FECH1
@ 22,45 SAY "FECHA : " GET FECH2
READ
@ 22, 2 to 22,78 clear
if fech1=ctod(" / / ") .and. fech2=ctod(" / / ")
return
endif
wait "Tenga lista su impresora [Enter]"
set device to print
?chr(15)
sele d
go top
orden="999999"
@ prow(),5 say "FECHA : "
@ prow(),13 say date()
@ prow(),90 say "PAG. : "
@ prow(),98 say pag pict "99"
@ prow()+4,33 say "ALMACEN DE REPUESTOS Y ACCESORIOS"
@ prow()+1,33 say " CONSUMO POR ORDEN DE TRABAJO"
do while .not. eof()
sele b
use transac2
LOCATE FOR FECHA>=FECH1 .AND. FECHA<=FECH2 .and. otp=d->otn .and. tv="S"
DO WHILE FOUND()
if prow()>52
pag=pag+1
eject
@ prow(),5 say "FECHA : "
@ prow(),13 say date()
@ prow(),90 say "PAG. : "
@ prow(),98 say pag pict "99"
@ prow()+4,33 say "ALMACEN DE REPUESTOS Y ACCESORIOS"
@ prow()+1,33 say " CONSUMO POR ORDEN DE TRABAJO"
endif
if d->otn<>orden
@ prow()+3,5 say "ORDEN : "+d->otn
@ prow()+2,5 SAY "T/V"
@ prow(),10 SAY "VALE"
@ prow(),18 SAY "FECHA"
@ prow(),28 SAY "CODIGO"
@ prow(),36 say "DESCRIPCION"
@ prow(),68 SAY "CANTIDAD"
@ prow(),83 SAY "MONTO"
@ prow(),90 SAY "CUENTA"
@ prow()+1,5 say replicate("-",91)
orden=d->otn
montot=0
endif
@ prow()+1,5 SAY tv
@ prow(),10 SAY vale
@ prow(),18 SAY fecha
@ prow(),28 SAY ci
@ prow(),36 say substr(des,1,30)
@ prow(),67 SAY can pict "999,999.99"
@ prow(),78 SAY mon pict "999,999.99"
@ prow(),90 SAY cta
montot=montot+mon
continue
ENDDO
@ prow()+1,5 say replicate("-",91)
@ prow()+1,78 SAY montot pict "999,999.99"
sele d
skip
enddo
set device to screen
? chr(7)
wait "Termino"
sele d
*set excl on
use tem
dele all
pack
*set exclu off
me gustaria que me ayuden es este proyecto dando me la solucion dentro del programa
de ante mano ya muchas gracias
Valora esta pregunta


0