ExecuteReport( )

General Help regarding HMG, Compilation, Linking, Samples

Moderator: Rathinagiri

User avatar
andyglezl
Posts: 1461
Joined: Fri Oct 26, 2012 7:58 pm
Location: Guadalajara Jalisco, MX
Contact:

ExecuteReport( )

Post by andyglezl »

Hola
He estado probando el ExecuteReport( ) y me han surgido 2 cosas:
Con ExecuteReport( 'Ctes2', .t., .f. ) al hacer el PREVIEW y guardar como .PDF, no genera el .PDF
--------------------------------------------------------------------------------------------------------------------
Hello
I've been testing the ExecuteReport () and I have come 2 things:
With ExecuteReport ('Ctes2' .t., .f.) To make PREVIEW and saved as .PDF, does not generate the .PDF
ExecuteReport.jpg
ExecuteReport.jpg (121.34 KiB) Viewed 5168 times
Si yo genero el .PDF con ExecuteReport( 'Ctes2', .t., .t., cRaiz + "Clientes.pdf" ), no aparecen los acentos,
no despliega el .JPG, queda desalineado, no aparecen los colores.
-------------------------------------------------------------------------------------------------------------------------------
If I create the .pdf with ExecuteReport ('Ctes2' .t., .t., CRaiz + "Clientes.pdf"), the accents do not appear,
does not display the .JPG, is misaligned, the colors do not appear.
ExecuteReport2.jpg
ExecuteReport2.jpg (176.81 KiB) Viewed 5168 times
Las dudas son:
El ExecuteReport() no esta actualizado ?
es solo para ANSI ?
Habrá algún parche ?
Ya no se utiliza ?
------------------------------------------------------
Doubts are:
The ExecuteReport () is not updated?
It is only for ANSI?
There will be a patch?
It is no longer used?



Otra duda:
En determinado caso, cómo añadirle el "NOSAVEBUTTON" al El ExecuteReport() ?
---------------------------------------------------------------------------------------------------
Another question:
In one instance, how to add the "NOSAVEBUTTON" at The ExecuteReport ()?
Andrés González López
Desde Guadalajara, Jalisco. México.
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

Re: ExecuteReport( )

Post by Pablo César »

Hi Andrés,
andyglezl wrote:Con ExecuteReport( 'Ctes2', .t., .f. ) al hacer el PREVIEW y guardar como .PDF, no genera el .PDF
This is normal. When you do not pass 4th parameter with PDF file and extension, ExecuteReport can not recognize for PDF creation.
Si yo genero el .PDF con ExecuteReport( 'Ctes2', .t., .t., cRaiz + "Clientes.pdf" ), no aparecen los acentos
Have you tried with START HPDFPAGE ?
See UNICODE demo at C:\hmg.3.4.0\SAMPLES\HPDF\HMG_HPDFUNI
no despliega el .JPG, queda desalineado, no aparecen los colores.
Would be necessary to post your code or any other similar example for testing.
En determinado caso, cómo añadirle el "NOSAVEBUTTON" al El ExecuteReport() ?
I do not test it, but have you tried this ?

_HMG_SYSDATA [ 505 ] := .T.
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
andyglezl
Posts: 1461
Joined: Fri Oct 26, 2012 7:58 pm
Location: Guadalajara Jalisco, MX
Contact:

Re: ExecuteReport( )

Post by andyglezl »

Hola Pablo Cesar, gracias...
El problema del color ya quedó resuelto... pero el archivo .jpg sigue sin aparecer.
REPORT EXECUTION
Function:
ExecuteReport ( <cReportName> , <lPrintPreview> , <lSelectPrinter> , [ <cOutputFile> ] )

PDF Output:

- If <cOutputFile> with 'pdf' extension is specified, a PDF file with report
content will be generated. <lPrintPreview> and <lSelectPrinter> parameters
will be ignored).

- The following limitations applies when report is redirected to a PDF file:
- Only .jpg image files are allowed.
- When 'Underline' property is .t., color property is ignored (assumed black) for expressions.
EJEMPLO:

