FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ayuda Con la clase treport y Sql
Posts: 299
Joined: Mon Oct 22, 2007 03:03 PM
Ayuda Con la clase treport y Sql
Posted: Thu Nov 26, 2009 06:42 PM

Necesito Imprimir desde Sql utilizando la clase tReport, Alguien me pudiera dar un empujoncito???

Gracias :oops:

Saludos



Angel, Valencia, Venezuela



xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Ayuda Con la clase treport y Sql
Posted: Thu Nov 26, 2009 07:50 PM

Angel:

Si pudieras decirnos cual es el problema.

Para empezar echale un ojo a este link

http://sqlcmd.blogspot.com/2008_10_01_archive.html

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
Posts: 199
Joined: Thu Oct 06, 2005 09:07 PM
Re: Ayuda Con la clase treport y Sql
Posted: Thu Nov 26, 2009 07:56 PM
:-)

AdBlanco,

la forma mas sencilla que encontre es generar un arreglo con la informacion a imprimir, haces la busqueda, metes el resultado en una arreglo y sobre ese imprimes.

Code (fw): Select all Collapse
static function VtaReporte1()

   cFecha1 := Fecha2Sql( dIni )
   cFecha2 := Fecha2Sql( dFin )

   oMovs := oMysql:Query( "SELECT * FROM movtos where codigo = '" + cCod +;
             "' AND fecha BETWEEN '" + cFecha1 + "'" +  " AND '" + cFecha2 + "' ORDER BY fecha")

    oMovs:gotop()
    do while !oMovs:eof()
       aadd( aRegistros, { oMovs:fieldget('ubicacion'),;
                           oMovs:fieldget('cliente'),;
                           oMovs:fieldget('fecha'),;
                           oMovs:fieldget('codigo'),;
                           oMovs:fieldget('cantidad'),;
                           oMovs:fieldget('precio'),;
                           oMovs:fieldget('importe')})
       oMovs:Skip()
    enddo
    if len( aRegistros ) > 0
       Reporte2(dIni, dFin, cCod, aRegistros)
    else
         msginfo('NO SE ENCONTRARON COINCIDENCIAS', cProgram)
         return nil
    endif

   oMovs:end()
   oMovs := NIL
return nil


static function Reporte3(dIni, dFin, cCodigo, nRuta, aRegistros)
   local oFont1, oFont2, oReport, nRegistro := 1
   local cTexto := '" "
   local cTexto2 :=  " "

   DEFINE FONT oFont1 NAME "ARIAL" SIZE 0,-10
   DEFINE FONT oFont2 NAME "ARIAL" SIZE 0,-10 BOLD

   REPORT oReport TITLE 'Prueba  ;
         FOOTER Pág :"+strzero(oReport:nPage,3)    FONT oFont1, oFont2  PREVIEW




      COLUMN TITLE "Cte"                    DATA aRegistros[nRegistro,2] PICTURE '9999'  RIGHT
      COLUMN TITLE "Cliente"                DATA substr(NombreCliente(aRegistros[nRegistro,2]),1,25)
      COLUMN TITLE "Fecha"                  DATA aRegistros[nRegistro,3]
      COLUMN TITLE "Cant"                   DATA aRegistros[nRegistro,5] PICTURE '999'  RIGHT TOTAL
      COLUMN TITLE "Precio"                 DATA aRegistros[nRegistro,6] PICTURE '99,999.99'  RIGHT
      COLUMN TITLE "Importe"                DATA aRegistros[nRegistro,7] PICTURE '999,999.99'  RIGHT TOTAL

      oReport:bSkip := {|| nRegistro++}


   END REPORT
   IF oReport:lCreated
      oReport:aFont[1] := {|| 2 }
      oReport:aFont[4] := {|| 2 }
      oReport:aFont[5] := {|| 2 }
   ENDIF

   ACTIVATE REPORT oReport WHILE nRegistro <= len(aRegistros)

   oFont1:end()
   oFont2:end()
   oReport:end()
return NIL


a lo mejor estoy matando pulgas a balazos pero eso fue lo que me funciono.

saludos,
Mauricio :-)
Posts: 299
Joined: Mon Oct 22, 2007 03:03 PM
Re: Ayuda Con la clase treport y Sql
Posted: Thu Nov 26, 2009 08:42 PM

Gracias, Intentaré esto

:oops:

Saludos



Angel, Valencia, Venezuela



xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
Posts: 883
Joined: Tue Oct 11, 2005 11:57 AM
Re: Ayuda Con la clase treport y Sql
Posted: Fri Nov 27, 2009 01:55 AM

