ayuda con fastreport y page con texto de tamaño variable

ayuda con fastreport y page con texto de tamaño variable

Postby carlos vargas » Thu Mar 03, 2022 6:19 pm

Hola, estoy solicitando ayuda para la creacion de un reporte en fastreport, el caso es que deseo hacer lo siguiente:
en una hoja, imprimo los datos de un cliente, en una segunda hoja una tabla la cual esta conteniada en un array de logitud fija por lo cual nunca pasa mas alla de esa hoja que lo contiene, y ahora el problema, en una tercer hoja deseo poner un texto con longitud variable (en este caso es un texto "contrato" el cual leo de un archivo txt a una variable, ahi reemplaso cierto valores), ese texto lo pongo en un campo pero al visualizar esa tercer hoja (que deberian ser cuatro para poder contener todo) aun cuando el texto sobrepasa esa hoja, el texto lo recorta.

no se si me he dado a entender, el caso es que deseo que el texto de esa tercer hoja pase a una carta hoja cuando sea necesario.

agradesco cualquier ayuda.

gracias.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: ayuda con fastreport y page con texto de tamaño variable

Postby carlos vargas » Thu Mar 03, 2022 9:20 pm

Para que quede para referencias futuras...

resuelto, aunque con maña, como los detail band son los unicos que son capaces de crar tantas paginas como sea necesario....
tome el texto, lo separe en párrafos con la funcion hb_atokens obtengo un arreglo unidimensional, luego lo paso a un arrego de dos dimensiones, luego en fastreport
defino un dataset con el dichoso arreglo, y listo. se define ciertas propiedades en el campo que muestra el elemento tan alto como sea necesario.

tantas paginas como sea necesario.
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: ayuda con fastreport y page con texto de tamaño variable

Postby carlos vargas » Thu Mar 03, 2022 9:21 pm

Image
Image
Image
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: ayuda con fastreport y page con texto de tamaño variable

Postby carlos vargas » Thu Mar 03, 2022 9:22 pm

Code: Select all  Expand view
     :SetUserDataSet( "TBL_CONT",;         /*alias*/
            "CONTENIDO",;                  /*fields*/
            { || nRow := 1            },;  /*bGoTop*/
            { || nRow := nRow+1       },;  /*bSkipPlus*/
            { || nRow := nRow-1       },;  /*bSkipMinus*/
            { || nRow > Len( aTmp )   },;  /*bEof*/
            { || aTmp[ nRow, 1 ]      } )  /*bGet*/
 
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: ayuda con fastreport y page con texto de tamaño variable

Postby carlos vargas » Thu Mar 03, 2022 9:23 pm

Code: Select all  Expand view
FUNCTION LeerContrato()
   LOCAL cTexto := ""
   LOCAL aParrafos, aRet
   LOCAL cFileName := "CONTRATO.TXT", cFileCont := ""

   /*Leer archivo de contrato*/
   IF !File( cFileName )
      MsgInfo( "Archivo de contrato no existe!", "Alerta" )
      RETURN { { "N/D" } }
   ELSE
      cFileCont := MemoRead( cFileName )
   ENDIF

   /*EJEMPLO DE reemplaza valores*/
   aCambios  := { "<<DEUDOR>>"        => RTrim( cClieNom ), ;
                  "<<CEDULA>>"        => Transform( RTrim( cClieCed ), "@R 999-999999-9999A" ), ;
                  "<<CIUDAD>>"        => "MANAGUA", ;
                  "<<DOMICILIO>>"     => RTrim( cDirDomicilio ), ;
                  "<<ESTADOCIVIL>>"   => IIf( cClieEC == "C","Casado", "Soltero"), ;
                  "<<MONTO_PRE>>"     => Money2FR( hPres[ "MONTO_TOT" ] ), ;
                  "<<MONTO_PRE_TXT>>" => NtoL( hPres[ "MONTO_TOT" ] ), ;
                  "<<CUOTAS_TXT>>"    => NtoL( hPres[ "CUOTAS" ], NIL, "" ), ;
                  "<<MONTO_CUO>>"     => Money2FR( hPres[ "MONTO_CUO" ] ), ;
                  "<<MONTO_CUO_TXT>>" => NtoL( hPres[ "MONTO_CUO" ] ), ;
                  "<<FECHA_INI>>"     => Date2LStr( hPres[ "FECHA_INI" ] ), ;
                  "<<FECHA_FIN>>"     => Date2LStr( hPres[ "FECHA_FIN" ] )  }

   cFileCont := hb_StrReplace( cFileCont, aCambios )

   /*si el archivo de contrato tiene contenido*/
   IF Len(cFileCont)> 0
      aRet := {}
      /*lee los parrafos y los pasa a un arreglo*/
      aParrafos := hb_aTokens( cFileCont, hb_EOL() )
      /*pasa el arreglo de parrafos a un arreglo de dos dimensiones*/
      FOR x := 1 TO Len( aParrafos )
         AAdd( aRet, { aParrafos[ x ] } )
      NEXT
   ENDIF

   cFileCont := NIL
   aParrafos := NIL

RETURN aRet
 
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: ayuda con fastreport y page con texto de tamaño variable

Postby Compuin » Thu Mar 03, 2022 10:31 pm

Super!!!
FWH 20.12
Hbmk2 32/64 Bits (Build 19.29.30133)
Microsoft Visual C 32 Bits
MySql 8.0.24 32/64 Bits
VS Code
Compuin
 
Posts: 1213
Joined: Tue Dec 28, 2010 1:29 pm
Location: Quebec, Canada

Re: ayuda con fastreport y page con texto de tamaño variable

Postby carlos vargas » Fri Mar 04, 2022 4:02 am

ejemplo de una parrafo...
fastreport, reconoce algunos tag basicos de html, como <b></b> para bold.

<b>SEGUNDA: (DESEMBOLSO): El ACREEDOR</b> desembolsa la cantidad de <b><<MONTO_PRE>> (<<MONTO_PRE_TXT>>)</b>, a favor de <b>EL DEUDOR</b>, momento en el cual recibirá los siguientes documentos: una copia del contrato debidamente firmada...
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 87 guests