Página 1 de 1

oReport

Publicado: Vie Ago 18, 2006 2:38 pm
por Rolando
Hola foro: estoy tratando de poner un cartel en el total de la columna
módulos y no lo logro, despues de la defición de las columnas están las
pruebas que hice con oReport:..., a lo mejor alguno ve el error, Gracias.
FUNCTION ListaProf(oData)
Local oReport, oFont1, oFont2, cProf := oData:Profesion, oDa := oData:Clone
oDa:seek(oData:Profesion+dtos(oData:fechatur))
With Object oFont1 := TFont():New()
:cName := "Arial"
:nSize := 12
:lBold := .T.
END WITH
With Object oFont2 := TFont():New()
:cName := "Arial"
:nSize := 10
:lBold := .f.
:lItalic := .t.
END WITH
REPORT oReport ;
TITLE "Profesional: "+cProf+" Fecha: "+dtoc(oData:fechatur) ;
FOOTER "Impreso el: "+ DtoC( Date() ) + " a las " + Time() ALIGN taRIGHT;
PREVIEW ;
FONT oFont1, oFont2 ;
JobName "Turnos 2.0"
COLUMN OF oReport ;
TITLE "Pacientes" ALIGN taCENTER;
DATA oDa:Paciente ALIGN taLEFT ;
FONT 2
COLUMN OF oReport ;
TITLE "Hora" ;
DATA oDa:hora ;
FONT 2
COLUMN OF oReport ;
TITLE "Módulos" ;
DATA oDa:modulos ALIGN taRIGHT;
PICTURE "9999999" ;
TOTAL ;
FONT 2
// Todo lo que empieza con oReport: no hace nada
oReport:aColumns[3]:OnPrintTotal := {|o,ct|ct := "Total: "+ct}
oReport:cPageTotal := "Total: "
oReport:lPageTotal := .t. // es el default, como .f. tampoco hace nada
//oReport:cJobName := "Turnos 2.0" //No funciona, Si funciona como clausula
de REPORT oReport
RUN REPORT oReport while oDa:fechatur == oData:fechatur
oFont1:Destroy()
oFont2:Destroy()
--
Rolando Sarrailh
Teléfono,
int. +54-221-489-1480
nac. 0221-489-1480
loc. 489-1480
rsarrailh@gmail.com

oReport

Publicado: Vie Ago 18, 2006 8:46 pm
por jrcpoli
Saludos:
Según la ayuda de Xailer despues de la clausula While se espera un bloque de
codigo, mira la ayuda.
Expresión WHILE del informe, es decir, imprimir mientras que se
produzca una determinada condición. Puede ser cualquier expresión en forma
de bloque de código (code-block) que devuelva un valor lógico. Dicha
expresión será evaluada en cada iteración del bucle de impresión y en el
caso de que la expresión indicada devuelva alguna vez falso dicha iteración
será descartada y el informe terminará inmediatamente. Por defecto esta
propiedad está inicializada a un simple !EOF() sobre la tabla DBF activa.
Ámbito:
Asignable
Tipo:
Code-block
Valor inicial:
{|| !EOF() }
José Ramón Castro Polinio.
"Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
news:[email=44e5b4c4@news.xailer.com...]44e5b4c4@news.xailer.com...[/email]
> Hola foro: estoy tratando de poner un cartel en el total de la columna
> módulos y no lo logro, despues de la defición de las columnas están las
> pruebas que hice con oReport:..., a lo mejor alguno ve el error, Gracias.
>
> FUNCTION ListaProf(oData)
> Local oReport, oFont1, oFont2, cProf := oData:Profesion, oDa :=
> oData:Clone
>
> oDa:seek(oData:Profesion+dtos(oData:fechatur))
>
> With Object oFont1 := TFont():New()
> :cName := "Arial"
> :nSize := 12
> :lBold := .T.
> END WITH
>
> With Object oFont2 := TFont():New()
> :cName := "Arial"
> :nSize := 10
> :lBold := .f.
> :lItalic := .t.
> END WITH
>
> REPORT oReport ;
> TITLE "Profesional: "+cProf+" Fecha: "+dtoc(oData:fechatur) ;
> FOOTER "Impreso el: "+ DtoC( Date() ) + " a las " + Time() ALIGN
> taRIGHT;
> PREVIEW ;
> FONT oFont1, oFont2 ;
> JobName "Turnos 2.0"
>
>
> COLUMN OF oReport ;
> TITLE "Pacientes" ALIGN taCENTER;
> DATA oDa:Paciente ALIGN taLEFT ;
> FONT 2
>
>
> COLUMN OF oReport ;
> TITLE "Hora" ;
> DATA oDa:hora ;
> FONT 2
>
> COLUMN OF oReport ;
> TITLE "Módulos" ;
> DATA oDa:modulos ALIGN taRIGHT;
> PICTURE "9999999" ;
> TOTAL ;
> FONT 2
>
> // Todo lo que empieza con oReport: no hace nada
> oReport:aColumns[3]:OnPrintTotal := {|o,ct|ct := "Total: "+ct}
> oReport:cPageTotal := "Total: "
> oReport:lPageTotal := .t. // es el default, como .f. tampoco hace nada
> //oReport:cJobName := "Turnos 2.0" //No funciona, Si funciona como
> clausula
> de REPORT oReport
>
> RUN REPORT oReport while oDa:fechatur == oData:fechatur
>
> oFont1:Destroy()
> oFont2:Destroy()
>
>
> --
> Rolando Sarrailh
> Teléfono,
> int. +54-221-489-1480
> nac. 0221-489-1480
> loc. 489-1480
> rsarrailh@gmail.com
>
>

oReport

Publicado: Sab Ago 19, 2006 1:33 am
por Rolando
Hola: el reporte funciona perfectamente, lo que quiero es ponerle una
leyenda en el total "Total: ",
el while acepta expresiones, Gracias igual.
"José R.Castro" <jrcpoli@terra.es> escribió en el mensaje
news:[email=44e60b29@news.xailer.com...]44e60b29@news.xailer.com...[/email]
> Saludos:
>
> Según la ayuda de Xailer despues de la clausula While se espera un bloque
> de
> codigo, mira la ayuda.
>
> Expresión WHILE del informe, es decir, imprimir mientras que se
> produzca una determinada condición. Puede ser cualquier expresión en forma
> de bloque de código (code-block) que devuelva un valor lógico. Dicha
> expresión será evaluada en cada iteración del bucle de impresión y en el
> caso de que la expresión indicada devuelva alguna vez falso dicha
> iteración
> será descartada y el informe terminará inmediatamente. Por defecto esta
> propiedad está inicializada a un simple !EOF() sobre la tabla DBF activa.
>
>
>
> Ámbito:
> Asignable
>
> Tipo:
> Code-block
>
> Valor inicial:
> {|| !EOF() }
>
>
>
> José Ramón Castro Polinio.
>
> "Rolando Sarrailh" <rsarrailh@gmail.com> escribió en el mensaje
> news:[email=44e5b4c4@news.xailer.com...]44e5b4c4@news.xailer.com...[/email]
>> Hola foro: estoy tratando de poner un cartel en el total de la columna
>> módulos y no lo logro, despues de la defición de las columnas están las
>> pruebas que hice con oReport:..., a lo mejor alguno ve el error, Gracias.
>>
>> FUNCTION ListaProf(oData)
>> Local oReport, oFont1, oFont2, cProf := oData:Profesion, oDa :=
>> oData:Clone
>>
>> oDa:seek(oData:Profesion+dtos(oData:fechatur))
>>
>> With Object oFont1 := TFont():New()
>> :cName := "Arial"
>> :nSize := 12
>> :lBold := .T.
>> END WITH
>>
>> With Object oFont2 := TFont():New()
>> :cName := "Arial"
>> :nSize := 10
>> :lBold := .f.
>> :lItalic := .t.
>> END WITH
>>
>> REPORT oReport ;
>> TITLE "Profesional: "+cProf+" Fecha: "+dtoc(oData:fechatur) ;
>> FOOTER "Impreso el: "+ DtoC( Date() ) + " a las " + Time() ALIGN
>> taRIGHT;
>> PREVIEW ;
>> FONT oFont1, oFont2 ;
>> JobName "Turnos 2.0"
>>
>>
>> COLUMN OF oReport ;
>> TITLE "Pacientes" ALIGN taCENTER;
>> DATA oDa:Paciente ALIGN taLEFT ;
>> FONT 2
>>
>>
>> COLUMN OF oReport ;
>> TITLE "Hora" ;
>> DATA oDa:hora ;
>> FONT 2
>>
>> COLUMN OF oReport ;
>> TITLE "Módulos" ;
>> DATA oDa:modulos ALIGN taRIGHT;
>> PICTURE "9999999" ;
>> TOTAL ;
>> FONT 2
>>
>> // Todo lo que empieza con oReport: no hace nada
>> oReport:aColumns[3]:OnPrintTotal := {|o,ct|ct := "Total: "+ct}
>> oReport:cPageTotal := "Total: "
>> oReport:lPageTotal := .t. // es el default, como .f. tampoco hace nada
>> //oReport:cJobName := "Turnos 2.0" //No funciona, Si funciona como
>> clausula
>> de REPORT oReport
>>
>> RUN REPORT oReport while oDa:fechatur == oData:fechatur
>>
>> oFont1:Destroy()
>> oFont2:Destroy()
>>
>>
>> --
>> Rolando Sarrailh
>> Teléfono,
>> int. +54-221-489-1480
>> nac. 0221-489-1480
>> loc. 489-1480
>> rsarrailh@gmail.com
>>
>>
>
>