Impresión Personalizada
Hola buenas tardes, yo genero un reporte para poder imprimirlo en papel continuo el modulo de impresión esta cerrado en un prg. Simplemente al pulsar el botón aceptar me carga el PRG y hago la impresión, mi impresión son más o menos 10 hojas. La pregunta es como puedo imprimir por ejm solamente la hoja 4 o las hojas 5 y 6 ya que si por algún motivo se malogra una de las hojas no voy a volver a imprimir todo de nuevo. Este es el prg que hace la impresión, tengo una variable PAG que almacena los numero de páginas pero el numero de PAG no lo imprimo ya que el papel continiuo esta legalizado.
set console off
set century off
set device to printer
set printer to name solotexto
linea=1
SELECT 1
USE h:\librosvarios\data\resumen SHARED
store 0 to d,h
scan all
if linea=1
=Cabecera()
ENDIF
=imprimeLinea()
ENDSCAN
if linea#60
do totales
endif
CLOSE DATABASES
set printer to defa
*******************
PROCEDURE cabecera
*******************
pag=pag+1
??? SPACE(120)+CHR(18)+Chr(14)+TITULO'+Chr(15)+Chr(27)+chr(13)+chr(10)
??? ' '+chr(13)+chr(10)
.........
.........
return
***********************
procedure imprimeLinea
***********************
linea=linea+1
if linea > 60
*??? ' '+chr(13)+chr(10)
??? Space(14)+replicate('-',248)+chr(13)+chr(10)
??? SPACE(196)+"VAN ......."+SPACE(24)+TRANSFORM(sum_debe,'#,###,###.##')+SPACE(6)+TRANSFORM(sum_haber,'#,###,###.##')
eject
linea=1
=Cabecera1()
endif
IF ltivo#cod_doc
=doc()
ENDIF
??? SPACE(20)+padr(n_asiento,3)+SPACE(5)+fec_ope+space(3)+PADR(nom_glosa,90)+SPACE(9)+padr(cod_libro,2)+space(10)+padr(n_corr,6)+;
space(6)+padr(doc_sust,15)+space(1)+padr(cod_cta,10)+space(1)+padr(denom,37)+; &&+padr(tipo_doc,20)
SPACE(5)+transform(debe,'#,###,###.##')+SPACE(6)+transform(haber,'#,###,###.##')+chr(13)+chr(10)
sum_debe=sum_debe+debe
sum_haber=sum_haber+haber
return
******************
Procedure totales
******************
??? Space(204)+' SALDO ANTERIOR'+space(7)+transform(saldo_ant_debe,'###,###,###.##')++SPACE(4)+transform(saldo_ant_haber,'###,###,###.##')+chr(13)+chr(10)
??? Space(204)+' TOTAL GENERAL'+space(7)+transform(nGSLdAntDebe,'###,###,###.##')++SPACE(4)+transform(nGSLdAntHaber,'###,###,###.##')+chr(13)+chr(10)
??? Space(14)+replicate('=',248)+chr(13)+chr(10)
...
...
Return
set console off
set century off
set device to printer
set printer to name solotexto
linea=1
SELECT 1
USE h:\librosvarios\data\resumen SHARED
store 0 to d,h
scan all
if linea=1
=Cabecera()
ENDIF
=imprimeLinea()
ENDSCAN
if linea#60
do totales
endif
CLOSE DATABASES
set printer to defa
*******************
PROCEDURE cabecera
*******************
pag=pag+1
??? SPACE(120)+CHR(18)+Chr(14)+TITULO'+Chr(15)+Chr(27)+chr(13)+chr(10)
??? ' '+chr(13)+chr(10)
.........
.........
return
***********************
procedure imprimeLinea
***********************
linea=linea+1
if linea > 60
*??? ' '+chr(13)+chr(10)
??? Space(14)+replicate('-',248)+chr(13)+chr(10)
??? SPACE(196)+"VAN ......."+SPACE(24)+TRANSFORM(sum_debe,'#,###,###.##')+SPACE(6)+TRANSFORM(sum_haber,'#,###,###.##')
eject
linea=1
=Cabecera1()
endif
IF ltivo#cod_doc
=doc()
ENDIF
??? SPACE(20)+padr(n_asiento,3)+SPACE(5)+fec_ope+space(3)+PADR(nom_glosa,90)+SPACE(9)+padr(cod_libro,2)+space(10)+padr(n_corr,6)+;
space(6)+padr(doc_sust,15)+space(1)+padr(cod_cta,10)+space(1)+padr(denom,37)+; &&+padr(tipo_doc,20)
SPACE(5)+transform(debe,'#,###,###.##')+SPACE(6)+transform(haber,'#,###,###.##')+chr(13)+chr(10)
sum_debe=sum_debe+debe
sum_haber=sum_haber+haber
return
******************
Procedure totales
******************
??? Space(204)+' SALDO ANTERIOR'+space(7)+transform(saldo_ant_debe,'###,###,###.##')++SPACE(4)+transform(saldo_ant_haber,'###,###,###.##')+chr(13)+chr(10)
??? Space(204)+' TOTAL GENERAL'+space(7)+transform(nGSLdAntDebe,'###,###,###.##')++SPACE(4)+transform(nGSLdAntHaber,'###,###,###.##')+chr(13)+chr(10)
??? Space(14)+replicate('=',248)+chr(13)+chr(10)
...
...
Return
1 Respuesta
Respuesta de Cesar Enrique Yamunaque Baca
1