Ayuda Con la clase treport y Sql

Post Reply
User avatar
ADBLANCO
Posts: 299
Joined: Mon Oct 22, 2007 3:03 pm
Location: Valencia - Venezuela

Ayuda Con la clase treport y Sql

Post by ADBLANCO »

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

Re: Ayuda Con la clase treport y Sql

Post by Armando »

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
User avatar
Mauricio
Posts: 199
Joined: Thu Oct 06, 2005 9:07 pm
Location: San Diego, CA

Re: Ayuda Con la clase treport y Sql

Post by Mauricio »

:D

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: Select all

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:oTitle:aFont[1] := {|| 2 }
      oReport:oTitle:aFont[4] := {|| 2 }
      oReport:oTitle: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 :mrgreen:
User avatar
ADBLANCO
Posts: 299
Joined: Mon Oct 22, 2007 3:03 pm
Location: Valencia - Venezuela

Re: Ayuda Con la clase treport y Sql

Post by ADBLANCO »

Gracias, Intentaré esto


:oops:
Saludos

Angel, Valencia, Venezuela

xH .997 - FW 7.9 - BCC55 - WorkShop - MySql
User avatar
Adolfo
Posts: 815
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile
Contact:

Re: Ayuda Con la clase treport y Sql

Post by Adolfo »

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
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050
User avatar
cmarucco
Posts: 46
Joined: Tue Oct 11, 2005 2:23 pm
Location: argentina

Re: Ayuda Con la clase treport y Sql

Post by cmarucco »

Angel:
Te envio un reporte utilizando SQL (Eagle1)

Code: Select all

   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
User avatar
ADBLANCO
Posts: 299
Joined: Mon Oct 22, 2007 3:03 pm
Location: Valencia - Venezuela

Re: Ayuda Con la clase treport y Sql

Post by ADBLANCO »

Es EXACTAMENTE lo que necesitaba,

Gracias, Arigato :lol:
Saludos

Angel, Valencia, Venezuela

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