Clipper On Line • Ver Tópico - Impressão salta uma pagina do relatorio

Impressão salta uma pagina do relatorio

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

 

Impressão salta uma pagina do relatorio

Mensagempor Daiane » 09 Nov 2015 15:34

Olá pessoal,estou tendo problemas no relatório,acontece que na hora de imprimir para empresa diferente salta uma pagina sendo que não dei nenhum comando para isso,alguma ideia do q pode ser?
e o mais estranho é q na hora de visualizar não salta essa pagina,so na hora de imprimir msm

estou usando:
#include "FiveWin.ch"
#include "relatorio.ch"
#define TAM_PAG 55
XHb 1.2.1 + FW 12.05 + Pelles C IDE
"Eu adoraria mudar o mundo, mas não me deram o código-fonte."
Avatar de usuário

Daiane
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 122
Data de registro: 28 Out 2014 15:19
Cidade/Estado: Feira de Santana - BA
Curtiu: 27 vezes
Mens.Curtidas: 13 vezes

Impressão salta uma pagina do relatorio

Mensagempor Kapiaba » 09 Nov 2015 16:37

Mostre como está fazendo. experimente desligar a Page com EndPage() e criar novamente.
Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Impressão salta uma pagina do relatorio

Mensagempor Daiane » 10 Nov 2015 09:45

Na verdade eu ja faço isso,no final do relatorio coloco o EndPage
e a cada final de pagina,quando chega a 55 linhas eu dou um EndPage e depois um StartPage

Ta ai uns trechos do fonte,não coloquei todo pq é enorme

METHOD Build() class ImpFolha13Adiant
   
   REST FROM &(::bancos:arqParam) ADDI
   
   ::nPag := 0
   
   ::state := .T. 
   
   ::folha:XMES := KWMES
   ::folha:XDTI := KWDATINI
   ::folha:XDTF := KWDATFIM
   
   GO TOP
   ::StartPage()
   ::BuildRel()
   ::EndPage()
   
   IF(::state)
      MsgAlert("Não há registros para este Relatório.", "FOLHA DE ADIANTAMENTO")
      RETURN .F.
   ELSE
      return .T.
   ENDIF

METHOD BuildRel() class ImpFolha13Adiant
   local subdir, n, vxY
   
   REST FROM &(::bancos:arqParam) ADDI
   
   ::folha:XMES := KWMES
   ::folha:XDTI := KWDATINI
   ::folha:XDTF := KWDATFIM
   
   ::folha:xultdatas := ULTIMODIA( "/"+STRZERO(val(::folha:xmpavos),2)+RIGHT(DTOC(KWDATFIM),5)  )
   ::vper      := DTOC(::folha:XDTI)+" a "+DTOC(::folha:XDTF)
   
   ::VAI := "S"
   
   ::xtpfol := IF(::vtipofol=1, "8", if(::vtipofol=2, "6", "7"))
   
   subdir := ::bancos:getSubDir()
   
   ::Xdentrotot := .f.
   DO WHILE !EOF() .AND. ::VAI = "S"
      
      ::NPAG := 0
      ::VAI := IF( ::XIG = "S", ::VAI, "N" )
      IF ::XIG = "S"
         IF SN#"S" ...
              ::Write(::lin, 3, ::pc[n]+"  "+LEFT(4->descricao,20)+if( ::PC[N]="000".AND.::XIMPH="N" , "", IF(::pq[n]>0," ("+STR(::pq[n],6,2)+")"," " ) ), .F., .T.)
                  ::Write(::LIN, 39, cValtoStr(::pv[n], "@E 99,999.99"))
             End
        End

       IF ::LIN >= TAM_PAG
            ::LIN := 99
            ::CABEC02()
      ENDIF

      skip
      EndDo

METHOD CABEC02() class ImpFolha13Adiant
   IF ::LIN >= TAM_PAG + 3 //58
      IF ::state
         ::state := .F.
         ::Write(1, 1, ::pdrimp+REPLICATE("=",96), .T., .T.)
      ELSE
         ::EndPage()
         ::StartPage()
         ::Write(1, 1, REPLICATE("=",96))
      ENDIF
      ::nPAG++
      
      ::Write(2, 1, ::xnomefol+SPACE(5))
      
      IF ::XNEGRITO = "S"
         ::setFont(::oFont2)
      ENDIF
      ::Write(2, 6+LEN(::xnomefol), compete())
      ::setFont(::oFont1)
         
      ::Write(2, 81, "DATA: "+DTOC(DATE()))
      
      IF ::XNEGRITO = "S"
         ::setFont(::oFont2)
      ENDIF
      ::Write(3, 1, ::EMPRESA, .F., .T.)
      ::setFont(::oFont1)
      
      ::Write(3, 82, "FOLHA:      "+STRZERO(::NPAG,3))
      ::Write(4, 1, TRANCGC(13->CGC,13->CGCEI)+"  -  "+alltrim(::VCID)+" - "+::VESTAD, .F., .T.)
      ::LIN := 4
      IF ::XIMPRESUMO="N"
         IF ::XTCC="S"
            if ::Xdentrotot
               *if 1->CCUSTO+1->CCUSTO1 <> xccant
               3->( DBSEEK( ::xccant ) )
                 IF ::XNEGRITO = "S"
                  ::setFont(::oFont2)
               ENDIF
               ::Write(::LIN+=1, 1, "Centro de Custo: "+LEFT(::XCCANT,3)+"."+RIGHT(::XCCANT,3)+" - "+3->DESCRICAO, .F., .T.)
               ::setFont(::oFont1)
            else   
               3->( DBSEEK( 1->CCUSTO+1->CCUSTO1 ) )
               IF ::XNEGRITO = "S"
                  ::setFont(::oFont2)
               ENDIF
               ::Write(::LIN+=1, 1, "Centro de Custo: "+1->CCUSTO+"."+1->CCUSTO1+" - "+ 3->DESCRICAO, .F., .T.)
               ::setFont(::oFont1)
            endif   
         ENDIF
      ENDIF
      ::Write(::LIN+=1, 1, REPLICATE("=",96))
      ::Write(::LIN+=1, 11, "P R O V E N T O S")
      ::Write(::LIN   , 49, "|")
      ::Write(::LIN   , 61, "D E S C O N T O S")
      ::Write(::LIN+=1, 1 , REPLICATE("=",96))
      ::LIN++
   ENDIF
