ALIAS vb_vlcmp

VARIAVEL #TEXTO_FONTE
   Private zbCli, vOpcoes, wCli:=0, wOpcao:=1, zaLines:={}, ztEmi:=0, ztVnd:=0, ztAtend:=0, zqEmi:=0, zqVnd:=0, zqAtend:=0, zCmdsDurante
   
   ABRA("0NOIDX",r_siga,"sccrcli","sccrcli")
   DbSelectArea("VB_VLCMP")
   
   zbCli := {|nCli| if(nCli>0, sccrcli->(DbGoTo(nCli),cr_nome), "") }

//   vOpcoes := { {'&1. Lista TODOS os Vales Gas',1},{'&2. So Emitidos e Nao Vendidos',2},{'&3. Lista apenas os Vendidos',3},{'&4. So Vendidos e Nao Resgatados',4},{'&5. So os Resgatados/Atendidos',5} }
   vOpcoes := { {'&1. Lista TODOS os Vales Gas',1},{'&2. So Emitidos e Nao Vendidos',2},{'&3. Lista apenas os Vendidos',3} }
   aAdd( zaLines, {"1;2;Vales Gas a Listar:","@wOpcao", @wOpcao,  "9", "", "RADIOGROUP vOpcoes" } )
   aAdd( zaLines, {"6;2;Revendedor a Listar:","@wCli", @wCli,  "9999", "wOpcao<>2", "wCli=0.or.Psq_brow;sccrcli;psccrcli;N;N;;" } )

   if .not. QuickDialog("vb_vlcmp_lst", "41;7;Posicao dos Vales Gas", zaLines)
      sccrcli->(DbCloseArea())
      Return .f.
   endif
debugalert('wCli: '+str(wCli))

   oLst:cAlias_DataCols := 'vb_vlcmp'
   oLst:lPortrait  := .t.

   oLst:AddCab( {"AplicaFormatacaoDefaultNoCabecalho"=>"nao", "style"=>"font:Helvetica-Bold#size:14", "COLS"=>"0,C"}, "POSICAO DOS VALEGAS EMITIDOS" )
   oLst:Cab4( "Filtro: "+Substr(vOpcoes[wOpcao,1],5), "Listagem em "+Dtoc(s_datual)+" as "+time() )
   if wOpcao<>2.and.wCli>0
      vb_vlcmp->( DbSetFilter({||fCli=wCli},"fCli=wCli") )
      oLst:Cab4( "Apenas Revendedor: "+lTrim(Str(wCli,6))+" "+eVal(zbCli, wCli) )
   endif

   oLst:AddCab( '_LINHA_FINA_' )
   oLst:AddCab( '_CABCOLS_' )
   oLst:AddCab( '_LINHA_GROSSA_' )
   oLst:AddCol('ValeGas;pedicao;N;999999;7;N;')
   oLst:AddCol('Valor;PVLUVEN2;N;99999.99;8;;;Direita;NaoSome;')
   oLst:AddCol('DtCadastro;mdata;D;99.99.99;10;S;')
   oLst:AddCol('Sit;MfgEs;C;!;3;S;')
   if wOpcao=2
      oLst:AddCol('Obs;repl("_",30);P;@S30;30;S;')
   else
      oLst:AddCol('DtVenda;fDataSai;D;99.99.99;8;S;')
      oLst:AddCol('Revendedor;eVal(zbCli,fCli);P;@S25;25;N;')
      if wOpcao<>4
         oLst:AddCol('DtAtend;fDataCheg;D;99.99.99;8;S;')
         oLst:AddCol('Usuario Atendido;eVal(zbCli,mCodForc);P;@S25;25;N;')
      endif
   endif
   oLst:AddCol('cPrd;Pcod;N;999999;6;N;')

   BLOCO_TXT zCmdsDurante
      (++zQemi, ztEmi+=PVLUVEN2 , ztVnd+=if(Day(fDataSai)>0,(++zqVnd,PVLUVEN2),0) , ztAtend+=if(Day(fDataCheg)>0,(++zqAtend,PVLUVEN2),0) )
   FIM_BLOCO_TXT

   debugalert('2')

//   vb_vlcmp->(DbGoTop(), oLst:DbEval(zCmdsDurante, {||wOpcao=1.or.(wOpcao=2.and.Day(fDataSai)=0).or.(wOpcao=3.and.Day(fDataSai)>0).or.(wOpcao=4.and.Day(fDataSai)>0.and.Day(fDataCheg)=0).or.(wOpcao=5.and.Day(fDataCheg)>0)}))
   vb_vlcmp->(DbGoTop(), oLst:DbEval(zCmdsDurante, {||wOpcao=1.or.(wOpcao=2.and.mfges=" ").or.(wOpcao=3.and.mfges="S").or.(wOpcao=4.and.Day(fDataSai)>0.and.Day(fDataCheg)=0).or.(wOpcao=5.and.Day(fDataCheg)>0)}))

   debugalert('3')

   // oLst:lFecharGruposAbertos := .t.
   // oLst:SetFormatSomaCol(2, {||"** Vales Gas Emitidos:"+Str(zQemi,4)}, .t.)
   oLst:EvalLineBlocks('DETALHE', '_LINHA_GROSSA_')
   // oLst:EvalLineBlocks('DETALHE', {"style"=>"font:Courier-BoldOblique"}, '_SOMACOLS_GLOBAL_' )

   oLst:PrtD({||wOpcao=1}, {"style"=>"font:Courier-BoldOblique"}, {||"** Valor dos Vales Gas Emitidos: R$ "+Transform(ztEmi,"@E 999,999,999.99")+"  ("+Str(zQemi,4)+" vg)"} )
   oLst:PrtD({||wOpcao=1.or.wOpcao=2}, {"style"=>"font:Courier-BoldOblique"}, {||"** Valor Emitido e Nao Vendido.: R$ "+Transform(ztEmi-ztVnd,"@E 999,999,999.99")+"  ("+Str(zQemi,4)+" vg)"} )
   oLst:PrtD({||wOpcao=1.or.wOpcao=3}, {"style"=>"font:Courier-BoldOblique"}, {||"** Valor Vendido de Vales Gas..: R$ "+Transform(ztVnd,"@E 999,999,999.99")+"  ("+Str(zqVnd,4)+" vg)"} )
   oLst:PrtD({||wOpcao=1.or.wOpcao=4}, {"style"=>"font:Courier-BoldOblique"}, {||"** Valor Pendente de Resgate...: R$ "+Transform(ztVnd-ztAtend,"@E 999,999,999.99")+"  ("+Str(zqVnd-zqAtend,4)+" vg)"} )
   oLst:PrtD({||wOpcao=1.or.wOpcao=5}, {"style"=>"font:Courier-BoldOblique"}, {||"** Valor Resgatado/Atendido....: R$ "+Transform(ztAtend,"@E 999,999,999.99")+"  ("+Str(zqAtend,4)+" vg)"} )

   sccrcli->(DbCloseArea())
   debugalert('4')
 
#FIM_TEXTO_FONTE