Page 1 of 1
Cambiar altura area Easy Report Tiempo Ejecución SOLUCIONADO
Posted: Sat Jan 04, 2020 3:17 pm
by leandro
Bueno días para todos,
Como dice el encabezado, requiero cambiar el alto de una área en tiempo de ejecución, de antemano gracias.
Re: Cambiar altura area Easy Report Tiempo Ejecución
Posted: Sat Jan 04, 2020 3:44 pm
by MOISES
Prueba a hacer un xBrowse al objeto del área para ver sus propiedades, y así poder cambiarlas en tiempo de ejecución.
Re: Cambiar altura area Easy Report Tiempo Ejecución
Posted: Sat Jan 04, 2020 3:55 pm
by leandro
Moises gracias por responder, perdóname debí haber sido mas especifico, eso ya lo estoy haciendo, pero al asignar el valor de la nueva altura no me funciona. Quería saber si había un ejemplo funcional para cambio de altura por ítem (en una factura) en tiempo de ejecución... algo de código.
Code: Select all
//msginfo(oVRD:aAreaHeight[aAreaItem[vArea]])
oVRD:aAreaHeight[aAreaItem[vArea]] := 8
PRINTAREA aAreaItem[vArea] OF oVRD ;
ITEMIDS { vFactor+1,vFactor+2,vFactor+3,;
vFactor+4,vFactor+5,vFactor+6,;
vFactor+7,vFactor+8,vFactor+9,vFactor+10} ;
Re: Cambiar altura area Easy Report Tiempo Ejecución
Posted: Sat Jan 04, 2020 5:06 pm
by MOISES
Prueba a poner ovrd:aAreaHeight después de definir el área.
Re: Cambiar altura area Easy Report Tiempo Ejecución
Posted: Sun Jan 05, 2020 5:16 pm
by Armando
Leandro:
Supongo que el problema es cuando quieres imprimir un campo tipo MEMO y la altura del renglón
no es suficiente. Si es así, creo que ampliar la altura del área te puede dar problemas cuando estés
al final de una página. Si te interesa te puedo sugerir algo que te puede ayudar con este lío.
Saludos
Re: Cambiar altura area Easy Report Tiempo Ejecución
Posted: Wed Jan 08, 2020 12:14 pm
by leandro
Hola Armando como vas, como siempre gracias por la respuesta,
Si claro me interesa
De antemano gracias
Re: Cambiar altura area Easy Report Tiempo Ejecución
Posted: Wed Jan 08, 2020 5:59 pm
by Armando
Leandro:
Como te comente en mi post anterior, si amplias el área te vas a enfrentar a un problema
cuando el área se debe imprimir al final de la página, es decir parte del texto debe caer
al pie de la página y el resto del texto debe caer al inicio de la siguiente página.
Para dar solución al problema de imprimir campos tipo memo yo hago lo siguiente:
Code: Select all
STATIC FUNCTION PrtArea02(oVrd)
LOCAL nLineas := 0
LOCAL nLargo := oRsFdf:Fields("FOL_ANC"):Value
LOCAL cDes := ""
LOCAL nLoop := 0
IF oRsDet:RecordCount() > 0
oRsDet:MoveFirst()
nLoop := 0
DO WHILE ! oRsDet:EOF()
nLineas := MLCOUNT(ALLTRIM(oRsDet:Fields("DET_DES"):Value),nLargo)
FOR nLoop := 1 TO nLineas
cDes := MEMOLINE(ALLTRIM(oRsDet:Fields("DET_DES"):Value),nLargo,nLoop)
IF nLoop == 1
PRINTAREA 2 OF oVrd;
ITEMIDS {201,202,203,204,205,206};
ITEMVALUES {TRANSFORM(oRsDet:Fields("DET_CTD"):Value,"@Z 99,999.999"),;
oRsDet:Fields("DET_UDM"):Value,;
oRsDet:Fields("DET_CDP"):Value,;
cDes,;
TRANSFORM(oRsDet:Fields("DET_PUN"):Value,"@Z 999,999,999.99"),;
TRANSFORM(oRsDet:Fields("DET_IMP"):Value,"@Z 999,999,999.99")}
ELSE
PRINTAREA 2 OF oVrd;
ITEMIDS {204};
ITEMVALUES {cDes}
ENDIF
IF oVRD:nNextRow > oVRD:nPageBreak
PRINTAREA 3 OF oVrd
PAGEBREAK oVRD
PrtArea01(oVrd)
ENDIF
NEXT
oRsDet:MoveNext()
ENDDO
ENDIF
RETURN(.T.)
El truco esta en seccionar el campo memo en diferentes tramos de un x tamaño, en mi
caso la longitud la defino en nLargo, de esta manera imprimo varios renglones cuidando
al llegar al fin de la página, mira el código IF oVRD:nNextRow > oVRD:nPageBreak.
Ojala que esto te sirve a apoyo, cualquier duda estoy por aquí.
Saludos
Re: Cambiar altura area Easy Report Tiempo Ejecución
Posted: Sun Jan 12, 2020 12:31 am
by leandro
Gracias Armando, por tu ayuda.
Voy a probarlo, y cualquier cosa comento. No había podido mirar con calma el foro, estaba super ocupado en un proyecto que debía entregar, pero esta semana que viene si Dios quiere retomo.
Muchas gracias por la ayuda.
Re: Cambiar altura area Easy Report Tiempo Ejecución
Posted: Sun Jan 12, 2020 12:38 am
by leandro
Re: Cambiar altura area Easy Report Tiempo Ejecución
Posted: Sun Jan 12, 2020 5:42 pm
by Armando
Leandro:
Sin pena, dame un correo por favor.
Saludos
Re: Cambiar altura area Easy Report Tiempo Ejecución
Posted: Mon Jan 13, 2020 10:08 am
by leandro
Re: Cambiar altura area Easy Report Tiempo Ejecución
Posted: Fri Jan 31, 2020 2:22 am
by leandro
Excelente Armando, muchas gracias
Funciono a las mil maravillas.
Desconocía la existencia de las funciones MLCOUNT() y MEMOLINE().
Pdta. No me había quedado tiempo de mirar el código. Hemos estado un poco ocupados con el tema de la facturación electrónica.
Re: Cambiar altura area Easy Report Tiempo Ejecución SOLUCIONADO
Posted: Fri Jan 31, 2020 2:49 am
by Armando
Leandro:
Excelente !.
Saludos