ALIAS _DUPLCLI
INDEX temp0101 cr_dt_venc
COMANDO ANTES #TEXTO_FONTE
   Private zCmdsDurante, z_np:=0, zDiasDeVencida, zTxJuros:=0, zTxMulta:=0, zFgJurosCapitalizados:=.f., zFgSoVencidas:=.f., zFgSoMarcadas:=.f., ztAbertas:=0, ztQuitada:=0,ztAtrasos:=0,ztFaltaQuitar:=0,ztAVencer:=0, zJuros, ztJuros:=0, zMulta, ztMulta:=0, Znabertas:=0, zcTipoDeJuros
   
   Abra ("0NOIDX",r_siga,"vb_conv","vb_conv")
   se select('sccrcli')=0 entao abra_arq('sccrcli')
   sccrcli->(DbGoTo(m_fcli), vb_conv->(DbGoTo(sccrcli->cr_tip_des) , zTxJuros:=CORR_ATRAZ, DbCloseArea()) )
   DbSelectArea('_DUPLCLI')
   if .not. QuickDialog("lst_bordcob00", "Parametros",{ ;
       {"2;2;Taxa da Multa:","@zTxMulta",@zTxMulta,"999.99","",""},;
       {"3;2;Taxa de Juros:","@zTxJuros",@zTxJuros,"999.99","",""},;
       {"4;2;CHECKBOX 'Juros &Capitalizados      ?'", "@zFgJurosCapitalizados", @zFgJurosCapitalizados, "!", "", ""} ,;
       {"5;2;CHECKBOX 'Lista apenas as &Vencidas ?'", "@zFgSoVencidas", @zFgSoVencidas, "!", "", ""} } )
      Return       
   endif
   Index On Cr_dt_venc To ('mem:_duplcli')
   zcTipoDeJuros := if(zFgJurosCapitalizados,"Juros Capitalizados","Juros Simples")
   
   oLst:cAliasMaster    := '_DUPLCLI'
   oLst:cReport         := 'bordcob01'
   oLst:lPortrait := .t.
   oLst:lOutputPdf := .f.
   oLst:lOutputFr3 := .t.

      oLst:cAlias_DataCols := '_DUPLCLI'

   //oLst:Cab1( 'Bordero de Cobranca' )
   olst:PutRsFr3('_cli', sccrcli->(Scatter()) )

//   oLst:AddCol('TDoc;cr_tip_dup;C;XXXX;4;;;Direita;NaoSome;')
//   oLst:AddCol('Titulo;cr_num_ped;C;@s10;10;;;Esquerda;NaoSome;') 
//   oLst:AddCol('Dt Emissao;Cr_Dt_Emis;D;99.99.9999;10;;;Direita;NaoSome;') 
//   oLst:AddCol('Dt Venc;Cr_Dt_Venc;D;99.99.9999;10;;;Direita;NaoSome;') 
//   oLst:AddCol('Principal;cr_valor;N;99999999.99;11;;;Direita;NaoSome;') 
//   oLst:AddCol('DiasAtr;zDiasDeVencida;P;9999;7;;;Direita;NaoSome;') 
//   oLst:AddCol('Multa;zMulta;P;99999999.99;11;;;Direita;NaoSome;') 
//   oLst:AddCol('Juros;zJuros;P;99999999.99;11;;;Direita;NaoSome;') 

   debugalert('1')
   BLOCO_TXT zCmdsDurante
      ++z_np
      if (zDiasDeVencida:=S_DATUAL-CR_DT_VENC) > 0
         zMulta := (CR_VALOR-CR_VAL_LQD)*zTxMulta/100
         zMulta := IF(zMulta>0,zMulta,0)
         zJuros := (CR_VALOR-CR_VAL_LQD)*if(zFgJurosCapitalizados,(1+zTxJuros/100)**(zDiasDeVencida/30),(zTxJuros/100)/30*zDiasDeVencida) - if(zFgJurosCapitalizados,(CR_VALOR-CR_VAL_LQD),0)
         zJuros := IF(zJuros>0,zJuros,0)
         ztMulta += zMulta
         ztJuros += zJuros
      else
         zDiasDeVencida := 0      
         zMulta := 0
         zJuros := 0
      endif
	  ztAtrasos := wAtrasos
	  ztAVencer := ztAbertas-wAtrasos
	  ztAbertas := wPrincipal
	  ztQuitada := wAdiantamentos
	  ztFaltaQuitar := wSaldo
   FIM_BLOCO_TXT

   _DUPLCLI->(DbGoTop(), oLst:DbEval(zCmdsDurante, {||!zFgSoVencidas .or. Cr_Dt_Venc<s_datual}) , DbGoTop())

//   oLst:xPrtD('              Valor do Principal ............ : [ztAbertas @E 9,999,999.99] ([z_np 9999] titulos)')
//   oLst:xPrtD('              Total das Multas sobre Vencidas : [ztMulta @E 9,999,999.99]')
//   oLst:xPrtD('              Total dos Juros sobre Vencidas  : [ztJuros @E 9,999,999.99]')
//   oLst:xPrtD({"style"=>"font:Courier-BoldOblique"}, '              Debito Principal + Multa + Juros: [ztAbertas+ztJuros @E 9,999,999.99]')

//   oLst:AddMasterDetail('_DUPLCLI', '_prodcli', 'fnumped')

   debugalert('3')
   oLst:Run()

   oLst:End()
   
#FIM_TEXTO_FONTE