RETURN

XHb 1.2.1 + FW 12.05 + Pelles C IDE
"Eu adoraria mudar o mundo, mas não me deram o código-fonte."
Avatar de usuário

Daiane
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 122
Data de registro: 28 Out 2014 15:19
Cidade/Estado: Feira de Santana - BA
Curtiu: 27 vezes
Mens.Curtidas: 13 vezes

Impressão salta uma pagina do relatorio

Mensagempor Kapiaba » 10 Nov 2015 10:04

   DO WHILE !EOF() .AND. ::VAI = "S"
 
      ::NPAG := 0
      ::VAI := IF( ::XIG = "S", ::VAI, "N" )

      IF ::XIG = "S"
         IF SN#"S" ...
            ::Write(::lin, 3, ::pc[n]+" "+LEFT(4->descricao,20)+if( ::PC[N]="000".AND.::XIMPH="N" , "", IF(::pq[n]>0," ("+STR(::pq[n],6,2)+")"," " ) ), .F., .T.)
            ::Write(::LIN, 39, cValtoStr(::pv[n], "@E 99,999.99"))
         Endif
      Endif

      // PARE O PROGRAMA AQUI E VEJA SE NAO E NECESSARIO DESLIGAR E LIGAR A PAGINA
      IF ::LIN >= TAM_PAG
         ::LIN := 99
         ::CABEC02()
      ENDIF

      skip

   EndDo


   IF ::LIN >= TAM_PAG + 3 //58  // DIMINUA PARA 55 LINHAS, FORMATO A-4

      IF ::state

          // PARE O PROGRAMA AQUI E VEJA SE NAO E NECESSARIO DESLIGAR E LIGAR A PAGINA
         ::state := .F.
         ::Write(1, 1, ::pdrimp+REPLICATE("=",96), .T., .T.)

         ELSE  // IGUAL AQUI

         ::EndPage()
         ::StartPage()
         ::Write(1, 1, REPLICATE("=",96))

      ENDIF
   ..


Abs

Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Impressão salta uma pagina do relatorio

Mensagempor Kapiaba » 10 Nov 2015 10:19

Veja se ajuda:

