Page 1 of 1

Extraño con TReport

PostPosted: Thu Feb 23, 2017 6:00 pm
by FranciscoA
Amigos, despues de dias tratando de corregirlo, acudo a ustedes, por si alguien ya ha pasado por lo mismo y ha logrado remediarlo.

Durante años he usado un programa de contabilidad que desarrollé hace tiempo, hasta hace varios dias sin problemas.

El caso es que acaban de cambiar impresora (de tinta) y me presenta el siguiente problema al tratar de imprimir un Comprobante de Diario:

Si al reporte lo quito todo lo referente a PrnSetSize(nAncho,nAlto) y PrinterSetup(oPrn), me da los resultados correctos como en la imagen cdiario1, pero al darle imprimir, la bendita impresora no imprime y en su tablero muestra mensaje de "Tamaño de papel no disponible".

Pero si quiero usar PrinterSetup(oprn) o PrnSetSize(), me presenta el reporte erroneamente como se aprecia en la imagen cdiario2.

Que me falta?
Lo raro es que si uso TPrinter funciona bien, pero uso TReport por su facilidad.

https://dc738.4shared.com/img/Eek_QEoSb ... 8/cdiario1
https://dc775.4shared.com/img/dwCx3EuVb ... 0/Cdiario2

Saludos.

Re: Extraño con TReport

PostPosted: Thu Feb 23, 2017 6:23 pm
by karinha

Re: Extraño con TReport

PostPosted: Thu Feb 23, 2017 7:18 pm
by FranciscoA
Karinha.
Gracias por contestar.
Ya he revisado mi codigo muchas veces y no veo error alguno.

En vista de que este reporte se puede crear desde varios puntos del programa, voy a revisar la labla temporal creada desde cada uno de ellos a ver si encuentro discrepacias.

Gracias nuevamente.

Re: Extraño con TReport

PostPosted: Thu Feb 23, 2017 9:05 pm
by FranciscoA
FranciscoA wrote:En vista de que este reporte se puede crear desde varios puntos del programa, voy a revisar la labla temporal creada desde cada uno de ellos a ver si encuentro discrepacias.


Sin resultados.
Alguna idea de por qué TReport no hace el ON CHANGE, si uso PrinterSetup(oPrn)?

Re: Extraño con TReport