Code: Select all

#include <hmg.ch>

Function Main()
	DEFINE WINDOW FORM_1 AT 0,0 WIDTH 500 HEIGHT 300 MAIN TITLE "DEFIN REPORT" ON INIT ImpClientes()

	END WINDOW
	CENTER WINDOW Form_1
	ACTIVATE WINDOW Form_1
Return Nil
FUNCTION ImpClientes()
	LOCAL CRaiz   := HB_CurDrive()+':\'+CurDir()+'\'
	dbCreate( "Clientes", { { "CODE", "C", 16, 0 }, { "TITLE", "C", 80, 0 }, { "PRICE", "N", 9, 2 } }, , .T., "Ctes" )
	dbAppend()
	Ctes->CODE  := "0001"
	Ctes->TITLE := "El Título"
	Ctes->PRICE := 123.45
	cpso1:="[ La Empresa ] "
	cpso2:="Periodo del:  [  ]"+cRaiz+'LOGOPSO.JPG'       //  Al pasarlo a CreateReportCtes() se pierden las diagonales  \ \ \  !
	CreateReportCtes( cpso1, cpso2, cRaiz+'LOGOPSO.JPG' )
	MSGINFO( cRaiz+'LOGOPSO.JPG' )                                   //    <-----------  Aquí despliega bien !
	ExecuteReport('Clientes1',.t.,.t., cRaiz+"xxx.pdf" )
	SHELLEXECUTE( 0, "open" , "AcroRd32.exe", cRaiz+"xxx.pdf" )