FUNCTION IMPRIMECOT( DeOndeVem, lAppend,  DbEstoque, DbCotacao,  ;
                                          DbFornece, DbClientes, ;
                                          oLbxCota )

    LOCAL cAlias, oImagem, gcFile
    LOCAL ResColuna, ResLinha
    LOCAL oPrn,        oFont,       oFontLogo,   oFontDivi,   oFontList,     ;
          oFontCurs,   oPen1,       oPen2,       oPen3,       oFontSubl
    LOCAL nLinha, nColuna // Linha e coluna da Descicao
    LOCAL nDinheiro,    nCheque,     nChequePre,  nTickets,    nCartaoCred,;
          nCartaoDebi,  nContraVale, nPagina,     nTotalGeral, xDataLista
    LOCAL nSomaGeral, nTotGeral

    PUBLIC XNOMEEMP, XENDDIR, XCIDDIR, XBAIDIR, XTELDIR, XEMAILEMP, XSITEEMP
    PUBLIC XNOMEOPERAD

    XDATALISTA  := ALLTRIM(XCIDDIR)+ ", "        + ;
                   LTRIM( STR( DAY( DATE() ) ) ) + ;
                   " de "                        + ;
                   OemToAnsi(CMONTH( DATE() ))   + ;
                   " de "                        + ;
                   STR( YEAR( DATE() ) )         + ;
                   "."

    nTotGeral := 0

    SELECT( DbCotacao:cAlias )
    GO TOP

    cAlias := ALIAS()  // DbPedidos

    WHILE( .NOT. EOF() )

       SYSREFRESH()

       CURSORWAIT()

       nSomaGeral := ( ( cAlias )->VALOR_UNIT ) * ( ( cAlias )->QUANTIDADE )

       nTotGeral := nTotGeral + nSomaGeral

       SKIP

    ENDDO

    GO TOP

    IF DeOndeVem = [FORNECEDOR]

       SELECT( DbFornece:cAlias )
       SET ORDER TO 01
       GO TOP

       SEEK VAL( ( cAlias )->CODFORNE )

       IF FOUND()
          lImprimeForn := .T.
       ELSE
          lImprimeForn := .F.
       ENDIF

       SELECT( DbCotacao:cAlias )
       GO TOP

    ELSE // Clientes

       SELECT( DbClientes:cAlias )
       SET ORDER TO 01
       GO TOP

       SEEK VAL( ( cAlias )->CODFORNE )

       SELECT( DbCotacao:cAlias )
       GO TOP

    ENDIF

    //-> Mostra o Relatorio... Preview da Cotacao

    PRINT oPrn NAME "Fluxo do Caixa Discriminado" PREVIEW MODAL

        IF EMPTY( oPrn:hDC )
           RETURN NIL          // Printer was not installed or ready
        ENDIF

        DEFINE FONT oFont     NAME "Courier New" SIZE 0, -8 OF oPrn
        DEFINE FONT oFontDivi NAME "Courier New" SIZE 0, -12 BOLD OF oPrn
        DEFINE FONT oFontCurs NAME "Courier New" SIZE 0, -14 BOLD OF oPrn
        DEFINE FONT oFontSubl NAME "Courier New" SIZE 0, -16 BOLD UnderLine OF oPrn

        //-> Problemas com o Windows XP - Formato da FONTE Nao Reconhecido
        IF IsWinNT() .OR. IsWin2000()  // Para Windows XP/NT e 2000 / 2003
           DEFINE FONT oFontLogo NAME "Courier New" SIZE 0, -16 BOLD OF oPrn
           DEFINE FONT oFontList NAME "Courier New" SIZE 0, -20 BOLD OF oPrn
        ELSE //-> 95/98/ME
           DEFINE FONT oFontLogo NAME "Courier New" SIZE 0, -20 BOLD OF oPrn
           DEFINE FONT oFontList NAME "Courier New" SIZE 0, -22 BOLD OF oPrn
        ENDIF

        //-> Caneta do Preview
        DEFINE PEN oPen1 WIDTH 4 COLOR CLR_BROWN OF oPrn
        DEFINE PEN oPen2 WIDTH 2 COLOR CLR_BROWN OF oPrn
        DEFINE PEN oPen3 WIDTH 5 COLOR CLR_BLACK OF oPrn

        oPrn:SetPage(9)     //-> A4 //9
        oPrn:SetPortrait()  //-> Vertical(Retrato)
        //oPrn:SetLandscape() //-> Horizontal

        //- Como Imprimir em Centimetros sem errar e em qualquer Impressora
        ResLinha  := oPrn:nVertRes()   /   40
        ResLinha  := oPrn:nLogPixely() / 2.54
        ResColuna := oPrn:nLogPixelx() / 2.54

        nPagina := 1

     IF DeOndeVem = [FORNECEDOR]      // Impressao dos Fornecedores

        PAGE

            // Fornecedores
            // oPrn:SayImage( 0, 0, oImagem )
            // oPrn:SayBitmap( 0, 0, "c:\fwh..\bitmaps\fivewin.bmp" )

            nLinha  :=  0.50
            nColuna := 08.50

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                      ALLTRIM(XNOMEEMP), oFontDivi,, CLR_BLACK,, PAD_CENTER )

            nLinha  += 0.50
            nColuna := 08.05

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                      ALLTRIM(XENDDIR), oFont,, CLR_BLACK,, PAD_CENTER )

            nLinha  += 0.30
            nColuna := 08.50

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                      ALLTRIM(XBAIDIR) +" - "+ ALLTRIM(XCIDDIR),      ;
                      oFont,, CLR_BLACK,, PAD_CENTER )

            // XTELDIR
            nLinha  += 0.30
            nColuna := 09.50

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                      ALLTRIM(XTELDIR), oFont,, CLR_BLACK,, PAD_CENTER )

            // XEMAILEMP
            nLinha  += 0.30
            nColuna := 08.50

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                      ALLTRIM(XEMAILEMP), oFont,, CLR_BLACK,, PAD_CENTER )

            // XSITEEMP
            nLinha  += 0.30
            nColuna := 08.75

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                      ALLTRIM(XSITEEMP), oFont,, CLR_BLACK,, PAD_CENTER )

            nLinha  += 0.30
            nColuna := 1.00

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                      REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

            // Se tiver Fornecedor no banco das COTACOES, mostrara
            IF lImprimeForn

               nLinha  += 0.30
               nColuna := 1.00

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,             ;
                         OemToAnsi( "Fornecedor: " )  +                      ;
                         ALLTRIM( ( DbFornece:cAlias )->RAZAO     ) +        ;
                         OemToAnsi( " - C¢digo: " ) +                        ;
                         ALLTRIM( ( DbFornece:cAlias )->MATRICULA  ), oFont,,;
                         CLR_BLACK,, PAD_LEFT )

               nLinha  += 0.30
               nColuna := 1.00

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,             ;
                         OemToAnsi( "Endere‡o..: " )  +                      ;
                         ALLTRIM( ( DbFornece:cAlias )->END ) +              ;
                         OemToAnsi( " - Bairro: " ) +                        ;
                         ALLTRIM( ( DbFornece:cAlias )->BAI        ), oFont,,;
                         CLR_BLACK,, PAD_LEFT )

               nLinha  += 0.30
               nColuna := 1.00

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,             ;
                         OemToAnsi( "Cidade....: " )  +                      ;
                         ALLTRIM( ( DbFornece:cAlias )->CID       ) +        ;
                         OemToAnsi( " - Cep: " ) +                           ;
                         ALLTRIM( ( DbFornece:cAlias )->CEP ),               ;
                         oFont,, CLR_BLACK,, PAD_LEFT )

               nColuna := 12.50
               //XNOMEOPERAD
               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,             ;
                         OemToAnsi( "Comprador: " )  + ALLTRIM(XNOMEOPERAD), ;
                         oFont,, CLR_BLACK,, PAD_LEFT )

               nLinha  += 0.30
               nColuna := 1.00

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,             ;
                         OemToAnsi( "A/C: " )  +                             ;
                         ALLTRIM( ( DbFornece:cAlias )->VEN       ) +        ;
                         OemToAnsi( " - Fone: " ) +                          ;
                         ALLTRIM( ( DbFornece:cAlias )->TEL+" - "+           ;
                         ( DbFornece:cAlias )->TEL2+" - "+                   ;
                         ( DbFornece:cAlias )->TEL3  ), oFont,, CLR_BLACK,, PAD_LEFT )

               nLinha  += 0.30
               nColuna := 1.00

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,             ;
                         REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

            ENDIF

            nLinha  += 0.50
            nColuna := 1.00

            //-> Data de Hoje
            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                      OemToAnsi( "Data: " + DTOC( DATE() ) ), oFont,, ;
                      CLR_BLACK,, PAD_LEFT )

            nColuna := 10.00

            //-> Cabe‡alho
            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,        ;
                      "COTAÇÃO Nº "+ STRZERO( ( cAlias )->COTACAO ), ;
                      oFontDivi,, CLR_BLACK,, PAD_CENTER )

            nColuna := 17.50

            //-> Pagina
            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                      OemToAnsi( "P gina: " + STRZERO( nPagina ) ), oFont,, ;
                      CLR_BLACK,, PAD_CENTER )

            nLinha  += 0.50
            nColuna := 1.00

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                      REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

            nLinha += 0.30  //-> Pula a Linha

            //-> Cabecalho
            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,   ;
                      OemToAnsi( "QUANT. "      + SPACE(07) +   ;
                                 "UNID. "       + SPACE(05) +   ;
                                 "CàDIGO "      + SPACE(14) +   ;
                                 "DESCRIۂO "   + SPACE(16) +   ;
                                 "PRE€O INIT. " + SPACE(12) +   ;
                                 "TOTAL ÖTEM " ), oFont,,       ;
                                 CLR_BLACK,, PAD_LEFT )

            nLinha += 0.30  //-> Pula a Linha

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                      REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

            nLinha += 0.30

            //-> Vou imprimir os produtos
            WHILE ( .NOT. EOF() )

                SYSREFRESH()

                IF EOF()
                   EXIT
                ENDIF

                IF nLinha >= 27   // Nova Pagina = 54 Linhas

                   ENDPAGE // Fecho a Pagina Anterior, Para Nao Quebrar o Metafile
                   PAGE    // Nova Pagina - Abro uma nova pagina

                   nPagina := nPagina + 1

                   // aqui cabecalho
                   // Fornecedores
                   // oPrn:SayImage( 0, 0, oImagem )
                   // oPrn:SayBitmap( 0, 0, "c:\fwh..\bitmaps\fivewin.bmp" )

                   nLinha  :=  0.50
                   nColuna := 08.50

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                             ALLTRIM(XNOMEEMP), oFontDivi,, CLR_BLACK,, PAD_CENTER )

                   nLinha  += 0.50
                   nColuna := 08.05

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                             ALLTRIM(XENDDIR), oFont,, CLR_BLACK,, PAD_CENTER )

                   nLinha  += 0.30
                   nColuna := 08.50

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                             ALLTRIM(XBAIDIR) +" - "+ ALLTRIM(XCIDDIR),      ;
                             oFont,, CLR_BLACK,, PAD_CENTER )

                   // XTELDIR
                   nLinha  += 0.30
                   nColuna := 09.50

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                             ALLTRIM(XTELDIR), oFont,, CLR_BLACK,, PAD_CENTER )

                   // XEMAILEMP
                   nLinha  += 0.30
                   nColuna := 08.50

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                             ALLTRIM(XEMAILEMP), oFont,, CLR_BLACK,, PAD_CENTER )

                   // XSITEEMP
                   nLinha  += 0.30
                   nColuna := 08.75

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                             ALLTRIM(XSITEEMP), oFont,, CLR_BLACK,, PAD_CENTER )

                   nLinha  += 0.30
                   nColuna := 1.00

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                             REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

                   // Se tiver Fornecedor no banco das COTACOES, mostrara
                   IF lImprimeForn

                      nLinha  += 0.30
                      nColuna := 1.00

                      oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,      ;
                                OemToAnsi( "Fornecedor: " )  +               ;
                                ALLTRIM( ( DbFornece:cAlias )->RAZAO     ) + ;
                                OemToAnsi( " - C¢digo: " ) +                 ;
                                ALLTRIM( ( DbFornece:cAlias )->MATRICULA  ), oFont,,;
                                CLR_BLACK,, PAD_LEFT )

                      nLinha  += 0.30
                      nColuna := 1.00

                      oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,      ;
                                OemToAnsi( "Endere‡o..: " )  +               ;
                                ALLTRIM( ( DbFornece:cAlias )->END ) +       ;
                                OemToAnsi( " - Bairro: " ) +                 ;
                                ALLTRIM( ( DbFornece:cAlias )->BAI        ), oFont,,;
                                CLR_BLACK,, PAD_LEFT )

                      nLinha  += 0.30
                      nColuna := 1.00

                      oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,      ;
                                OemToAnsi( "Cidade....: " )  +               ;
                                ALLTRIM( ( DbFornece:cAlias )->CID       ) + ;
                                OemToAnsi( " - Cep: " ) +                    ;
                                ALLTRIM( ( DbFornece:cAlias )->CEP ),        ;
                                oFont,, CLR_BLACK,, PAD_LEFT )

                      nColuna := 12.50
                      //XNOMEOPERAD
                      oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,      ;
                                OemToAnsi( "Comprador: " )  +                ;
                                ALLTRIM(XNOMEOPERAD),                        ;
                                oFont,, CLR_BLACK,, PAD_LEFT )

                      nLinha  += 0.30
                      nColuna := 1.00

                      oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,      ;
                                OemToAnsi( "A/C: " )  +                      ;
                                ALLTRIM( ( DbFornece:cAlias )->VEN       ) + ;
                                OemToAnsi( " - Fone: " ) +                   ;
                                ALLTRIM( ( DbFornece:cAlias )->TEL+" - "+    ;
                                ( DbFornece:cAlias )->TEL2+" - "+            ;
                                ( DbFornece:cAlias )->TEL3  ), oFont,, CLR_BLACK,, PAD_LEFT )

                      nLinha  += 0.30
                      nColuna := 1.00

                      oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,      ;
                                REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

                   ENDIF

                   nLinha  += 0.50
                   nColuna := 1.00

                   //-> Data de Hoje
                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                             OemToAnsi( "Data: " + DTOC( DATE() ) ), oFont,, ;
                             CLR_BLACK,, PAD_LEFT )

                   nColuna := 10.00

                   //-> Cabe‡alho
                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,        ;
                             "COTAÇÃO Nº "+ STRZERO( ( cAlias )->COTACAO ), ;
                             oFontDivi,, CLR_BLACK,, PAD_CENTER )

                   nColuna := 17.50

                   //-> Pagina
                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                             OemToAnsi( "P gina: " + STRZERO( nPagina ) ), oFont,, ;
                             CLR_BLACK,, PAD_CENTER )

                   nLinha  += 0.50
                   nColuna := 1.00

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                             REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

                   nLinha += 0.30  //-> Pula a Linha

                   //-> Cabecalho
                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,   ;
                             OemToAnsi( "QUANT. "      + SPACE(07) +   ;
                                        "UNID. "       + SPACE(05) +   ;
                                        "CàDIGO "      + SPACE(14) +   ;
                                        "DESCRIۂO "   + SPACE(16) +   ;
                                        "PRE€O INIT. " + SPACE(12) +   ;
                                        "TOTAL ÖTEM " ), oFont,,       ;
                                        CLR_BLACK,, PAD_LEFT )

                   nLinha += 0.30  //-> Pula a Linha

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                             REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

                   nLinha += 0.30

                ENDIF

                nColuna := 2.75

                oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                        TRANSF( ( cAlias )->QUANTIDADE, "9999999999.999" ), ;
                        oFont,, CLR_BLACK,, PAD_RIGHT )

                nColuna := 3.25

                oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                        ( cAlias )->UNIDADE, oFont,, CLR_BLACK,, PAD_LEFT )

                nColuna := 4.75

                oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                        ( cAlias )->CODIGO, oFont,, CLR_BLACK,, PAD_LEFT )

                nColuna := 7.25

                //-> Nome do Produto
                oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,     ;
                          SUBSTR(( cAlias )->DESCRICAO,1,30), oFont,, ;
                          CLR_BLACK,, PAD_LEFT )

                nColuna := 1.00
                nLinha += 0.30  //-> Pula a Linha

                oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                          REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

                SKIP  // Proximo Produto

                nLinha += 0.50  //-> Pula a Linha Para o Proximo Produto

            ENDDO

        ENDPAGE

     ELSE // Impressao Clientes

        PAGE

            //oPrn:SayImage( 0, 0, oImagem )
            //oPrn:SayBitmap( 0, 0, "c:\fwh1101\bitmaps\fivewin.bmp" )

            nLinha  :=  0.50
            nColuna := 10.00

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                      ALLTRIM(XNOMEEMP), oFontDivi,, CLR_BLACK,, PAD_CENTER )

            nLinha  += 0.50
            nColuna := 08.05

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                      ALLTRIM(XENDDIR), oFont,, CLR_BLACK,, PAD_CENTER )

            nLinha  += 0.30
            nColuna := 08.50

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                      ALLTRIM(XBAIDIR) +" - "+ ALLTRIM(XCIDDIR),      ;
                      oFont,, CLR_BLACK,, PAD_CENTER )

            // XTELDIR
            nLinha  += 0.30
            nColuna := 09.50

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                      ALLTRIM(XTELDIR), oFont,, CLR_BLACK,, PAD_CENTER )

            // XEMAILEMP
            nLinha  += 0.30
            nColuna := 08.50

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                      ALLTRIM(XEMAILEMP), oFont,, CLR_BLACK,, PAD_CENTER )

            // XSITEEMP
            nLinha  += 0.30
            nColuna := 08.75

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                      ALLTRIM(XSITEEMP), oFont,, CLR_BLACK,, PAD_CENTER )

            nLinha  += 0.30
            nColuna := 1.00

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                      REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

            nLinha  += 0.30
            nColuna := 1.00

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                      OemToAnsi( "Cliente.: " )  +                          ;
                      ALLTRIM( ( DbClientes:cAlias )->DEST_NOME ) +         ;
                      OemToAnsi( " - C¢digo: " ) +                          ;
                      ALLTRIM( ( DbClientes:cAlias )->RAZ_MATRIC ), oFont,, ;
                      CLR_BLACK,, PAD_LEFT )

            nLinha  += 0.30
            nColuna := 1.00

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                      OemToAnsi( "Endere‡o: " )  +                          ;
                      ALLTRIM( ( DbClientes:cAlias )->END+", "+             ;
                      ALLTRIM( ( DbClientes:cAlias )->NUMERO )+" "+         ;
                      ALLTRIM( ( DbClientes:cAlias )->COMPLEMENT ) ) +      ;
                      OemToAnsi( " - Bairro: " ) +                          ;
                      ALLTRIM( ( DbClientes:cAlias )->BAI        ), oFont,, ;
                      CLR_BLACK,, PAD_LEFT )

            nLinha  += 0.30
            nColuna := 1.00

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                      OemToAnsi( "Cidade..: " )  +                          ;
                      ALLTRIM( ( DbClientes:cAlias )->CID       ) +         ;
                      OemToAnsi( " - Uf: " ) +                              ;
                      ALLTRIM( ( DbClientes:cAlias )->UF         ) +        ;
                      OemToAnsi( " - Cep: " ) +                             ;
                      ALLTRIM( ( DbClientes:cAlias )->CEP ),                ;
                      oFont,, CLR_BLACK,, PAD_LEFT )

            nColuna := 12.50

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                      OemToAnsi( "Vendedor: " )  + ALLTRIM(XNOMEOPERAD),    ;
                      oFont,, CLR_BLACK,, PAD_LEFT )

            //XNOMEOPERAD

            nLinha  += 0.30
            nColuna := 1.00

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                      OemToAnsi( "A/C: " )  +                               ;
                      ALLTRIM( ( DbClientes:cAlias )->CONTATO   ) +         ;
                      OemToAnsi( " - Fone: " ) +                            ;
                      ALLTRIM( ( DbClientes:cAlias )->TEL+" - "+            ;
                      ( DbClientes:cAlias )->TEL2+" - "+                    ;
                      ( DbClientes:cAlias )->TEL3  ), oFont,, CLR_BLACK,, PAD_LEFT )

            nLinha  += 0.30
            nColuna := 1.00

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                      REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

            nLinha  += 0.50
            nColuna := 1.00

            //-> Data de Hoje
            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                      OemToAnsi( "Data: " + DTOC( DATE() ) ), oFont,, ;
                      CLR_BLACK,, PAD_LEFT )

            nColuna := 10.00

            //-> Cabe‡alho
            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,        ;
                      "COTAÇÃO Nº "+ STRZERO( ( cAlias )->COTACAO ), ;
                      oFontDivi,, CLR_BLACK,, PAD_CENTER )

            nColuna := 17.50

            //-> Pagina
            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                      OemToAnsi( "P gina: " + STRZERO( nPagina ) ), oFont,, ;
                      CLR_BLACK,, PAD_CENTER )

            nLinha  += 0.50
            nColuna := 1.00

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                      REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

            nLinha += 0.30  //-> Pula a Linha

            //-> Cabecalho
            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,   ;
                      OemToAnsi( "QUANT. "      + SPACE(07) +   ;
                                 "UNID. "       + SPACE(05) +   ;
                                 "CàDIGO "      + SPACE(14) +   ;
                                 "DESCRIۂO "   + SPACE(16) +   ;
                                 "PRE€O INIT. " + SPACE(12) +   ;
                                 "TOTAL ÖTEM " ), oFont,,       ;
                                 CLR_BLACK,, PAD_LEFT )

            nLinha += 0.30  //-> Pula a Linha

            oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                      REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

            nLinha += 0.30

            //-> Vou imprimir os produtos
            WHILE ( .NOT. EOF() )

                SYSREFRESH()

                CURSORWAIT()

                IF EOF()
                   EXIT
                ENDIF

                IF nLinha >= 27   // Nova Pagina = 54 Linhas

                   ENDPAGE // Fecho a Pagina Anterior, Para Nao Quebrar o Metafile
                   PAGE    // Nova Pagina - Abro uma nova pagina

                   nPagina := nPagina + 1

                   // aqui cabecalho novo da proxima pagina

                   //oPrn:SayImage( 0, 0, oImagem )
                   //oPrn:SayBitmap( 0, 0, "c:\fwh1101\bitmaps\fivewin.bmp" )

                   nLinha  :=  0.50
                   nColuna := 10.00

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                             ALLTRIM(XNOMEEMP), oFontDivi,, CLR_BLACK,, PAD_CENTER )

                   nLinha  += 0.50
                   nColuna := 08.05

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                             ALLTRIM(XENDDIR), oFont,, CLR_BLACK,, PAD_CENTER )

                   nLinha  += 0.30
                   nColuna := 08.50

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                             ALLTRIM(XBAIDIR) +" - "+ ALLTRIM(XCIDDIR),      ;
                             oFont,, CLR_BLACK,, PAD_CENTER )

                   // XTELDIR
                   nLinha  += 0.30
                   nColuna := 09.50

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                             ALLTRIM(XTELDIR), oFont,, CLR_BLACK,, PAD_CENTER )

                   // XEMAILEMP
                   nLinha  += 0.30
                   nColuna := 08.50

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                             ALLTRIM(XEMAILEMP), oFont,, CLR_BLACK,, PAD_CENTER )

                   // XSITEEMP
                   nLinha  += 0.30
                   nColuna := 08.75

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                             ALLTRIM(XSITEEMP), oFont,, CLR_BLACK,, PAD_CENTER )

                   nLinha  += 0.30
                   nColuna := 1.00

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                             REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

                   nLinha  += 0.30
                   nColuna := 1.00

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                             OemToAnsi( "Cliente.: " )  +                          ;
                             ALLTRIM( ( DbClientes:cAlias )->DEST_NOME ) +         ;
                             OemToAnsi( " - C¢digo: " ) +                          ;
                             ALLTRIM( ( DbClientes:cAlias )->RAZ_MATRIC ), oFont,, ;
                             CLR_BLACK,, PAD_LEFT )

                   nLinha  += 0.30
                   nColuna := 1.00

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                             OemToAnsi( "Endere‡o: " )  +                          ;
                             ALLTRIM( ( DbClientes:cAlias )->END       ) +         ;
                             OemToAnsi( " - Bairro: " ) +                          ;
                             ALLTRIM( ( DbClientes:cAlias )->BAI        ), oFont,, ;
                             CLR_BLACK,, PAD_LEFT )

                   nLinha  += 0.30
                   nColuna := 1.00

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                             OemToAnsi( "Cidade..: " )  +                          ;
                             ALLTRIM( ( DbClientes:cAlias )->CID       ) +         ;
                             OemToAnsi( " - Uf: " ) +                              ;
                             ALLTRIM( ( DbClientes:cAlias )->UF         ) +        ;
                             OemToAnsi( " - Cep: " ) +                             ;
                             ALLTRIM( ( DbClientes:cAlias )->CEP        ), oFont,, ;
                             CLR_BLACK,, PAD_LEFT )

                   nColuna := 12.50

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                             OemToAnsi( "Vendedor: " )  + ALLTRIM(XNOMEOPERAD),    ;
                             oFont,, CLR_BLACK,, PAD_LEFT )

                   //XNOMEOPERAD

                   nLinha  += 0.30
                   nColuna := 1.00

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                             OemToAnsi( "A/C: " )  +                               ;
                             ALLTRIM( ( DbClientes:cAlias )->CONTATO   ) +         ;
                             OemToAnsi( " - Fone: " ) +                            ;
                             ALLTRIM( ( DbClientes:cAlias )->TEL+" - "+            ;
                             ( DbClientes:cAlias )->TEL2+" - "+                    ;
                             ( DbClientes:cAlias )->TEL3  ), oFont,, CLR_BLACK,, PAD_LEFT )

                   nLinha  += 0.30
                   nColuna := 1.00

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                             REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

                   nLinha  += 0.50
                   nColuna := 1.00

                   //-> Data de Hoje
                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                             OemToAnsi( "Data: " + DTOC( DATE() ) ), oFont,, ;
                             CLR_BLACK,, PAD_LEFT )

                   nColuna := 10.00

                   //-> Cabe‡alho
                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,        ;
                             "COTAÇÃO Nº "+ STRZERO( ( cAlias )->COTACAO ), ;
                             oFontDivi,, CLR_BLACK,, PAD_CENTER )

                   nColuna := 17.50

                   //-> Pagina
                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                             OemToAnsi( "P gina: " + STRZERO( nPagina ) ), oFont,, ;
                             CLR_BLACK,, PAD_CENTER )

                   nLinha  += 0.50
                   nColuna := 1.00

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                             REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

                   nLinha += 0.30  //-> Pula a Linha

                   //-> Cabecalho
                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,   ;
                             OemToAnsi( "QUANT. "      + SPACE(07) +   ;
                                        "UNID. "       + SPACE(05) +   ;
                                        "CàDIGO "      + SPACE(14) +   ;
                                        "DESCRIۂO "   + SPACE(16) +   ;
                                        "PRE€O UNIT. " + SPACE(12) +   ;
                                        "TOTAL ÖTEM " ), oFont,,       ;
                                        CLR_BLACK,, PAD_LEFT )

                   nLinha += 0.30  //-> Pula a Linha

                   oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                             REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

                   nLinha += 0.30

                ENDIF

                nColuna := 2.75

                oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,           ;
                        TRANSF( ( cAlias )->QUANTIDADE, "9999999999.999" ), ;
                        oFont,, CLR_BLACK,, PAD_RIGHT )

                nColuna := 3.25

                oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,           ;
                        ( cAlias )->UNIDADE, oFont,, CLR_BLACK,, PAD_LEFT )

                nColuna := 4.75

                oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,           ;
                        ( cAlias )->CODIGO, oFont,, CLR_BLACK,, PAD_LEFT )

                nColuna := 7.25

                //-> Nome do Produto
                oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,           ;
                          SUBSTR(( cAlias )->DESCRICAO,1,30), oFont,,       ;
                          CLR_BLACK,, PAD_LEFT )

                nColuna := 13.00

                oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,           ;
                          TRANSF((( cAlias )->VALOR_UNIT), "@E 999,999,999.99" ), ;
                          oFont,, CLR_BLACK,, PAD_LEFT )

                nColuna := 16.00

                oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,     ;
                          CALCULAR_TOTAL_ITEM( cAlias ), oFont,,      ;
                          CLR_BLACK,, PAD_LEFT )

                nColuna := 1.00
                nLinha += 0.30  //-> Pula a Linha

                oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                          REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

                SKIP  // Proximo Produto

                nLinha += 0.50  //-> Pula a Linha Para o Proximo Produto

            ENDDO

            GO TOP // Para Mostrar a Condicao de Pagamento e outros

            IF nLinha <= 27   // Nova Pagina = 54 Linhas

               nColuna := 14.50
               nLinha += 0.50

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         OemToAnsi( "TOTAL GERAL: " ), oFont,,                 ;
                         CLR_BLACK,, PAD_CENTER )

               nColuna := 16.00

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         TRANSF( nTotGeral, "@E 999,999,999,999.99" ), oFont,, ;
                         CLR_BLACK,, PAD_LEFT )

               nColuna := 1.00
               nLinha += 0.50  //-> Pula a Linha

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                         REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

               IF nLinha > 26

                  ENDPAGE
                  PAGE

                  nPagina := nPagina + 1

                  nColuna := 1.00
                  nLinha  := 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                            REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

                  nLinha  += 0.50
                  nColuna := 1.00

                  //-> Data de Hoje
                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                            OemToAnsi( "Data: " + DTOC( DATE() ) ), oFont,, ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 10.00

                  //-> Cabe‡alho
                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,        ;
                            "COTAÇÃO Nº "+ STRZERO( ( cAlias )->COTACAO ), ;
                            oFontDivi,, CLR_BLACK,, PAD_CENTER )

                  nColuna := 17.50

                  //-> Pagina
                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            OemToAnsi( "P gina: " + STRZERO( nPagina ) ), oFont,, ;
                            CLR_BLACK,, PAD_CENTER )

                  nLinha  += 0.50
                  nColuna := 1.00

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                            REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

                  nColuna := 1.00
                  nLinha  += 0.50  //-> Pula a Linha

               ELSE

                  nColuna := 1.00
                  nLinha  += 0.50  //-> Pula a Linha

               ENDIF

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         OemToAnsi( "Condi‡äes.......: " +                     ;
                         ALLTRIM( ( cAlias )->COND_PAGTO ) ), oFont,,          ;
                         CLR_BLACK,, PAD_LEFT )

               nColuna := 1.00
               nLinha += 0.50  //-> Pula a Linha

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         OemToAnsi( "Prazo de Entrega: " +                     ;
                         ALLTRIM( ( cAlias )->PRAZO_PGTO ) ), oFont,,          ;
                         CLR_BLACK,, PAD_LEFT )

               nColuna := 1.00
               nLinha += 0.50  //-> Pula a Linha

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         OemToAnsi( "Validade........: " +                     ;
                         ALLTRIM( ( cAlias )->VALIDADE ) ), oFont,,            ;
                         CLR_BLACK,, PAD_LEFT )

               nColuna := 12.50

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         REPLICATE("-",040), oFont,, CLR_BLACK,, PAD_LEFT )

               nColuna := 19.25
               nLinha  +=  0.30

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         ALLTRIM(XNOMEEMP), oFont,, CLR_BLACK,, PAD_RIGHT )

               nColuna := 1.00
               nLinha  += 0.70  //-> Pula a Linha

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

               IF .NOT. EMPTY( ( cAlias )->OBS1 )

                  nColuna := 1.00
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            OemToAnsi( "Obs.: " ), oFont,,                        ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS1 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS2 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS3 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS4 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS5 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS6 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS7 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS8 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

               ENDIF

            ELSE // se nao couber na pagina

               nColuna := 14.50
               nLinha += 0.50

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         OemToAnsi( "TOTAL GERAL: " ), oFont,,                 ;
                         CLR_BLACK,, PAD_CENTER )

               nColuna := 16.00

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         TRANSF( nTotGeral, "@E 999,999,999,999.99" ), oFont,, ;
                         CLR_BLACK,, PAD_LEFT )

               nColuna := 1.00
               nLinha += 0.50  //-> Pula a Linha

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                         REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

               IF nLinha >= 27

                  ENDPAGE
                  PAGE

                  nPagina := nPagina + 1

                  nColuna := 1.00
                  nLinha  := 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                            REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

                  nLinha  += 0.50
                  nColuna := 1.00

                  //-> Data de Hoje
                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,         ;
                            OemToAnsi( "Data: " + DTOC( DATE() ) ), oFont,, ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 10.00

                  //-> Cabe‡alho
                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,        ;
                            "COTAÇÃO Nº "+ STRZERO( ( cAlias )->COTACAO ), ;
                            oFontDivi,, CLR_BLACK,, PAD_CENTER )

                  nColuna := 17.50

                  //-> Pagina
                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            OemToAnsi( "P gina: " + STRZERO( nPagina ) ), oFont,, ;
                            CLR_BLACK,, PAD_CENTER )

                  nLinha  += 0.50
                  nColuna := 1.00

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna, ;
                            REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

                  nColuna := 1.00
                  nLinha  += 0.50  //-> Pula a Linha

               ELSE

                  nColuna := 1.00
                  nLinha  += 0.50  //-> Pula a Linha

               ENDIF

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         OemToAnsi( "Condi‡äes.......: " +                     ;
                         ALLTRIM( ( cAlias )->COND_PAGTO ) ), oFont,,          ;
                         CLR_BLACK,, PAD_LEFT )

               nColuna := 1.00
               nLinha += 0.50  //-> Pula a Linha

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         OemToAnsi( "Prazo de Entrega: " +                     ;
                         ALLTRIM( ( cAlias )->PRAZO_PGTO ) ), oFont,,          ;
                         CLR_BLACK,, PAD_LEFT )

               nColuna := 1.00
               nLinha += 0.50  //-> Pula a Linha

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         OemToAnsi( "Validade........: " +                     ;
                         ALLTRIM( ( cAlias )->VALIDADE ) ), oFont,,            ;
                         CLR_BLACK,, PAD_LEFT )

               nColuna := 12.50

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         REPLICATE("-",040), oFont,, CLR_BLACK,, PAD_LEFT )

               nColuna := 19.25
               nLinha  +=  0.30

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         ALLTRIM(XNOMEEMP), oFont,, CLR_BLACK,, PAD_RIGHT )

               nColuna := 1.00
               nLinha  += 0.70  //-> Pula a Linha

               oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                         REPLICATE("-",110), oFont,, CLR_BLACK,, PAD_LEFT )

               IF .NOT. EMPTY( ( cAlias )->OBS1 )

                  nColuna := 1.00
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            OemToAnsi( "Obs.: " ), oFont,,                        ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS1 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS2 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS3 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS4 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS5 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS6 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS7 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

                  nColuna := 2.50
                  nLinha  += 0.50  //-> Pula a Linha

                  oPrn:Say( nLinha * ResLinha, nColuna * ResColuna,               ;
                            ALLTRIM( ( cAlias )->OBS8 ), oFont,,                  ;
                            CLR_BLACK,, PAD_LEFT )

               ENDIF

            ENDIF

        ENDPAGE

     ENDIF

    ENDPRINT

    oFont:End()
    oFontLogo:End()
    oFontDivi:End()
    oFontList:End()
    oFontCurs:End()
    oFontSubl:End()

    oPen1:End()
    oPen2:End()
    oPen3:End()

    oLbxCota:GoTop()
    oLbxCota:Refresh()

    lImprimeForn := .F.

RETURN NIL


Kapiaba
Colaborador

Colaborador
 
Mensagens: 1766
Data de registro: 07 Dez 2012 15:14
Cidade/Estado: São Paulo
Curtiu: 311 vezes
Mens.Curtidas: 119 vezes

Impressão salta uma pagina do relatorio

Mensagempor Daiane » 10 Nov 2015 10:23

Acabei de fazer isso e criou pagina em branco no inicio do relatorio e também criou outras paginas em branco entre uma empresa e outra

Valeu,vou dar uma olhada no codigo
XHb 1.2.1 + FW 12.05 + Pelles C IDE
"Eu adoraria mudar o mundo, mas não me deram o código-fonte."
Avatar de usuário

Daiane
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 122
Data de registro: 28 Out 2014 15:19
Cidade/Estado: Feira de Santana - BA
Curtiu: 27 vezes
Mens.Curtidas: 13 vezes




Retornar para FiveWin

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 8 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro