ALIAS SF_PN
variavel znil = DbGoto(z_recno)
VARIAVEL #TEXTO_FONTE
   Private hReg,zpCod,zQuant,zNi:=0,zTotUnid:=0

   debugalert('0 entrou no cupom_pn_devolucao.lst ')
   se .not. select('vb_pref')>0 entao Sf_Pn->( Abra('0NOIDX',r_siga,'vb_pref','vb_pref') )
   se .not. select('sccrcli')>0 entao Sf_Pn->( Abra_Arq("sccrcli") )
   se .not. select('sf_vend')>0 entao Sf_Pn->( Abra_Arq("sf_vend") )
   se .not. select('se_prod')>0 entao Sf_Pn->( Abra('0NOIDX', r_siga, 'SE_PROD', 'SE_PROD', 'SEIP_C', 'PCOD') )

   Sf_Pn->( oLst:PutRsFr3('_ped',Scatter()) )
   SccrCli->( DbGoto(Sf_Pn->fCli), oLst:PutRsFr3('_cli',Scatter()) )
   Sf_Vend->( DbGoto(Sf_Pn->fVendedor), oLst:PutRsFr3('_vend',Scatter()) )
   Vb_pRef->( DbGoto(Sf_Pn->fObra), oLst:PutRsFr3('_pref',Scatter()) )

   DbSelectArea("_movnft")
   do while .not. eof()
      zPcod := _movnft->Cod
      zQuant := _movnft->Quant 
      if zQuant > 0 .and. se_prod->(DbSeek(zPcod))
         hReg := Scatter()
         hReg['PCOD']  := zPcod
         hReg['PUNID'] := se_prod->pUnidade
         hReg['PDESC'] := se_prod->pDesc
         oLst:PutRsFr3('itens', hReg )         
         zTotUnid := zTotUnid + zQuant
         ++zNi
      endif
      DbSkip()
   enddo

debugalert('11 saindo da cupom_pn_devolucao.lst ')
   DbCreate('mem:_subtot', {{'DESC','C',30,0},{'OBS','C',20,0}})
   use ('mem:_subtot') new exclusive
   se sf_pn->FValFrete>0 entao _subtot->(AppendBlank(), _field->Desc:='Taxa De Recolhimento:', _Field->obs:=lTrim(Transform(sf_pn->FValFrete,'@E 9999,999.99')) )
   oLst:AddDbFr3('mem:_subtot', '_subtot')

   oLst:lOutputPdf      := .f.
   oLst:lOutputFr3      := .t.
   oLst:cAliasMaster    := 'itens' 
   oLst:cAlias_DataCols := 'itens'
   oLst:cReport         := 'cupom_pn_devolucao_a4'

   debugalert('7 vai :run e :end')

   oLst:Run()
   oLst:End()
   dbCloseAll()
   
   dbDrop('mem:_ped')
   dbDrop('mem:_cli')
   dbDrop('mem:_dup')
   dbDrop('mem:_vend')
   dbDrop('mem:_osot')
   dbDrop('mem:itens')
   dbDrop('mem:serv')
   dbDrop('mem:itemdev')
   dbDrop('mem:_tot')
   dbDrop('mem:_subtot')
#FIM_TEXTO_FONTE

// comando antes DbGoBottom()