RETURN( Nil )
//------------------------------------------------------------------------------
Function CreateReportCtes( cpso1, cpso2, clogo )

    DEFINE REPORT Clientes1

        * Report Layout ***********************************************
        BEGIN LAYOUT
            PAPERSIZE    PRINTER_PAPER_LETTER
            ORIENTATION  PRINTER_ORIENT_PORTRAIT
        END LAYOUT

        * Header Band *************************************************
        BEGIN HEADER
            BANDHEIGHT        25
            BEGIN LINE
                FROMROW 23 ; FROMCOL 10 ; TOROW 23 ; TOCOL 200 ; PENWIDTH 0.1 ; PENCOLOR BLACK
            END LINE

            BEGIN TEXT
                EXPRESSION    'REPORTE DE CLIENTES  '
                ROW 7 ; COL 10 ; WIDTH 100 ; HEIGHT 20 ; FONTNAME 'Helvetica' ; FONTSIZE 13 ; FONTCOLOR BLUE
                FONTITALIC .T.  ;  FONTUNDERLINE .T.  ;  FONTSTRIKEOUT .F.  ;  ALIGNMENT Left
            END TEXT

            BEGIN TEXT
                EXPRESSION    cpso1
                ROW 12  ; COL 10 ; WIDTH 100 ; HEIGHT 15 ; FONTNAME 'Helvetica' ; FONTSIZE 11 ; FONTBOLD .F.
                FONTITALIC .T. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR BLACK ; ALIGNMENT Left
            END TEXT
            BEGIN TEXT
                EXPRESSION    cpso2          //  Aquí ya se perdieron las diagonales
                ROW 17  ; COL 10 ; WIDTH 100 ; HEIGHT 15 ; FONTNAME 'Helvetica' ; FONTSIZE 11 ; FONTBOLD .F.
                FONTITALIC .T. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR BLACK ; ALIGNMENT Left
            END TEXT

            BEGIN PICTURE          //  Aquí ya se perdieron las diagonales por eso no encuentra el archivo .jpg
                VALUE clogo ; ROW 5 ; COL 160 ; WIDTH 47 ; HEIGHT 16 ; STRETCH .T.
            END PICTURE

        END HEADER

        * Detail Band *************************************************
        BEGIN DETAIL
            BANDHEIGHT        6
            BEGIN TEXT
                EXPRESSION   Ctes->CODE
                ROW 2 ; COL 05 ; WIDTH 20 ; HEIGHT 10 ; FONTNAME 'Helvetica' ; FONTSIZE 9 ; FONTBOLD .F.
                FONTITALIC .F. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR BLACK ; ALIGNMENT Left
            END TEXT
            BEGIN TEXT
                EXPRESSION   Ctes->TITLE
                ROW 2 ; COL 20 ; WIDTH 60 ; HEIGHT 10 ; FONTNAME 'Helvetica' ; FONTSIZE 9 ; FONTBOLD .F.
                FONTITALIC .F. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR BLACK ; ALIGNMENT Left
            END TEXT
            BEGIN TEXT
                EXPRESSION   Ctes->PRICE
                ROW 2 ; COL 60 ; WIDTH 20 ; HEIGHT 10 ; FONTNAME 'Helvetica' ; FONTSIZE 9 ; FONTBOLD .F.
                FONTITALIC .F. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR BLACK ; ALIGNMENT Left
            END TEXT			
        END DETAIL

        * Footer Band *************************************************
        BEGIN FOOTER
            BANDHEIGHT        27
            BEGIN LINE
                FROMROW 4 ; FROMCOL 10 ; TOROW 4 ; TOCOL 200 ; PENWIDTH 0.1 ; PENCOLOR BLACK
            END LINE

            BEGIN TEXT
                EXPRESSION    'Página #: '
                ROW 7 ; COL 11 ; WIDTH 100 ; HEIGHT 10 ; FONTNAME 'Helvetica' ; FONTSIZE 12 ; FONTBOLD .F.
                FONTITALIC .F. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR BLACK ; ALIGNMENT Left
            END TEXT

            BEGIN TEXT
                EXPRESSION    Date()
                ROW 7 ; COL 177 ; WIDTH 30 ; HEIGHT 10 ; FONTNAME 'Helvetica' ; FONTSIZE 12 ; FONTBOLD .F.
                FONTITALIC .F. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR BLACK ; ALIGNMENT Left
            END TEXT
        END FOOTER

        * Summary Band ************************************************
        BEGIN SUMMARY
            BANDHEIGHT        50
            BEGIN TEXT
                EXPRESSION    'Total Registros: '
                ROW 10 ; COL 20 ; WIDTH 100 ; HEIGHT 30 ; FONTNAME 'Helvetica' ; FONTSIZE 12 ; FONTBOLD .T.
                FONTITALIC .F. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR BLACK ; ALIGNMENT Left
            END TEXT
        END SUMMARY
    END REPORT
Return
Logopso.jpg
Logopso.jpg (28.38 KiB) Viewed 5121 times
Por alguna razón se están eliminando las diagonales del path del archivo .jpg
CreateRepSample.jpg
CreateRepSample.jpg (322.78 KiB) Viewed 5121 times
Si se quiere imprimir desde el Acrobat, despliega lo siguiente:
createRepSample2.jpg
createRepSample2.jpg (137.48 KiB) Viewed 5120 times
Andrés González López
Desde Guadalajara, Jalisco. México.
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

HMG Report Writer

Post by Pablo César »

Hola Andrés, gracias por resaltar el problema con colores y por disponibilizar el código para testes.

Te refieres a HMG Report Writer y no me respondiste:
Pablo César wrote:
Si yo genero el .PDF con ExecuteReport( 'Ctes2', .t., .t., cRaiz + "Clientes.pdf" ), no aparecen los acentos
Have you tried with START HPDFPAGE ?
See UNICODE demo at C:\hmg.3.4.0\SAMPLES\HPDF\HMG_HPDFUNI
Porque me está pareciendo que HMG Report Writer trabaja solo en ANSI y debe ser eso una de las causa que supuestamente no encuentra el archivo de imagen.
Si compilas en 3.0.46 (en ANSI) por ejemplo, irás ver que el archivo del imagen parece en el relatorio.

