Cambiar altura area Easy Report Tiempo Ejecución SOLUCIONADO

Post Reply
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Cambiar altura area Easy Report Tiempo Ejecución SOLUCIONADO

Post 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.
Last edited by leandro on Fri Jan 31, 2020 2:23 am, edited 1 time in total.
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Re: Cambiar altura area Easy Report Tiempo Ejecución

Post by MOISES »

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
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Cambiar altura area Easy Report Tiempo Ejecución

Post 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} ;
 
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
MOISES
Posts: 824
Joined: Wed Aug 22, 2007 10:09 am

Re: Cambiar altura area Easy Report Tiempo Ejecución

Post by MOISES »

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
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Cambiar altura area Easy Report Tiempo Ejecución

Post 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
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
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Cambiar altura area Easy Report Tiempo Ejecución

Post by leandro »

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

Si claro me interesa :D

De antemano gracias
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Cambiar altura area Easy Report Tiempo Ejecución

Post 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
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
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Cambiar altura area Easy Report Tiempo Ejecución

Post 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.
Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Cambiar altura area Easy Report Tiempo Ejecución

Post by leandro »

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 ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Cambiar altura area Easy Report Tiempo Ejecución

Post by Armando »

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
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Cambiar altura area Easy Report Tiempo Ejecución

Post by leandro »

Saludos
LEANDRO ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
leandro
Posts: 958
Joined: Wed Oct 26, 2005 2:49 pm
Location: Colombia
Contact:

Re: Cambiar altura area Easy Report Tiempo Ejecución

Post by leandro »

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 ALFONSO
SISTEMAS LYMA - BASE
Bogotá (Colombia)
[ FWH 19.09 ] [ xHarbour 1.2.3 Intl. (SimpLex) (Build 20190613) ] [ Embarcadero C++ 7.30 for Win32 ]
User avatar
Armando
Posts: 2479
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

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

Post by Armando »

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
Post Reply