ALIAS HELP
variavel zaLinhasDaTela := {}
VARIAVEL LST_TP = 60
VARIAVEL znil = SetDebugInfo( .t. )
VARIAVEL z_de = ctod( "01."+SubStr(Dtoc(S_Datual),4) )
VARIAVEL z_ate = s_datual
VARIAVEL zComplemento = ""
VARIAVEL zAux = ""
VARIAVEL zFgContaVales = .f. 
VARIAVEL zFgParaCtaCxa = .f.
variavel oQbe=""
VARIAVEL zoProgressBar    := ''
VARIAVEL zCmdsDurante     := ''

VARIAVEL #TEXTO_FONTE
   Private zSxConta, zCodDiv,zDivDesc,zctde,zctpara,zStrSldFinal,zDesc,zAux,nvCred,nvDeb,ztCred:=0,ztDeb:=0

   DbCloseAll()
   Abra('0NOIDX',r_siga,'cp_subd', 'cp_subd', 'cp_subd', 'sdcod')
   Abra('0NOIDX',r_siga,'sx_conta','sx_conta')
   Abra('0NOIDX',r_siga,'cp_divis','cp_divis','cp_divis','cp_divisao')
   Abra('0NOIDX',r_siga,'sx_caixa','sx_caixa','sx_caixa', 'str(Sx_Conta,3)+dtos(data)+str(cod_adiant)')

   oQbe:=oQbe():New('tesou01')

   oQbe:AddFiltro(" 9;3;Divisao de Despesas :", {||cp_divisao} ,, 'cp_divis;qbe_pcpdivis', {'Todas','Algumas'})
   oQbe:AddFiltro("10;3;Grupo de Lancamentos:", {||grupo} )
   oQbe:AddFiltro("11;3;Fornecedor / Cliente:", {||cp_cod_for} )
   oQbe:AddFiltro("12;3;Tipo Lancto    (S/R):", {||tipo} )

   aAdd( zaLinhasDaTela, {"3;3;Data Digitacao inicial:", "@z_De",  @z_De,  "99.99.9999", "", "" } )
   aAdd( zaLinhasDaTela, {"4;3;Data Digitacao final..:", "@z_Ate", @z_Ate, "99.99.9999", "", "z_Ate>=z_De"} ) 

   if .not. oQbe:QuickDialog("Qbe_tesou01dig", "70;13;Conferencia da Digitacao do Caixa", zaLinhasDaTela)
      DbCloseAll()
      Return
   endif

   oLst:nFontSize := 10
   oLst:lPortrait := .f.
   oLst:nLinesPorPagina := 40

   DbSelectArea('sx_caixa')

   oLst:lOutputFr3 := .f.
   oLst:cReport := 'tesou01dig'
   oLst:cAliasMaster := 'tesou'
   oLst:cAlias_DataCols := 'tesou'
   oLst:SetDbLst('mem:tesou')

   oLst:Cab1( wCab1:="CONFERENCIA DIGITACAO LIVRO CAIXA" )
   oLst:Cab2( wCab2:="Digitacao de "+Dtoc(z_de)+" a "+Dtoc(z_ate)+", emitido em "+Dtoc(s_datual)+" as "+Time() )
   oLst:Cab4( {||!empty(oQbe:ExpressaoDeFiltragemParaImprimir)}, {||wCab3:=oQbe:ExpressaoDeFiltragemParaImprimir})

   oLst:AddCab( '_LINHA_FINA_' )
   oLst:AddCab( '_CABCOLS_' )
   oLst:AddCab( '_LINHA_GROSSA_' )

   oLst:AddCol('Data_Caixa;data;D;99.99.9999;10;;')
   oLst:AddCol('Descricao;zDesc;P;@S35;35;;;Direita;NaoSome;Imprima;zdesc;')
   oLst:AddCol('Cxa;zCtDe;P;@E 9999;4;;;Direita;NaoSome;Imprima;CtaDe;')
   oLst:AddCol('c/f;zCtPara;P;@E 999999;6;;;Direita;NaoSome;Imprima;CtaPara;')
   oLst:AddCol('g;Grupo;N;99;2;;;Direita;NaoSome;Imprima;grupo;')
   oLst:AddCol('Pt St CCust Obs;zComplemento;P;@S45;45;;;Esquerda;NaoSome;Imprima;obs;')
   oLst:AddCol('Deb/Cred;valor;N;{|x|transform(x,"@E 99999,999.99")+if(tipo="S","+",if(tipo="R","-","B"))};13,2;;;Direita;NaoSome;Imprima;valor;')

   if oLst:lOutputFr3
      oLst:AddCol('tipo;tipo;C;X;1;;;Esquerda;NaoSome;NaoImprima;tipo;')
      oLst:AddCol('sld_adiant;sld_adiant;N;999999999.99;12,2;;;Direita;NaoSome;NaoImprima;sld_adiant;')
      oLst:AddCol('cod_adiant;cod_adiant;N;999999999.99;12,2;;;Direita;NaoSome;NaoImprima;cod_adiant;')
      oLst:AddCol('Div;val(left(CP_SUBDIV,3));P;999;3;;;Direita;NaoSome;NaoImprima;cp_divisao;')
      oLst:AddCol('CP_SUBDIV;CP_SUBDIV;C;99999;5;;;Direita;NaoSome;NaoImprima;CP_SUBDIV;')
      oLst:AddCol('zDivDesc;zDivDesc;P;@S30;30;;;Direita;NaoSome;NaoImprima;zDivDesc;')
   endif

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

   sx_caixa->( DbGoTop(), xDbCopyTo('mem:_cxa', '_cxa', {||DataDig>=z_de .and. DATADig<=z_ate .and. oQbe:Filtro_ok()}) )
   ABRA('0NOIDX','','mem:_cxa',  '_cxa', 'mem:_cxa', 'Dtos(DATA)+if(tipo="S","1","2")')

   BLOCO_TXT zCmdsDurante
      zoProgressBar:Step()
      zDesc:=LEFT(desc,1)+lower(Substr(desc,2))
      zctde := if(tipo="S",cp_cod_for,Sx_Conta)
      zctpara := if(tipo="S",Sx_Conta,cp_cod_for)
      zFgParaCtaCxa:=(cp_cod_for=999.or.cp_cod_for=500)
      if select('_totcta')>0 .and. _totcta->(RecCount())>0
         if tipo="S"
            _totcta->(DbSeek(_cxa->Sx_Conta), _field->cred+=_cxa->valor)
         else
            if tipo="R"
               _totcta->(DbSeek(_cxa->Sx_Conta), _field->deb+=_cxa->valor)
            endif
         endif 
      endif
      if zFgContaVales 
         zComplemento := ""
         if tipo="S"
            if abs(valor-sld_adiant)<=.5
               zComplemento := "Prestou Contas"
            else
               if sld_adiant>valor
                  zComplemento := "Prestou contas. Reembolsar "+str(sld_adiant-valor,7,2)
               else
                  if sld_adiant>0
                     zComplemento := "Prest.Cta Pendente: "+str(valor-sld_adiant,7,2)
                  else
                     zComplemento := "Nao prestou contas"
                  endif
               endif
            endif
         else
            if zFgParaCtaCxa
               zComplemento := "Devolucao de Adiantamento"
            else
               zComplemento := "(ad:"+Str(cod_adiant,6)+") "+zDivDesc
            endif
         endif
      else 
         zCodDiv := VAL(LEFT(CP_SUBDIV,3))
         zDivDesc := cp_divis->( DbSeek(zCodDiv), Pad( Left(Desc,1)+Lower(SubStr(desc,2)), 30) )
         zComplemento := if(!empty(zDivDesc),Str(Cp_Local,2)+" "+Str(Cp_Situaca,2)+" "+Cp_SubDiv+" "+zDivDesc,"")
      endif
   FIM_BLOCO_TXT

   zoProgressBar := myhProgressBar():Create('Processando Lancamentos...')
   _cxa->( DbGoTop(), oLst:DbEval(zCmdsDurante) )
   zoProgressBar:Close()
   if select('tesou')=0
      oLst:lOutputPdf:=.f.
      oLst:lOutputFr3:=.f.
      oLst:lOutputMatricial:=.f.
      Alert("A Conta "+str(zSxConta,3)+" nao tem lancamentos entre "+Dtoc(z_de)+" a "+Dtoc(z_ate) )
   endif   

   DbCloseAll()
   Abra('0NOIDX',r_siga,'help','help')
   DbGoBottom()
#FIM_TEXTO_FONTE