Creo que esto se podria resolver si mantuviéramos el código de la funcion pdfJPEGInfo original. Pues en esta función, se está tratando contenido del string en bajo nível (FOPEN) como si fuera UTF y sabemos que no lo es. Esto lo tendria que revisar Claudio, caso quieran mantener retro-compatibilidad con hbvpdf.
Yo ya probé substituyendo la funcion por la antigua y funciona:

Code: Select all

function pdfJPEGInfo( cFile )
local c255, nAt, nHandle
local nWidth, nHeight, nBits := 8, nFrom := 0, nLength, xRes, yRes, aTemp := {}
local nBuffer := 20000
local nSpace  // := 3 // 3 - RGB, 1 - GREY, 4 - CMYK

   nHandle := fopen( cFile )

   c255 := space( nBuffer )
   fread( nHandle, @c255, nBuffer )

   xRes := asc(substr( c255, 15, 1 )) * 256 + asc(substr( c255, 16, 1 ))
   yRes := asc( substr( c255, 17, 1 )) * 256 + asc(substr( c255, 18, 1 ))

   nAt := rat( chr(255) + chr(192), c255 ) + 5
   nHeight := asc(substr( c255, nAt, 1 )) * 256 + asc(substr( c255, nAt + 1, 1 ))
   nWidth := asc( substr( c255, nAt + 2, 1 )) * 256 + asc(substr( c255, nAt + 3, 1 ))

   nSpace := asc( substr( c255, nAt + 4, 1 ))

   nLength := filesize( nHandle )

   fclose( nHandle )

   aadd( aTemp, nWidth )
   aadd( aTemp, nHeight )
   aadd( aTemp, xRes )
   aadd( aTemp, yRes )
   aadd( aTemp, nBits )
   aadd( aTemp, nFrom )
   aadd( aTemp, nLength )
   aadd( aTemp, nSpace )

return aTemp
Creo tambien que se aplica a la funcion pdfTIFFInfo que debe ser normalizada para ANSI en low level.
Pablo César wrote:
Andrés wrote:En determinado caso, cómo añadirle el "NOSAVEBUTTON" al El ExecuteReport() ?
I do not test it, but have you tried this ?

_HMG_SYSDATA [ 505 ] := .T.
No entiendo para que quieres desabilitar el botón de nuestro Preview, si lo abres con Adobe.
Por alguna razón se están eliminando las diagonales del path del archivo .jpg
Porqué dicés esto ? Te baseas en qué ?

Porque por lo que yo entiendo, el problema tu enfatizas en amarillo con respecto al nombre y path del archivo, son dos motivos:

1. La que yo mencioné sobre leer erroneamente en bajo nivel como UTF para casos de las propiedades en archivos de imagenes.
2. La string, no sé por qué motivo los "\" están siendo removidos (tanto en ANSI como en UNICODE). :(
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
andyglezl
Posts: 1461
Joined: Fri Oct 26, 2012 7:58 pm
Location: Guadalajara Jalisco, MX
Contact:

Re: ExecuteReport( )

Post by andyglezl »

Perdón... estoy probando 2 formas de generar el PDF.

