Bloque de código y REPORT
Publicado: Jue Mar 19, 2009 7:16 pm
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
--
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
--