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.

Bloque de código y REPORT

Foro público de Xailer en español
Responder
Israel Solis
Mensajes: 155
Registrado: Mié Nov 03, 2004 12:42 pm
Ubicación: Cancún, México
Contactar:

Bloque de código y REPORT

Mensaje por Israel Solis »

Amigos:
Existe alguna manera de resolver lo siguiente:
Dentro de una clase que utilizo para la impresión de un Reporte tengo un método donde se crean las columnas disponibles para el reporte, pero en un punto debo crear unas columnas que no sé cuantas serán en total por lo que hago un ciclo FOR
FOR nCampo := 1 TO Len(aUsrFields)
nCol := COL_CreUsuario + nCampo
cCampo := AllTrim(aUsrFields[nCampo, USRFLD_Campo])
bData := &("{|| ::aReporte[::nRenArr, " + StrTrim(nCol) + "]}") // Aquí­ necesito crear el código de Bloque que deberá ser interpretado al ejecutar el REPORT
AAdd(::aColumnas2, {{{||""}, CharToBlock(CHR(34) + cCampo + CHR(34))}, bData, {"Campo" + StrTrim(nCampo), "C", 50}, nCol, nCol})
NEXT
En tiempo de ejecución, al intentarse formar el REPORT marca el error:
----------------------- Información detallada del error -----------------------
Subsistema: BASE
Código de error: 1003
Estado: .F.
Descripción: No existe la variable
Operación: SELF
Argumentos:
Fichero:
Código error SO: 0
Pila de llamadas:
(b)TFRMREPEMPLEADO:COLUMNAS (325) // Método y lí­nea donde se crea el código de bloque (mencionado arriba)
TRPTCOLUMN:PRINTDATA (1537)
TREPORT:RUN (479)
TFRMREPEMPLEADO:REPTOPRINT (670)
La pregunta es ¿Cuál serí­a la mejor manera de crear un reporte que incluya columnas creadas a través de código de bloque con macro-expresión donde se hace referencia a DATAS de la misma clase donde se construye el reporte?
Espero haber sido claro, ojalá puedan ayudarme,
MIL GRACIAS
Saludos!!
Israel
--
Saludos :D

Israel
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Bloque de código y REPORT

Mensaje por zeasoftware »

Al inicio de tu proceso pon:
MemVar oSelf
oSelf := SELF
bData := &("{|| oSelf:aReporte[::nRenArr, " + StrTrim(nCol) + "]}")
La cuestion es que en los bloques de codigo no se alcanzan las variables locales, y SELF se define como LOCAL.
Saludos.
--
Ramón Zea
01.993.231-62-29
http://www.paginasprodigy.com/zeasoftware/
zeasoftware@prodigy.net.mx
zeasoftware@hotmail.com
ramonzea@yahoo.com
zeasoft.movil@hotmail.com
dirza_com@hotmail.com
--
zeasoftware
Mensajes: 1831
Registrado: Mar Oct 11, 2005 9:53 am

Bloque de código y REPORT

Mensaje por zeasoftware »

MemVar oSelf
oSelf := SELF
bData := &("{|| oSelf:aReporte[oSelf::nRenArr, " + StrTrim(nCol) + "]}")
La cuestion es que en los bloques de codigo no se alcanzan las variables locales, y SELF se define como LOCAL.
Saludos.
--
Ramón Zea
01.993.231-62-29
http://www.paginasprodigy.com/zeasoftware/
zeasoftware@prodigy.net.mx
zeasoftware@hotmail.com
ramonzea@yahoo.com
zeasoft.movil@hotmail.com
dirza_com@hotmail.com
--
Israel Solis
Mensajes: 155
Registrado: Mié Nov 03, 2004 12:42 pm
Ubicación: Cancún, México
Contactar:

Bloque de código y REPORT

Mensaje por Israel Solis »

Ramón:
Funcionó PERFECTO, MIL GRACIAS!!
SALUDOS!!
Israel
"Ramón Zea" <zeasoftware@hotmail.com> escribió en el mensaje de noticias news:[email=49c2bd96@svctag-j7w3v3j....]49c2bd96@svctag-j7w3v3j....[/email]
Al inicio de tu proceso pon:
MemVar oSelf
oSelf := SELF
bData := &("{|| oSelf:aReporte[::nRenArr, " + StrTrim(nCol) + "]}")
La cuestion es que en los bloques de codigo no se alcanzan las variables locales, y SELF se define como LOCAL.
Saludos.
--
Ramón Zea
01.993.231-62-29
http://www.paginasprodigy.com/zeasoftware/
zeasoftware@prodigy.net.mx
zeasoftware@hotmail.com
ramonzea@yahoo.com
zeasoft.movil@hotmail.com
dirza_com@hotmail.com
--
Saludos :D

Israel
Responder