1.- Con ExecuteReport( 'Ctes2', .t., .f. ) para que aparesca la ventana de PREVIEW y guardar como .PDF, pero en el PREVIEW
no genera el contenido del archivo .PDF (primera imagen que posteé)
No entiendo para que quieres desabilitar el botón de nuestro Preview, si lo abres con Adobe.
Aquí es donde deseaba Habilitar/Deshabilitar el "NOSAVEBUTTON" ejecutando ExecuteReport( 'Ctes2', .t., .f. ) 2.- Con ExecuteReport( 'Ctes2', .t., .f., cRaiz + "Clientes.pdf" ) para generar directamente el archivo .PDF,
pero con esta opción, no imprime los acentos (que también ya solucioné con "HMG_UNICODE_TO_ANSI( NOMBRE )" ), no imprime en
la misma posición el BEGIN RECTANGLE / END RECTANGLE (como en el punto 1) y sigue sin desplegar la imagen.jpg
Por alguna razón se están eliminando las diagonales del path del archivo .jpg
Porqué dicés esto ? Te baseas en qué ?
Yo paso como parametro el path y nombre de archivo a la función que crea el reporte:
( CreateReportCtes( cpso1, cpso2, cRaiz+'LOGOPSO.JPG' )

cpso1:="[ La Empresa ] "
cpso2:="Periodo del: [ ]"+cRaiz+'LOGOPSO.JPG' // Aquí lleva las diagonales "D:\HMG\3.4\LOGOPSO.JPG"
CreateReportCtes( cpso1, cpso2, cRaiz+'LOGOPSO.JPG' ) // Aquí lleva las diagonales "D:\HMG\3.4\LOGOPSO.JPG"
MSGINFO( cRaiz+'LOGOPSO.JPG' ) // Aquí despliega las diagonales "D:\HMG\3.4\LOGOPSO.JPG"

Al momento de generar el archivo .PDF y mostrarlo ya no aparecen las diagonales...( última imagen que posteé)
ExecuteReport('Clientes1',.t.,.t., cRaiz+"xxx.pdf" )
SHELLEXECUTE( 0, "open" , "AcroRd32.exe", 'xxx.pdf' )

Y creo que es por eso que no encuentra el archivo .jpg y por eso no lo muestra.
Andrés González López
Desde Guadalajara, Jalisco. México.
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

ExecuteReport( )

Post by Pablo César »

Andrés, precisás leer una vez más lo que te escribi.

Explico las razones que encontré.

No es como tu dices, porque si colocas dentro de tu funcion CreateReportCtes, en la primera:
msginfo(cpso2)
Verás que el camino se mantiene.

Y en la ultima linea (antes del return, claro:
msgdebug(_HMG_SYSDATA[434])
msgdebug(_HMG_SYSDATA[116])
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
andyglezl
Posts: 1461
Joined: Fri Oct 26, 2012 7:58 pm
Location: Guadalajara Jalisco, MX
Contact:

Re: ExecuteReport( )

Post by andyglezl »

Tienes razón Pablo Cesar.
En lo que yo me basé es que al momento de desplegar el .PDF,
la variable cpso2:="Periodo del: [ ]"+cRaiz+'LOGOPSO.JPG' la pone
sin diagonales, incluso no aparece el número "3" tampoco.
createRepSample3.jpg
createRepSample3.jpg (79.53 KiB) Viewed 5072 times
Andrés González López
Desde Guadalajara, Jalisco. México.
User avatar
Pablo César
Posts: 4059
Joined: Wed Sep 08, 2010 1:18 pm
Location: Curitiba - Brasil

ExecuteReport( )

Post by Pablo César »

andyglezl wrote:..
la variable cpso2:="Periodo del: [ ]"+cRaiz+'LOGOPSO.JPG' la pone
sin diagonales, incluso no aparece el número "3" tampoco.
"4" querés decir...
Si esto como te dije, es visible pero no encontré lo que causaria esto.
Pero todo indica que debe ser aún un problema de en la biblioteca que está intentando leer un string ANSI en formato de UNICODE. Me huele que sea eso, mañana veré eso.

Sin bien que imagino que no aplicaste lo que yo indiqué anteriormente (puse el código) sobre substituir la función pdfJPEGInfo. Estoy cierto mister ?
HMGing a better world
"Matter tells space how to curve, space tells matter how to move."
Albert Einstein
User avatar
andyglezl
Posts: 1461
Joined: Fri Oct 26, 2012 7:58 pm
Location: Guadalajara Jalisco, MX
Contact:

Re: ExecuteReport( )

Post by andyglezl »

Cierto...se me complica de momento hacer esas pruebas
Lo del número "3" que no aparece es: "D:\HMG\3.4\LOGOPSO.JPG"
Andrés González López
Desde Guadalajara, Jalisco. México.
User avatar
andyglezl
Posts: 1461
Joined: Fri Oct 26, 2012 7:58 pm
Location: Guadalajara Jalisco, MX
Contact:

Re: ExecuteReport( )

Post by andyglezl »

Hola

Un poco mas explicado el ejemplo anterior...solo compilar
------------------------------------------------------------
A little further explained the above example ...just compiling

Code: Select all


#include <hmg.ch>

Function Main()
	dbCreate( "Clientes", { { "CODE", "C", 16, 0 }, { "TITLE", "C", 80, 0 }, { "PRICE", "N", 9, 2 } }, , .T., "Ctes" )
	dbAppend()
	Ctes->CODE  := "0001"
	Ctes->TITLE := "El Título   áéíóú"
	Ctes->PRICE := 123.45
	
	DEFINE WINDOW FORM_1 AT 0,0 WIDTH 500 HEIGHT 300 MAIN TITLE "HMG Report Writer"
	
		@ 050,100 BUTTON Button_1 CAPTION "Make Report" ACTION ImpClientes()
				
	END WINDOW
	
	CENTER WINDOW Form_1
	ACTIVATE WINDOW Form_1
Return Nil
FUNCTION ImpClientes()
	LOCAL CRaiz   := HB_CurDrive()+':\'+CurDir()+'\'
	
	cpso1:= "[ La Empresa ] "
	cpso2:= "Periodo del:  [  ]"
	cpso3:= cRaiz+'LOGOPSO.JPG'
	
	CreateReportCtes( cpso1, cpso2, cpso3, cRaiz+'LOGOPSO.JPG' )
	*MSGINFO( "En la siguiente pantalla de PREVIEW, si le damos Guardar como .PDF," + HB_OsNewLine() + " no guarda nada en el contenido del archivo" )
	MSGINFO( "In the next screen PREVIEW, if we give save as .PDF," + HB_OsNewLine () + "does not save anything in the file contents")
	
	ExecuteReport('Clientes1',.t.,.f. )
	*MSGINFO( "El mismo archivo anterior generado directamente como .PDF,"  + HB_OsNewLine() + ;
	*		 "no despliega la imagen ni los acentos," + HB_OsNewLine() + ;
	*		 "y en el texto no despliega las diagonales... " )
	MSGINFO("Same old file, generated directly as .PDF," + HB_OsNewLine () +;
			"does not display the image or accents," + HB_OsNewLine () +;
			"and the text does not display diagonal ...")
	ExecuteReport('Clientes1',.t.,.t., cRaiz+"xxx.pdf" )
	SHELLEXECUTE( 0, "open" , "AcroRd32.exe", 'xxx.pdf' )
	
RETURN( Nil )
//------------------------------------------------------------------------------
Function CreateReportCtes( cpso1, cpso2, clogo )
	*msginfo(cpso2)
    DEFINE REPORT Clientes1

        * Report Layout ***********************************************
        BEGIN LAYOUT
            PAPERSIZE    PRINTER_PAPER_LETTER
            ORIENTATION  PRINTER_ORIENT_PORTRAIT
        END LAYOUT
        * Header Band *************************************************
        BEGIN HEADER
            BANDHEIGHT        25
            BEGIN LINE
                FROMROW 23 ; FROMCOL 10 ; TOROW 23 ; TOCOL 200 ; PENWIDTH 0.1 ; PENCOLOR BLACK
            END LINE
            BEGIN TEXT
                EXPRESSION    'REPORTE DE CLIENTES  '
                ROW 7 ; COL 10 ; WIDTH 100 ; HEIGHT 20 ; FONTNAME 'Helvetica' ; FONTSIZE 13 ; FONTCOLOR BLUE ; ALIGNMENT Left
            END TEXT
            BEGIN TEXT
                EXPRESSION    cpso1
                ROW 12  ; COL 10 ; WIDTH 100 ; HEIGHT 15 ; FONTNAME 'Helvetica' ; FONTSIZE 11 ; FONTBOLD .F.
                FONTITALIC .T. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR BLACK ; ALIGNMENT Left
            END TEXT
            BEGIN TEXT
                EXPRESSION    cpso2
                ROW 17  ; COL 10 ; WIDTH 100 ; HEIGHT 15 ; FONTNAME 'Helvetica' ; FONTSIZE 11 ; FONTBOLD .F.
                FONTITALIC .T. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR BLACK ; ALIGNMENT Left
            END TEXT
            BEGIN TEXT
                EXPRESSION    cpso3
                ROW 17  ; COL 80 ; WIDTH 100 ; HEIGHT 15 ; FONTNAME 'Helvetica' ; FONTSIZE 11 ; FONTBOLD .T.
                FONTITALIC .T. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR RED ; ALIGNMENT Left
            END TEXT			
            BEGIN PICTURE
                VALUE clogo ; ROW 5 ; COL 160 ; WIDTH 47 ; HEIGHT 16 ; STRETCH .T.
                *VALUE cpso3 ; ROW 5 ; COL 160 ; WIDTH 47 ; HEIGHT 16 ; STRETCH .T.
            END PICTURE
        END HEADER
        * Detail Band *************************************************
        BEGIN DETAIL
            BANDHEIGHT        6
            BEGIN TEXT
                EXPRESSION   Ctes->CODE
                ROW 2 ; COL 10 ; WIDTH 20 ; HEIGHT 10 ; FONTNAME 'Helvetica' ; FONTSIZE 9 ; FONTBOLD .F.
                FONTITALIC .F. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR BLACK ; ALIGNMENT Left
            END TEXT
            BEGIN TEXT
                EXPRESSION   Ctes->TITLE
                ROW 2 ; COL 25 ; WIDTH 60 ; HEIGHT 10 ; FONTNAME 'Helvetica' ; FONTSIZE 9 ; FONTBOLD .T.
                FONTITALIC .F. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR RED ; ALIGNMENT Left
            END TEXT
            BEGIN TEXT
                EXPRESSION   Ctes->PRICE
                ROW 2 ; COL 65 ; WIDTH 20 ; HEIGHT 10 ; FONTNAME 'Helvetica' ; FONTSIZE 9 ; FONTBOLD .F.
                FONTITALIC .F. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR BLACK ; ALIGNMENT Left
            END TEXT			
        END DETAIL
        * Footer Band *************************************************
        BEGIN FOOTER
            BANDHEIGHT        27
            BEGIN LINE
                FROMROW 4 ; FROMCOL 10 ; TOROW 4 ; TOCOL 200 ; PENWIDTH 0.1 ; PENCOLOR BLACK
            END LINE
            BEGIN TEXT
                EXPRESSION    'Página #: '
                ROW 7 ; COL 11 ; WIDTH 100 ; HEIGHT 10 ; FONTNAME 'Helvetica' ; FONTSIZE 12 ; FONTBOLD .F.
                FONTITALIC .F. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR BLACK ; ALIGNMENT Left
            END TEXT
            BEGIN TEXT
                EXPRESSION    Date()
                ROW 7 ; COL 177 ; WIDTH 30 ; HEIGHT 10 ; FONTNAME 'Helvetica' ; FONTSIZE 12 ; FONTBOLD .F.
                FONTITALIC .F. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR BLACK ; ALIGNMENT Left
            END TEXT
        END FOOTER
        * Summary Band ************************************************
        BEGIN SUMMARY
            BANDHEIGHT        50
            BEGIN TEXT
                EXPRESSION    'Total Registros: '
                ROW 10 ; COL 20 ; WIDTH 100 ; HEIGHT 30 ; FONTNAME 'Helvetica' ; FONTSIZE 12 ; FONTBOLD .T.
                FONTITALIC .F. ; FONTUNDERLINE .F. ; FONTSTRIKEOUT .F. ; FONTCOLOR BLACK ; ALIGNMENT Left
            END TEXT
        END SUMMARY
    END REPORT
	*msgdebug(_HMG_SYSDATA[434])
	*msgdebug(_HMG_SYSDATA[116])
Return
Andrés González López
Desde Guadalajara, Jalisco. México.
Post Reply