ALIAS SF_PN
variavel znil = DbGoto(z_recno)
variavel nRow = 0
variavel m_fobs = ''
variavel zPcod := 0
variavel zQuant := 0
variavel zQdevol := 0
variavel zPrTotal := 0
variavel zPdesc := ''
variavel zpfnum := ''
variavel zPrUnit := 0
variavel pag := 1
variavel zQtdProdutos := 0
variavel zQtdUnidades := 0
variavel sPrtLineLen := 90
variavel zDesenhoDoForm := ""
variavel zFgTemServicos := .f.
variavel zbVirg:={|cTxt| if(empty(cTxt),"",", ")+AllTrim(cTxt) }
variavel znil = DebugAlert("Pedido: "+Str(fnumped)+"  NF: "+str(fnum) )
variavel zFuncEncarregado := ''
VARIAVEL #TEXTO_FONTE
   debugalert('0 entrou no cupom_pn_devolucao.lst ')
      oLst:nLinesPorPagina := 66
      oLst:lOutPutXML := .f.

      oLst:cAlias_DataCols := '_itens'
      oLst:cAliasMaster := '_itens'
      oLst:lPrtRodape := .f.
      
      oLst:AddCol('Aditivo;zPfNum;P;@S10;10;;')
      oLst:AddCol('Prod;zPcod;P;999999;6;;')
      oLst:AddCol('Descricao;zPdesc;P;@S35;35;;')
      oLst:AddCol('Quant;zQuant;P;999999;6;;')
      oLst:AddCol('Recolhidas;zQdevol;P;9999999999;10;;')
      // oLst:AddCol('Recolhidas;"__________________";P;@S20;20;;')
      // oLst:AddCol('Obs;"____________________";P;@S20;20;;')

      oLst:Cab1( "CONFERENTE UNIDADES A DEVOLVER POR ADITIVOS" )
      Sf_Pn->(oLst:Cab4( "Referente ao CONTRATO DE LOCACAO "+StrZero(fCli,8)+' , Controle:'+lTrim(Str(m_fnumped,10)) ))
      oLst:Cab4( "Aditivos "+m_fAditivo )

      oLst:AddCab( '_LINHA_GROSSA_' )
      oLst:AddCab( {"COLS"=>"0,C"} ,{"style"=>"font:Helvetica-BoldOblique"}, 'LOCADOR: '+AllTrim(hDadosEmp["EMP_NOME"])+', CNPJ: '+AllTrim(emp_cgc) )
      Abra('0NOIDX',r_siga,'sf_vend','sf_vend')
      sf_vend->(DbGoto( Sf_Pn->fVendedor))
      oLst:AddCab( 'Atendente: ('+lTrim(Str(Sf_Pn->fVendedor,6))+') '+AllTrim(sf_vend->nome), 'Emissao: '+Dtoc(Sf_Pn->fDataEmi)+' as '+Sf_Pn->fHora)
      sf_vend->(DbCloseArea())
      oLst:AddCab( '_LINHA_FINA_' )
      if Sf_Pn->fcli>0
         Sccrcli->(DbGoto( Sf_Pn->fcli ))
         zFuncEncarregado := AllTrim (Sccrcli->Cr_Nome)
         oLst:AddCab( {"COLS"=>"0,C"} ,{"style"=>"font:Helvetica-BoldOblique"}, 'LOCATARIO: '+strzero(Sf_Pn->fcli,6)+'- '+zFuncEncarregado+', '+sccrcli->(if(cpf_ok(cr_cgc), 'CPF: ','CNPJ: ')+AllTrim(Cr_Cgc)) )
         oLst:AddCab( 'Endereco: '+sccrcli->(AllTrim(cr_rua)+' '+AllTrim(cr_numrua)+' '+eVal(zbVirg,cr_bairro)+eVal(zbVirg,cr_cep)) )
         oLst:AddCab( 'Contato: '+AllTrim(sccrcli->cr_contato), 'Fone:'+AllTrim(sccrcli->cr_fone))
         oLst:AddCab( 'Email: '+AllTrim(sccrcli->cr_email))
         oLst:AddCab( '' )
      else
         oLst:AddCab( 'Nome: Cliente Avulso', '')
      endif

      Abra('0NOIDX',r_siga,'vb_pref','vb_pref')
      vb_pref->(DbGoto( Sf_Pn->fObra ))
      oLst:AddCab( {"COLS"=>"0,C"} ,{"style"=>"font:Helvetica-BoldOblique"}, 'Local do Recolhimento: ' +AllTrim(vb_pref->Cr_Fantasi)  )
      oLst:AddCab( 'Endereco: '+vb_pref->(AllTrim(cr_rua)+' '+eVal(zbVirg,cr_bairro)+eVal(zbVirg,cr_cep)) )
      oLst:AddCab( 'Contato: '+AllTrim(vb_pref->cr_contato), 'Fone:'+AllTrim(vb_pref->cr_fone))
      if !empty(vb_pref->cr_pontore)
         m_fobs:='Ponto Ref: '+AllTrim(vb_pref->cr_pontore)
         nRow := 0
         do while ++nRow <= mlCount(m_fobs, 100)
            oLst:AddCab( {"style"=>"font:Courier-Oblique#size:8#col:0#row:(oPdf:pRow+1)"}, Rtrim(memoline(m_fobs,100,nRow)) )
         enddo
      endif
      vb_pref->(DbCloseArea())

      oLst:AddCab( {"style"=>"font:Helvetica-BoldOblique#size:12#ncolor:99#width:80#bgfill:SombraEscuraComBorda", "COLS"=>"0,C"}, 'TOTAIS DOS ITENS A SER DEVOLVIDOS' )
      oLst:AddCab( {"style"=>"font:Courier-Oblique"}, '_CABCOLS_')

      oLst:AddRodape( '_LINHA_FINA_', "", {|| "Pagina "+Str(++pag,4)+" / ####"} )

      DbSelectArea("_movnft")
      do while .not. eof()
         if Quant > 0 .and. mqDevol>0
            zPcod := _movnft->Cod
            zQuant := _movnft->Quant 
            zQdevol := _movnft->mqDevol
            if zQuant > 0 .and. se_prod->(DbSeek(zPcod))
               zQtdProdutos := zQtdProdutos + 1
               zQtdUnidades := zQtdUnidades + zQuant 
               zPdesc := se_prod->pDesc
               zpfnum := ''
               oLst:PrtD('_DATACOLS_')
            endif
         endif
         DbSkip()
      enddo

      oLst:PrtD( '')
      oLst:PrtD( {"style"=>"font:Helvetica-BoldOblique#size:12#ncolor:99#width:80#bgfill:SombraEscuraComBorda", "COLS"=>"0,C"}, 'ITENS A SER DEVOLVIDOS POR ADITIVOS' )
      oLst:PrtD( {"style"=>"font:Courier-Oblique"}, '_CABCOLS_')
      DbSelectArea("_movnf")
      DbGoTop()
      do while .not. eof()
         if Quant > 0 .and. mqDevol>0
            zPcod := _movnf->Cod
            zQuant := _movnf->Quant 
            zQdevol := _movnf->mqDevol
            zPfNum := Str(Abs(_movnf->pfnum),10)
            if zQuant > 0 .and. se_prod->(DbSeek(zPcod))
               zQtdProdutos := zQtdProdutos + 1
               zQtdUnidades := zQtdUnidades + zQuant 
               zPdesc := se_prod->pDesc
               oLst:PrtD('_DATACOLS_')
            endif
         endif
         DbSkip()
      enddo

      // oLst:EvalLineBlocks('DETALHE', {"style"=>"font:Helvetica-Oblique#col:40#row:(oPdf:nLinesPorPagina-6-1)"}, "")
      //// oLst:PrtD('')
      //// m_fobs:=AllTrim(Sf_Pn->fobs)
      //// nRow := 0
      //// do while ++nRow <= mlCount(m_fobs, 60)
      ////    oLst:PrtD( {"style"=>"font:Courier-Oblique#size:8#col:0#row:(oPdf:pRow+1)"}, Rtrim(memoline(m_fobs,60,nRow)) )
      //// enddo

      //// if Sf_FatNf->FgDev='E'

      //// else
      ////    oLst:PrtD( zQtdProdutos>0, {"style"=>"font:Helvetica-Oblique#col:40"}, " ","PRODUTOS DISTINTOS: "+   Transform(zQtdProdutos,"@E 99,999,999,999.99") )
      ////    oLst:PrtD( zQtdUnidades>0, {"style"=>"font:Helvetica-Oblique#col:30"}, " ","TOTAL DE UNIDADES: "+    Transform(zQtdUnidades,"@E 99,999,999,999.99") )
      //// endif

debugalert('11 saindo da cupom_pn_devolucao.lst ')
      
      oLst:Run()
      oLst:End()
#FIM_TEXTO_FONTE

comando antes DbGoBottom()
