In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Report y Browse

Foro público de Xailer en español
Responder
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Report y Browse

Mensaje por zeasoftware »

Alguien sabe y me podria orientar o decir como puedo imprimir lo que este
presentando un TDBBrowse?
Me explico, quiero aplicar filtros a la vista de un Browse, y luego imprimir
el resultado de la vista, pero no le he dado como, aun sigo analizando.
Gracias.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Report y Browse

Mensaje por zeasoftware »

por que si uso esto:
Column Of oReport ;
Title "Clave"
Data ::oDataSet:Clave
Me marca error "No existe variable SELF",
esto lo hago por que quiero imprimir el valor de campo calculado y pues este
tampoco existe en la base de datos.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Report y Browse

Mensaje por jfgimenez »

Ramón,
> por que si uso esto:
>
> Column Of oReport ;
> Title "Clave"
> Data ::oDataSet:Clave
>
> Me marca error "No existe variable SELF",
> esto lo hago por que quiero imprimir el valor de campo calculado y pues
> este tampoco existe en la base de datos.
Por favor, muestra el código completo del report para revisarlo.
--
Un saludo,
José F. Giménez
http://www.xailer.com
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Report y Browse

Mensaje por jlalin »

Ramón,
¿ no será que te falta un punto y coma entre la cláusula TITLE y DATA ?
> Column Of oReport ;
> Title "Clave"
Title "Clave" ;
> Data ::oDataSet:Clave
Saludos,
José Lalí­n
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Report y Browse

Mensaje por zeasoftware »

Me he metido al report.ch y lo he cambiado hasta llegar a esto:
REPORT oReport ;
TITLE "Reporte" ;
HEADER DtoStr( Date() ) + " " + Time() ;
FOOTER "Pag.: " + lTrim( Str( oReport:nPage ) ) ALIGN taCENTER ;
PREVIEW MODAL
For nCol := 1 To Len(::oDBBrowse1:aCols)
oCol := ::oDBBrowse1:aCols[nCol]
WITH OBJECT oReport:AddColumn()
:aTitle := { &("{|| '" + cCol:cHeader + "' }") }
//la siguiente seria: {|| ( cAlias )->Campo }
:aData := { &("{|| '( " + ::oDataSet:Alias() + " )->" +
cCol:oDataField:cName + "' }") }
//o uso esta para dejar: { || ::oDataSet:Campo }
//:aData := { &("{|| ::oDataSet:" + cCol:oDataField:cName
" }") }
// en este me marca que no esxiste SELF
If ( !Empty(oCol:cPicture) )
:aPicture := { oCol:cPicture }
:cTotalPict := :aPicture[ 1 ]
End
:nAlignment := oCol:nAlignment
:Create()
END WITH
Next
RUN REPORT oReport ;
While !::oDataSet:EoF()
ahora:
Que datos recibe la columna al ser evaluada?
oSender = report o la clase que la contenga?
Gracias.
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Report y Browse

Mensaje por zeasoftware »

Gracias, solo lo puse como representacion, ya que no lo copie y pegue del
proyecto.
:o)
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Report y Browse

Mensaje por zeasoftware »

Al parecer el erro lo genera en la Madroi:
uso esta para dejar: &("{ || ::oDataSet:Campo }")
:aData := { &("{|| ::oDataSet:" + cCol:oDataField:cName " }") }
ya que si pongo
:aData := &("{|| ::oDataSet:" + cCol:oDataField:cName " }")
esto debe pasar digamos:
:aData := &("::oDataSet:" + "Descrip")
y aqui me dice que no existe SELF, debido al objeto ::oDataSet
Saludos.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9463
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Report y Browse

Mensaje por ignacio »

Ramón,
El problema es que la expresión realmente se bloquifica y el valor de Self
puede se muy distinto cuando se requiera su ejecución, por ello lo mejor es
que sencillamente utilices una variable local para guardar el dataset. De
esta forma te aseguras de que se usa la variable exacta.
oMiDataSet := ::oDataSet
DATA oMiDataSet:Clave
No obstante te sugiero que quizas utilices directemante el alias para hacer
impresiones con el objeto Report. En tu caso el campo calculado podrías ser
algo así:
DATA Trim( Alias->Campo1 ) + " " + Trim( Alias->Campo2)
Precisamente los valores suministrados a la cláusula DATA se bloquifican
para poder introducir cualquier expresión.
Saludos,
"Ramón Zea" <zeasoftware@hotmail.com> wrote in message
news:[email=4466561a@ozsrvnegro.ozlan.local...]4466561a@ozsrvnegro.ozlan.local...[/email]
> por que si uso esto:
>
> Column Of oReport ;
> Title "Clave"
> Data ::oDataSet:Clave
>
> Me marca error "No existe variable SELF",
> esto lo hago por que quiero imprimir el valor de campo calculado y pues
> este tampoco existe en la base de datos.
>
>
>
> --
> Ramón Zea
> ramonzea@yahoo.com
>
> http://www.paginasprodigy.com/zeasoft/
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Report y Browse

Mensaje por zeasoftware »

Al compilar los archivos con harbour y revisando el .PPO he notado que SELF
esta declarada como local, por ello la macro no tiene alcance con esta.
El problma con (alias)->campo es que no puedo acceder a los campos
calculados.
Gracias
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9463
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Report y Browse

Mensaje por ignacio »

Ramón,
Hagame caso, y declare la variable como le digo. En el PPO esta declarada
como local porque lo hace automáticamente así el motor de objetos, pero en
ese momento apunta a un objeto TReport. Es más complicado de lo que parece a
simple vista.
En cuanto a los campos calculados creo que fui bastante claro en mi anterior
email, por favor tomese el tiempo de releerlo.
Gracias y un saludo,
"Ramón Zea" <zeasoftware@hotmail.com> escribió en el mensaje
news:[email=4468ce7b@ozsrvnegro.ozlan.local...]4468ce7b@ozsrvnegro.ozlan.local...[/email]
> Al compilar los archivos con harbour y revisando el .PPO he notado que
> SELF esta declarada como local, por ello la macro no tiene alcance con
> esta.
>
> El problma con (alias)->campo es que no puedo acceder a los campos
> calculados.
>
> Gracias
>
> --
> Ramón Zea
> ramonzea@yahoo.com
>
> http://www.paginasprodigy.com/zeasoft/
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Report y Browse

Mensaje por zeasoftware »

si, ya desde el mensaje anterior lo resolvi, solo declare una variable
privada y le pase el valor de self y le hice referencia en la llamada dentro
de la macro y listo.
Hey muchos caminos para llegar a roma, jejejej :o)
Saludos.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
Responder