Cambiar altura area Easy Report Tiempo Ejecución SOLUCIONADO

Cambiar altura area Easy Report Tiempo Ejecución SOLUCIONADO

Postby leandro » Sat Jan 04, 2020 3:17 pm

Bueno días para todos,

Como dice el encabezado, requiero cambiar el alto de una área en tiempo de ejecución, de antemano gracias.
Last edited by leandro on Fri Jan 31, 2020 2:23 am, edited 1 time in total.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Cambiar altura area Easy Report Tiempo Ejecución

Postby MOISES » Sat Jan 04, 2020 3:44 pm

Prueba a hacer un xBrowse al objeto del área para ver sus propiedades, y así poder cambiarlas en tiempo de ejecución.
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
MOISES
 
Posts: 838
Joined: Wed Aug 22, 2007 10:09 am

Re: Cambiar altura area Easy Report Tiempo Ejecución

Postby leandro » Sat Jan 04, 2020 3:55 pm

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  Expand view  RUN

//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} ;
 
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Cambiar altura area Easy Report Tiempo Ejecución

Postby MOISES » Sat Jan 04, 2020 5:06 pm

Prueba a poner ovrd:aAreaHeight después de definir el área.
Saludos / Regards,

FWH 20.04, Harbour 3.2.0 dev (r1909261630) y BCC 7.40
MOISES
 
Posts: 838
Joined: Wed Aug 22, 2007 10:09 am

Re: Cambiar altura area Easy Report Tiempo Ejecución

Postby Armando » Sun Jan 05, 2020 5:16 pm

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
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3231
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Cambiar altura area Easy Report Tiempo Ejecución

Postby leandro » Wed Jan 08, 2020 12:14 pm

Hola Armando como vas, como siempre gracias por la respuesta,

Si claro me interesa :D

De antemano gracias
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Cambiar altura area Easy Report Tiempo Ejecución

Postby Armando » Wed Jan 08, 2020 5:59 pm

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  Expand view  RUN

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
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3231
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Cambiar altura area Easy Report Tiempo Ejecución

Postby leandro » Sun Jan 12, 2020 12:31 am

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.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Cambiar altura area Easy Report Tiempo Ejecución

Postby leandro » Sun Jan 12, 2020 12:38 am

Armando que pena molestarte, :oops: :oops: :oops: pero serias tan amable, de enviarme el vrd para saber como esta definido, de paso una imagen con el resultado final. :mrgreen: :mrgreen: :mrgreen:

De antemano gracias y de nuevo que pena molestarte.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Cambiar altura area Easy Report Tiempo Ejecución

Postby Armando » Sun Jan 12, 2020 5:42 pm

Leandro:

Sin pena, dame un correo por favor.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3231
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Cambiar altura area Easy Report Tiempo Ejecución

Postby leandro » Mon Jan 13, 2020 10:08 am

Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Cambiar altura area Easy Report Tiempo Ejecución

Postby leandro » Fri Jan 31, 2020 2:22 am

Excelente Armando, muchas gracias :D

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.
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Embarcadero C++ 7.60 for Win32 ] [ FiveWin 23.07 ] [ xHarbour 1.3.0 Intl. (SimpLex) (Build 20230914) ]
User avatar
leandro
 
Posts: 1676
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia

Re: Cambiar altura area Easy Report Tiempo Ejecución SOLUCIONADO

Postby Armando » Fri Jan 31, 2020 2:49 am

Leandro:

Excelente !.

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Armando
 
Posts: 3231
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 55 guests