Ayuda con report
Posted: Wed Apr 28, 2021 10:02 pm
Hola Amigos, tengo el siguiente reporte que recorre una tabla que se llama ETIQUETAS.DBF, imprime precios para las gondolas de supermercado, tiene tres columnas definindas , en cada etiqueta imprime :
arriba el nombre del producto,
en la linea siguiente el precio en un letra mas grande,
en la linea siguiente una imagen JPG con el codigo de barras (el nombre de la imagen varia para cada registro, y el nombre está en el campo CBARRA1,CBARRA2,CBARRA3)
y en la linea siguiente un texto con el codigo de barras
en todos los registros funciona perfecto, pero cuando tiene que imprimir las imagenes , es como que no varía el valor del campo de la tabla, se queda con los del primer registro, o sea, me imprime siempre las tres primeras barras, mientras que todos los otros campos , va variando linea por linea, cambia el nombre, el precio y el código de barras , segun el registro, solo no cambia el nombre del archivo .JPG que esta en el campo CBARRA1, CBARRA2, CBARRA3 de cada registro.
paso el código :
Use ETIQUETA New Exclusive
DBGOTOP( )
DEFINE REPORT Report1
* Report Layout ***********************************************
BEGIN LAYOUT
PAPERSIZE PRINTER_PAPER_A4
ORIENTATION PRINTER_ORIENT_PORTRAIT
END LAYOUT
* Header Band *************************************************
BEGIN HEADER
BANDHEIGHT 5
END HEADER
* Detail Band *************************************************
aColumnas:={ 10 ,80 ,100 }
BEGIN DETAIL
BANDHEIGHT 40
BEGIN TEXT
EXPRESSION AllTrim( SubStr( ETIQUETA->DESCRIP1 ,1 ,50 ) )
ROW 2
COL 8
WIDTH 60
HEIGHT 10
FONTNAME 'Arial'
FONTSIZE 10
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Center
END TEXT
BEGIN TEXT
EXPRESSION AllTrim( SubStr( ETIQUETA->DESCRIP2 ,1 ,50 ) )
ROW 2
COL 75
WIDTH 60
HEIGHT 10
FONTNAME 'Arial'
FONTSIZE 10
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Center
END TEXT
BEGIN TEXT
EXPRESSION AllTrim( SubStr( ETIQUETA->DESCRIP3 ,1 ,50 ) )
ROW 2
COL 140
WIDTH 60
HEIGHT 10
FONTNAME 'Arial'
FONTSIZE 10
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Center
END TEXT
BEGIN TEXT
EXPRESSION Str( ETIQUETA->PRECIO1 ,7,2 )
ROW 5
COL 8
WIDTH 100
HEIGHT 20
FONTNAME 'Arial Black'
FONTSIZE 40
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Left
END TEXT
BEGIN TEXT
EXPRESSION Str( ETIQUETA->precio2 ,7 ,2 )
ROW 5
COL 75
WIDTH 100
HEIGHT 20
FONTNAME 'Arial Black'
FONTSIZE 40
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Left
END TEXT
BEGIN TEXT
EXPRESSION Str( ETIQUETA->precio3 ,7 ,2 )
ROW 5
COL 140
WIDTH 100
HEIGHT 20
FONTNAME 'Arial Black'
FONTSIZE 40
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Left
END TEXT
BEGIN PICTURE
VALUE ETIQUETA->CBARRA1
ROW 22
COL 24
WIDTH 30
HEIGHT 7
STRETCH .T.
END PICTURE
BEGIN PICTURE
VALUE ETIQUETA->CBARRA2
ROW 22
COL 90
WIDTH 30
HEIGHT 7
STRETCH .T.
END PICTURE
BEGIN PICTURE
VALUE ETIQUETA->CBARRA3
ROW 22
COL 156
WIDTH 30
HEIGHT 7
STRETCH .T.
END PICTURE
nRowText:=29
BEGIN TEXT
EXPRESSION PADC( ETIQUETA->CODIGO1 ,30 )
ROW nRowText
COL 9
WIDTH 60
HEIGHT 10
FONTNAME AllTrim( ETIQPARA->FONT )
FONTSIZE ETIQPARA->FONTSIZE
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Center
END TEXT // 'Matura MT Script Capitals'
BEGIN TEXT
EXPRESSION PADC( ETIQUETA->CODIGO2 ,30 )
ROW nRowText
COL 77
WIDTH 60
HEIGHT 10
FONTNAME AllTrim( ETIQPARA->FONT )
FONTSIZE ETIQPARA->FONTSIZE
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Center
END TEXT
BEGIN TEXT
EXPRESSION PADC( ETIQUETA->CODIGO3 ,30 )
ROW nRowText
COL 143
WIDTH 60
HEIGHT 10
FONTNAME AllTrim( ETIQPARA->FONT )
FONTSIZE ETIQPARA->FONTSIZE
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Center
END TEXT
BEGIN LINE
FROMROW 35
FROMCOL 8
TOROW 35
TOCOL 200
PENWIDTH 0.1
PENCOLOR { 0 , 0 , 0 }
END LINE
END DETAIL
* Footer Band *************************************************
BEGIN FOOTER
BANDHEIGHT 1
END FOOTER
END REPORT
ExecuteReport('Report1',.t.,.t. )
ETIQPARA->( DBCLOSEAREA( ) )
ETIQUETA->( DBCLOSEAREA( ) )
arriba el nombre del producto,
en la linea siguiente el precio en un letra mas grande,
en la linea siguiente una imagen JPG con el codigo de barras (el nombre de la imagen varia para cada registro, y el nombre está en el campo CBARRA1,CBARRA2,CBARRA3)
y en la linea siguiente un texto con el codigo de barras
en todos los registros funciona perfecto, pero cuando tiene que imprimir las imagenes , es como que no varía el valor del campo de la tabla, se queda con los del primer registro, o sea, me imprime siempre las tres primeras barras, mientras que todos los otros campos , va variando linea por linea, cambia el nombre, el precio y el código de barras , segun el registro, solo no cambia el nombre del archivo .JPG que esta en el campo CBARRA1, CBARRA2, CBARRA3 de cada registro.
paso el código :
Use ETIQUETA New Exclusive
DBGOTOP( )
DEFINE REPORT Report1
* Report Layout ***********************************************
BEGIN LAYOUT
PAPERSIZE PRINTER_PAPER_A4
ORIENTATION PRINTER_ORIENT_PORTRAIT
END LAYOUT
* Header Band *************************************************
BEGIN HEADER
BANDHEIGHT 5
END HEADER
* Detail Band *************************************************
aColumnas:={ 10 ,80 ,100 }
BEGIN DETAIL
BANDHEIGHT 40
BEGIN TEXT
EXPRESSION AllTrim( SubStr( ETIQUETA->DESCRIP1 ,1 ,50 ) )
ROW 2
COL 8
WIDTH 60
HEIGHT 10
FONTNAME 'Arial'
FONTSIZE 10
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Center
END TEXT
BEGIN TEXT
EXPRESSION AllTrim( SubStr( ETIQUETA->DESCRIP2 ,1 ,50 ) )
ROW 2
COL 75
WIDTH 60
HEIGHT 10
FONTNAME 'Arial'
FONTSIZE 10
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Center
END TEXT
BEGIN TEXT
EXPRESSION AllTrim( SubStr( ETIQUETA->DESCRIP3 ,1 ,50 ) )
ROW 2
COL 140
WIDTH 60
HEIGHT 10
FONTNAME 'Arial'
FONTSIZE 10
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Center
END TEXT
BEGIN TEXT
EXPRESSION Str( ETIQUETA->PRECIO1 ,7,2 )
ROW 5
COL 8
WIDTH 100
HEIGHT 20
FONTNAME 'Arial Black'
FONTSIZE 40
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Left
END TEXT
BEGIN TEXT
EXPRESSION Str( ETIQUETA->precio2 ,7 ,2 )
ROW 5
COL 75
WIDTH 100
HEIGHT 20
FONTNAME 'Arial Black'
FONTSIZE 40
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Left
END TEXT
BEGIN TEXT
EXPRESSION Str( ETIQUETA->precio3 ,7 ,2 )
ROW 5
COL 140
WIDTH 100
HEIGHT 20
FONTNAME 'Arial Black'
FONTSIZE 40
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Left
END TEXT
BEGIN PICTURE
VALUE ETIQUETA->CBARRA1
ROW 22
COL 24
WIDTH 30
HEIGHT 7
STRETCH .T.
END PICTURE
BEGIN PICTURE
VALUE ETIQUETA->CBARRA2
ROW 22
COL 90
WIDTH 30
HEIGHT 7
STRETCH .T.
END PICTURE
BEGIN PICTURE
VALUE ETIQUETA->CBARRA3
ROW 22
COL 156
WIDTH 30
HEIGHT 7
STRETCH .T.
END PICTURE
nRowText:=29
BEGIN TEXT
EXPRESSION PADC( ETIQUETA->CODIGO1 ,30 )
ROW nRowText
COL 9
WIDTH 60
HEIGHT 10
FONTNAME AllTrim( ETIQPARA->FONT )
FONTSIZE ETIQPARA->FONTSIZE
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Center
END TEXT // 'Matura MT Script Capitals'
BEGIN TEXT
EXPRESSION PADC( ETIQUETA->CODIGO2 ,30 )
ROW nRowText
COL 77
WIDTH 60
HEIGHT 10
FONTNAME AllTrim( ETIQPARA->FONT )
FONTSIZE ETIQPARA->FONTSIZE
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Center
END TEXT
BEGIN TEXT
EXPRESSION PADC( ETIQUETA->CODIGO3 ,30 )
ROW nRowText
COL 143
WIDTH 60
HEIGHT 10
FONTNAME AllTrim( ETIQPARA->FONT )
FONTSIZE ETIQPARA->FONTSIZE
FONTBOLD .F.
FONTITALIC .F.
FONTUNDERLINE .F.
FONTSTRIKEOUT .F.
FONTCOLOR { 0 , 0 , 0 }
ALIGNMENT Center
END TEXT
BEGIN LINE
FROMROW 35
FROMCOL 8
TOROW 35
TOCOL 200
PENWIDTH 0.1
PENCOLOR { 0 , 0 , 0 }
END LINE
END DETAIL
* Footer Band *************************************************
BEGIN FOOTER
BANDHEIGHT 1
END FOOTER
END REPORT
ExecuteReport('Report1',.t.,.t. )
ETIQPARA->( DBCLOSEAREA( ) )
ETIQUETA->( DBCLOSEAREA( ) )