PostPosted: Thu Feb 23, 2017 9:10 pm
by FranciscoA
Este es el codigo que utilizo:
Code: Select all  Expand view

     PrnPortrait()   //vertical
     PrnSetSize(nAncho,nAlto)  //2159,2790 tam carta     //si omito estos trabaja bien, pero la bendita impresora "dice" que tam papel no disponible.
     PrinterSetup(oPrn)  
 
     DEFINE FONT oFont1 NAME "ARIAL" SIZE 0,-09
     DEFINE FONT oFont2 NAME "ARIAL" SIZE 0,-10 BOLD
     DEFINE FONT oFont3 NAME "ARIAL" SIZE 0,-12 BOLD           //ITALIC

     DEFINE PEN oPen1 WIDTH 1           //grid 1   (espesor lineas marco)
     DEFINE PEN oPen2 WIDTH 1           //grid 2


   DBSELECTAREA(CDIARIO)
   DBGOTOP()

     REPORT oReport ;
          TITLE;
              " ",;
              EMPRESA,;
              MEMBRE,;
              cModificado,;  //control por si fue modificado
              cComprob,;
              if(!empty(nDocActual),"No. "+cNumero,) ,;
              "FECHA: "+fechadordia(dFecha)," ",;
              aConcepto[1],;
              aConcepto[2],;
              aConcepto[3],;
              aConcepto[4],;
              " ";
          FONT   oFont1,;
                 oFont2,;
                 oFont3 ;
          PEN    oPen1,;
                 oPen2 ;
          HEADER dtoc(date())+"  "+time(), OemtoAnsi("Pag: ")+str(oReport:nPage,3) RIGHT ;
          FOOTER "Elaborado:____________________"+SPACE(10)+"Revisado:____________________"+SPACE(10)+"Autorizado:____________________"," "," ",;
                 dtoc(dFecha) CENTERED ;
          CAPTION "C:\Comprob" ;
          PREVIEW
     COLUMN TITLE CentTitCol("CTA",16) ;
          DATA (CDIARIO)->cuenta+" "+(CDIARIO)->scuenta+" "+(CDIARIO)->sscuenta+" "+(CDIARIO)->ssscuenta+" "+(CDIARIO)->sssscuenta ;
          FONT IF((CDIARIO)->NV <> "S",2,1);  // FONT IF((CDIARIO)->DEF = "M",2,1);
          SIZE 14;
          GRID 1

     COLUMN TITLE CentTitCol("NOMBRE DE LA CUENTA",43) ;   //"            NOMBRE DE LA CUENTA" ;
          DATA (CDIARIO)->NOMBRE ;
          FONT IF((CDIARIO)->NV <> "S",2,1);  // FONT IF((CDIARIO)->DEF = "M",2,1);
          SIZE 37;
          GRID 1

     COLUMN TITLE "DEBITOS  " ;
          DATA (CDIARIO)->MOVDEBE ;
          FONT IF((CDIARIO)->NV <> "S",2,1);  // FONT IF((CDIARIO)->DEF = "M",2,1);
          PICTURE "@Z 999,999,999.99" ;
          SIZE 12 ;
          TOTAL FOR (CDIARIO)->nv ="S" ;
          GRID 1

     COLUMN TITLE "CREDITOS  " ;
          DATA (CDIARIO)->MOVHABER ;
          FONT IF((CDIARIO)->NV <> "S",2,1);  // FONT IF((CDIARIO)->DEF = "M",2,1);
          PICTURE "@Z 999,999,999.99" ;
          SIZE 12 ;
          TOTAL FOR (CDIARIO)->nv ="S" ;
          GRID 1

     END REPORT

     IF oReport:lCreated
        oReport:lBoxOnTotal:=.t.

        //Bold para lineas 2,3,5,6 del titulo
          oReport:oTitle:aFont[2] := {|| 3 }
          oReport:oTitle:aFont[3] := {|| 3 }
          oReport:oTitle:aFont[5] := {|| 2 }
          oReport:oTitle:aFont[6] := {|| 2 }

          oReport:oTitle:aPad[4] := PAD_LEFT  //linea de cModificado a la izq

        //linea sencilla p/ titulos\columnas y totales (p/defecto es doble)
          oReport:nTitleUpLine := RPT_SINGLELINE
          oReport:nTitleDnLine := RPT_SINGLELINE
          oReport:nTotalLine   := RPT_SINGLELINE

        //Descriptores del Total
          oReport:cGrandTotal := "***  TOTALES   ***"
          oReport:cPageTotal := "Sub-Totales..."

     ENDIF

     ACTIVATE REPORT oReport ;
              ON STARTPAGE IconsEmp(oReport,"IcoEmpre.BMP")

  // Cierra y elimina
     oFont1:End()
     oFont2:End()
     oFont3:End()
     oPen1:End()
     oPen2:End()

  (CDIARIO)->(DBCLOSEAREA())
  DBSELECTAREA(cOLDSELE)

RETURN NIL
 

Re: Extraño con TReport

PostPosted: Fri Feb 24, 2017 7:24 pm
by FranciscoA
Saludos a todos.
Bueno... me quedo con la TPRINTER, funcionando como se esperaba.

Re: Extraño con TReport

PostPosted: Fri Feb 24, 2017 8:31 pm
by artu01
Francisco
pasate a fastreport... yo estoy en ese proceso

Re: Extraño con TReport

PostPosted: Fri Feb 24, 2017 10:43 pm
by FranciscoA
artu01 wrote:Francisco
pasate a fastreport... yo estoy en ese proceso

Gracias artu01. Lo tendré en cuenta para futuros proyectos.
Saludos.