AdBlanco...

Usa mi clase ADOBASE.. mira los ejemplos.. es igual que usando la TDataBase... sencillo.

bajala de aqui..

http://200.72.140.34/privado/adobase/

Saludos

Desde Chile
Adolfo

;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Asus TUF F15, 32GB Ram, 2 * 1 TB NVME M.2, GTX 1650
Posts: 46
Joined: Tue Oct 11, 2005 02:23 PM
Re: Ayuda Con la clase treport y Sql
Posted: Fri Nov 27, 2009 07:27 PM
Angel:
Te envio un reporte utilizando SQL (Eagle1)

Code (fw): Select all Collapse
   cNomenclaSql  := "SELECT * FROM nomencla order by descrip"
   onomencla := TMSQuery():New(oCon, cNomenclaSql)
   onomencla :Open(cNomenclaSql)



DEFINE PEN oPen1 WIDTH 2
DEFINE PEN oPen2 WIDTH 1
DEFINE FONT oFon1 NAME "Arial" SIZE 0,-11
DEFINE FONT oFon2 NAME "Arial" SIZE 0,-08
DEFINE FONT oFon3 NAME "Arial" SIZE 0,-14
DEFINE FONT oFon4 NAME "Arial" SIZE 0,-12 BOLD


IF PrinterSetup() = 0
   RETURN nil
ENDIF

REPORT oReport TITLE OemToAnsi("Valorizaci¢n Nomenclador C.S.S a la Fecha : ")+ DToC(ovalores:FieldGet(43));
                 CAPTION OemToAnsi("Valorizaci¢n Nomenclador C.S.S");
                 HEADER "Caja de Servicios Sociales","Fecha:  "+DToC(DATE()),"Pagina: "+STR(oReport:nPage,3),;
                 oReport:SayBitmap(0,5.0,"LOGO.BMP",0.7,0.7);
                 FOOTER OemtoAnsi("- Valorizaci¢n Nomenclador C.S.S - Confeccion¢ : ") + ;
                 Alltrim(cNombreusu) + " Fecha : " + DToC(Date()) + " Hora :"+ Time()  ;
                 CENTER;
                 FONT oFon1, oFon2, oFon3, oFon4;
                 PEN oPen1, oPen2;
                 PREVIEW

     COLUMN TITLE "Digito",""                    DATA onomencla:FieldGet(2)
     COLUMN TITLE "Codigo","Hosp.Amb"            DATA Strzero(onomencla:FieldGet(3),6)
     COLUMN TITLE "Descripcion","Hosp.Int"       DATA onomencla:FieldGet(4) SIZE 70
     COLUMN TITLE "Honorarios","Priv.Amb"        DATA Transform(onomencla:FieldGet(5), "@E 999,999.99") RIGHT
     COLUMN TITLE "Gastos","Priv.Int"            DATA Transform(onomencla:FieldGet(6), "@E 999,999.99") RIGHT
     COLUMN TITLE "Lt"                           DATA onomencla:FieldGet(15)

      IF nRadio1 = 1
           GROUP ON onomencla:FieldGet(2);
           FOOTER "Total Registros Digito "+oReport:aGroups[1]:cValue+"   "+LTrim(Str(oReport:aGroups[1]:nCounter)) ;
           eject;
           FONT 1
      ENDIF

     END REPORT

oReport:bSkip := {||  onomencla:skip(1) }
oReport:nTitleUpLine := RPT_SINGLELINE
oReport:nTitleDnLine := RPT_SINGLELINE


ACTIVATE REPORT oReport  WHILE !onomencla:Eof();
                         ON CHANGE Nomencla035()

RETURN nil


Espero que sea lo que necesitas y te pueda servir .
Un abrazo .
Carlos Gustavo Marucco

Rio Gallegos - Santa Cruz

PATAGONIA ARGENTINA

FWH 10.08 - Eagle1 Ver 6.0 - xHarbour 1.2.1 Rev 6717

xMate Ver 1.15 - Workshop Ver 4.5 - Windows 7
Posts: 299
Joined: Mon Oct 22, 2007 03:03 PM
Re: Ayuda Con la clase treport y Sql
Posted: Fri Nov 27, 2009 08:46 PM

Es EXACTAMENTE lo que necesitaba,

Gracias, Arigato :lol:

Saludos



Angel, Valencia, Venezuela



xH .997 - FW 7.9 - BCC55 - WorkShop - MySql

Continue the discussion