ALIAS HELP
VARIAVEL #TEXTO_FONTE

   Private zFgCxaMovClosed, zFgSiCaixaClosed, zIdRecibo:=0, zFgQuerReimprimir:=.t., hReg

   se type('zRecnBrw')<>'U' entao (zIdRecibo:=zRecnBrw, zFgQuerReimprimir:=.f.)
   
   se (zFgSiCaixaClosed:=(select('SI_CAIXA')=0)) entao abra_arq("SI_CAIXA") senao dbSelectArea("SI_CAIXA")
   se (zFgCxaMovClosed:=(select('CXA_MOV')=0)) entao abra_arq("CXA_MOV") senao dbSelectArea("CXA_MOV")
   
   if zIdRecibo=0 
      Cxa_Mov->( xDbCopyTo('mem:_movcxa', '_movcxa', {||left(Cr_Num_Ped,4)="CXSG"}, , , .t.) )
      use ('mem:_movcxa') new exclusive
      _movcxa->( brow_db('CXA_MOV_SANGRIAS') , DbCloseArea(), DbDrop('mem:_movcxa') ) // esse browse apenas capta o zIdRecibo, que e' o "recno" do cxa_mov a ser impresso
   endif
   if zIdRecibo=0 
      se zFgCxaMovClosed entao CXA_MOV->(DbCloseArea())
      Return
   endif

   Select cxa_mov
   DbGoTo(zIdRecibo)
   
   wCab1:="SANGRIA"
   wCab2:="Numero "+lTrim(Str(zIdRecibo,10))
   
   oLst:lOutputPdf      := .f.
   oLst:lOutputFr3      := .t.
   oLst:cAliasMaster    := '_recibo' 
   oLst:cAlias_DataCols := '_recibo'
   oLst:cReport         := 'recibo_sangria'

   hReg:={=>}
   hReg['DATA']       := cxa_mov->FDATAEMI
   hReg['HORA']       := cxa_mov->FHORA
   hReg['REFERENTE']  := AllTrim(cxa_mov->Cr_Obs)
   hReg['SI_CAIXA']   := cxa_mov->SI_CAIXA
   hReg['SI_NUMFECH'] := cxa_mov->SI_NUMFECH
   hReg['CONTROLE']   := cxa_mov->cr_num_ped
   hReg['VALOR']      := cxa_mov->cr_valor
   hReg['OPERADOR']   := AllTrim(SubStr(cxa_mov->FOBS,9))
   hReg['FORMAPAG']   := cxa_mov->CR_TIP_DUP
   
   Si_Caixa->( dbGoTo(cxa_mov->SI_NUMFECH), oLst:PutRsFr3('_caixa',Scatter()) )
   oLst:PutRsFr3('_recibo', hReg )

   debugalert('7 vai :run e :end')
   _recibo->( oLst:Run() )
   oLst:End()
   
   dbCloseAll()
   dbDrop('mem:_recibo')
   dbDrop('mem:_caixa')

#FIM_TEXTO_FONTE
