;** Rm_0060M ******************************************************************
;*  Fluxo de caixa/Plano de Conta/Mensal                                      *
;******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 06/12/2019 por Anivel Augusto Rodrigues
;Ultima Alteracao: 07/12/2019 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes ListaRegra_TGAtivado="[TG_EMPRESATE]"
;Ultima Alteracao: 22/01/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes desprezar t¡tulos de credito

;*******************************************************************************
;*                                                                             *
;*******************************************************************************
Proc Rm_0060M_Realizado()
private wcc

If CheckTG_OPFLUXOCX[3]
   Then return
endif

ClearAll

For wcc From 1 To 5
  {Ask} TypeIn "\\Sistemas\\Ctacor\\MovCont" Enter Check
  switch 
    case TipoFiltro="Empresa" :
      switch
        case ListaRegra_VSDGEMPRESA_Ativo  : Moveto [Codigo da Empresa ] TypeIn ListaRegra_VSDGEMPRESA
        otherwise                          : Moveto [Codigo da Empresa ] TypeIn "~VSDGEMPRESA2.."
      endswitch
    
    case TipoFiltro="Conta"   :
      Moveto [Codigo da Conta ] TypeIn "~VSDGCONTA.."

  endswitch
  Switch
    Case wcc=1: Moveto [Tipo Movimento     ] TypeIn "E"      ;Entradas
                Moveto [Tipo da Conta      ] TypeIn "Not C"  ;Caixa/Aplicacao

    Case wcc=2: Moveto [Tipo Movimento     ] TypeIn "S"      ; Saidas
                Moveto [Tipo da Conta      ] TypeIn "Not C"  ;Caixa/Aplicacao

    Case wcc=3: Moveto [Tipo Movimento     ] TypeIn "E"      ; Entradas
                Moveto [Tipo da Conta      ] TypeIn "C"      ; Conta Corrente  

    Case wcc=4: Moveto [Tipo Movimento     ] TypeIn "S"      ; Saidas
                Moveto [Tipo da Conta      ] TypeIn "C"      ; Conta Corrente
                Moveto [Tipo de Operacao   ] TypeIn "Not 05, Not 08"  ; menos cheques

    Case wcc=5: Moveto [Tipo Movimento     ] TypeIn "S"      ; Saidas
                Moveto [Tipo da Conta      ] TypeIn "C"      ; Conta Corrente
                Moveto [Tipo de Operacao   ] TypeIn "08"     ; Transferencias           
                Moveto [Tipo do Lancamento ] TypeIn "O or P" ; menos cheques

  EndSwitch
  Moveto [Data            ] TypeIn ">=~VSDGDTREF, <=~VSDGDTFIM"
  Do_It!
  ClearAll
  
  If CheckTG_OPCTATRANSF[2]
     then
          {Ask} {Answer} TypeIn "Fast Delete"
          Moveto [Tipo de Operacao       ] TypeIn "02 or 09 or 01 or 08"
          Do_It!
          ClearAll
  endif

  If CheckTG_OPFLUXOCX[5]
     Then {Ask} {Answer} TypeIn "Fast Delete"
          Moveto [Tipo da Conta] TypeIn "A"
          Do_It!
          ClearAll
  EndIf


  {Ask} {Answer} TypeIn "Fast"
  Moveto [Tipo Movimento         ] TypeIn "E"
  Moveto [Codigo da Conta Trf    ] TypeIn "not blank"
  Moveto [Codigo Plano_Conta     ] TypeIn "Changeto 1.AAAAA5"
  Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * TRANSFERENCIAS ENTRE CONTAS\""
  Do_It!
  ClearAll

  {Ask} {Answer} TypeIn "Fast"
  Moveto [Tipo Movimento         ] TypeIn "E"
  Moveto [Codigo da Conta Trf    ] TypeIn "blank"
  Moveto [Codigo Plano_Conta     ] TypeIn "Blank, Changeto 1.AAAAA9"
  Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * ENTRADAS SEM PLANO DE CONTA\""
  Do_It!
  ClearAll

  {Ask} {Answer} TypeIn "Fast"
  Moveto [Tipo Movimento         ] TypeIn "S"
  Moveto [Codigo da Conta Trf    ] TypeIn "not blank"
  Moveto [Codigo Plano_Conta     ] TypeIn "Changeto 5.AAAAA5"
  Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * TRANSFERENCIAS ENTRE CONTAS\""
  Do_It!
  ClearAll

  {Ask} {Answer} TypeIn "Fast"
  Moveto [Tipo Movimento         ] TypeIn "S"
  Moveto [Codigo da Conta Trf    ] TypeIn "blank"
  Moveto [Codigo Plano_Conta     ] TypeIn "Blank, Changeto 5.AAAAA9"
  Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * SAIDAS SEM PLANO DE CONTA\""
  Do_It!
  ClearAll
  Rm_0060M_AdicionaDados()
  
endfor

endproc

;*******************************************************************************
;*                                                                             *
;*******************************************************************************
Proc Rm_0060M_ChequesEmitidos()
private wcc

ClearAll

If not CheckTG_OPFLUXOCX[3] Then 
  ;--- Cheques emitidos antes da data referente e descontados depois - Estornos---
  For wcc From 1 To 2
    {Ask} TypeIn "\\Sistemas\\Ctacor\\MovCont" Enter Check
  switch 
    case TipoFiltro="Empresa" :
      switch
        case ListaRegra_VSDGEMPRESA_Ativo  : Moveto [Codigo da Empresa ] TypeIn ListaRegra_VSDGEMPRESA
        otherwise                          : Moveto [Codigo da Empresa ] TypeIn "~VSDGEMPRESA2.."
      endswitch
    
    case TipoFiltro="Conta"   :
      Moveto [Codigo da Conta ] TypeIn "~VSDGCONTA.."

  endswitch
    Moveto [Tipo da Conta         ] TypeIn "C"
    Moveto [Tipo Movimento        ] TypeIn "S"
    Switch
      Case wcc=1:  Moveto [Tipo de Operacao      ] TypeIn "05"
  
      Case wcc=2:  Moveto [Tipo de Operacao      ] TypeIn "08"
                   Moveto [Tipo do Lancamento    ] TypeIn "M or N"
    
    EndSwitch
    Moveto [Data                  ] TypeIn "<~VSDGDTREF"
    Moveto [Data Cheque Descontado] TypeIn ">=~VSDGDTREF"
    Do_It!
    ClearAll
  
  
    {Ask} {Answer}
    moveto [Valor                  ] typeIn "calc sum as Valor"
    Do_It!
    if not isempty("Answer")
       then Rm_0060M_CHEQUESAENTRAR=Rm_0060M_CHEQUESAENTRAR+[Valor]
    endif   
    ClearAll
  
  EndFor

  ;--- Cheques emitidos antes da data referente e nÆo descontados - Estornos------
  For wcc From 1 To 2
    {Ask} TypeIn "\\Sistemas\\Ctacor\\MovCont" Enter Check
  switch 
    case TipoFiltro="Empresa" :
      switch
        case ListaRegra_VSDGEMPRESA_Ativo  : Moveto [Codigo da Empresa ] TypeIn ListaRegra_VSDGEMPRESA
        otherwise                          : Moveto [Codigo da Empresa ] TypeIn "~VSDGEMPRESA2.."
      endswitch
    
    case TipoFiltro="Conta"   :
      Moveto [Codigo da Conta ] TypeIn "~VSDGCONTA.."

  endswitch
    Moveto [Tipo da Conta         ] TypeIn "C"
    Moveto [Tipo Movimento        ] TypeIn "S"
    Switch
      Case wcc=1:  Moveto [Tipo de Operacao      ] TypeIn "05"
  
      Case wcc=2:  Moveto [Tipo de Operacao      ] TypeIn "08"
                   Moveto [Tipo do Lancamento    ] TypeIn "M or N"
    
    EndSwitch
    Moveto [Data                  ] TypeIn "<~VSDGDTREF"
    Moveto [Data Cheque Descontado] TypeIn "Blank"
    Do_It!
    ClearAll
  
    
    {Ask} {Answer}
    moveto [Valor                  ] typeIn "calc sum as Valor"
    Do_It!
    if not isempty("Answer")
       then Rm_0060M_CHEQUESAENTRAR=Rm_0060M_CHEQUESAENTRAR+[Valor]
    endif   
    ClearAll
  
  EndFor
          
  ;--- Cheques descontados no periodo --------------------------------------------
  For wcc From 1 To 2
    {Ask} TypeIn "\\Sistemas\\Ctacor\\MovCont" Enter Check
  switch 
    case TipoFiltro="Empresa" :
      switch
        case ListaRegra_VSDGEMPRESA_Ativo  : Moveto [Codigo da Empresa ] TypeIn ListaRegra_VSDGEMPRESA
        otherwise                          : Moveto [Codigo da Empresa ] TypeIn "~VSDGEMPRESA2.."
      endswitch
    
    case TipoFiltro="Conta"   :
      Moveto [Codigo da Conta ] TypeIn "~VSDGCONTA.."

  endswitch
    Moveto [Tipo da Conta         ] TypeIn "C"
    Moveto [Tipo Movimento        ] TypeIn "S"
    Switch
      Case wcc=1:  Moveto [Tipo de Operacao      ] TypeIn "05"
  
      Case wcc=2:  Moveto [Tipo de Operacao      ] TypeIn "08"
                   Moveto [Tipo do Lancamento    ] TypeIn "M or N"
    
    EndSwitch
    Moveto [Data                  ] Check
    Moveto [Data Cheque Descontado] TypeIn ">=~VSDGDTREF, <=~VSDGDTFIM, as Data"
    Do_It!
    ClearAll
  
  
    {Ask} {Answer} TypeIn "Fast"
    Moveto [Tipo Movimento         ] TypeIn "S"
    Moveto [Codigo da Conta Trf    ] TypeIn "not blank"
    Moveto [Codigo Plano_Conta     ] TypeIn "Changeto 5.AAAAA5"
    Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * TRANSFERENCIAS ENTRE CONTAS\""
    Do_It!
    ClearAll
  
    {Ask} {Answer} TypeIn "Fast"
    Moveto [Codigo Plano_Conta     ] TypeIn "Blank, Changeto 5.AAAAA9"
    Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * SAIDAS SEM PLANO DE CONTA\""
    Do_It!
    ClearAll
    Rm_0060M_AdicionaDados()
  
  EndFor
endif

;--- Cheques emitidos mˆs anterior ---------------------------------------------                   
;    nÆo pre-datados e nÆo descontados no per¡odo                   
For wcc From 1 To 2
  {Ask} TypeIn "\\Sistemas\\Ctacor\\MovCont" Enter Check
  switch 
    case TipoFiltro="Empresa" :
      switch
        case ListaRegra_VSDGEMPRESA_Ativo  : Moveto [Codigo da Empresa ] TypeIn ListaRegra_VSDGEMPRESA
        otherwise                          : Moveto [Codigo da Empresa ] TypeIn "~VSDGEMPRESA2.."
      endswitch
    
    case TipoFiltro="Conta"   :
      Moveto [Codigo da Conta ] TypeIn "~VSDGCONTA.."

  endswitch
  Moveto [Tipo da Conta         ] TypeIn "C"
  Moveto [Tipo Movimento        ] TypeIn "S"
  Switch
    Case wcc=1:  Moveto [Tipo de Operacao      ] TypeIn "05"

    Case wcc=2:  Moveto [Tipo de Operacao      ] TypeIn "08"
                 Moveto [Tipo do Lancamento    ] TypeIn "M or N"
  
  EndSwitch
  Moveto [Data            ] TypeIn "<~VSDGDTINI"
  Moveto [Cheque Pre-Datado     ] TypeIn "N or Blank"
  Moveto [Data Cheque Descontado] TypeIn "Blank or >~VSDGDTFIM"
  Do_It!
  ClearAll


  {Ask} {Answer} typein "fast"
  Moveto [Data                  ] TypeIn "changeto ~VSDGDTINI" 
  Do_It!
  ClearAll

  {Ask} {Answer} TypeIn "Fast"
  Moveto [Tipo Movimento         ] TypeIn "S"
  Moveto [Codigo da Conta Trf    ] TypeIn "not blank"
  Moveto [Codigo Plano_Conta     ] TypeIn "Changeto 5.AAAAA5"
  Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * TRANSFERENCIAS ENTRE CONTAS\""
  Do_It!
  ClearAll

  {Ask} {Answer} TypeIn "Fast"
  Moveto [Codigo Plano_Conta     ] TypeIn "Changeto 5.AAAAAD"
  Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * CHEQUES EMITIDOS E NAO APRESENTADOS\""
  Do_It!
  ClearAll
  Rm_0060M_AdicionaDados()

EndFor

;--- Cheques emitidos no per¡odo -----------------------------------------------                   
;    nÆo pre-datados e nÆo descontados no per¡odo                   
For wcc From 1 To 2
  {Ask} TypeIn "\\Sistemas\\Ctacor\\MovCont" Enter Check
  switch 
    case TipoFiltro="Empresa" :
      switch
        case ListaRegra_VSDGEMPRESA_Ativo  : Moveto [Codigo da Empresa ] TypeIn ListaRegra_VSDGEMPRESA
        otherwise                          : Moveto [Codigo da Empresa ] TypeIn "~VSDGEMPRESA2.."
      endswitch
    
    case TipoFiltro="Conta"   :
      Moveto [Codigo da Conta ] TypeIn "~VSDGCONTA.."

  endswitch
  Moveto [Tipo da Conta         ] TypeIn "C"
  Moveto [Tipo Movimento        ] TypeIn "S"
  Switch
    Case wcc=1:  Moveto [Tipo de Operacao      ] TypeIn "05"

    Case wcc=2:  Moveto [Tipo de Operacao      ] TypeIn "08"
                 Moveto [Tipo do Lancamento    ] TypeIn "M or N"
  
  EndSwitch
  Moveto [Data                  ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM"
  Moveto [Cheque Pre-Datado     ] TypeIn "N or Blank"
  Moveto [Data Cheque Descontado] TypeIn "Blank Or >~VSDGDTFIM"
  Do_It!
  ClearAll


  {Ask} {Answer} TypeIn "Fast"
  Moveto [Tipo Movimento         ] TypeIn "S"
  Moveto [Codigo da Conta Trf    ] TypeIn "not blank"
  Moveto [Codigo Plano_Conta     ] TypeIn "Changeto 5.AAAAA5"
  Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * TRANSFERENCIAS ENTRE CONTAS\""
  Do_It!
  ClearAll

  {Ask} {Answer} TypeIn "Fast"
  Moveto [Codigo Plano_Conta     ] TypeIn "Changeto 5.AAAAAD"
  Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * CHEQUES EMITIDOS E NAO APRESENTADOS\""
  Do_It!
  ClearAll
  Rm_0060M_AdicionaDados()

EndFor

;--- Cheques pre-datados mˆs anterior ------------------------------------------                   
;    nÆo descontados no per¡odo                   
For wcc From 1 To 2
  {Ask} TypeIn "\\Sistemas\\Ctacor\\MovCont" Enter Check
  switch 
    case TipoFiltro="Empresa" :
      switch
        case ListaRegra_VSDGEMPRESA_Ativo  : Moveto [Codigo da Empresa ] TypeIn ListaRegra_VSDGEMPRESA
        otherwise                          : Moveto [Codigo da Empresa ] TypeIn "~VSDGEMPRESA2.."
      endswitch
    
    case TipoFiltro="Conta"   :
      Moveto [Codigo da Conta ] TypeIn "~VSDGCONTA.."

  endswitch
  Moveto [Tipo da Conta         ] TypeIn "C"
  Moveto [Tipo Movimento        ] TypeIn "S"
  Switch
    Case wcc=1:  Moveto [Tipo de Operacao      ] TypeIn "05"

    Case wcc=2:  Moveto [Tipo de Operacao      ] TypeIn "08"
                 Moveto [Tipo do Lancamento    ] TypeIn "M or N"
  
  EndSwitch
  Moveto [Data Cheque Pre-Datado] TypeIn "<~VSDGDTINI"
  Moveto [Cheque Pre-Datado     ] TypeIn "S"
  Moveto [Data Cheque Descontado] TypeIn "Blank Or >~VSDGDTFIM"
  Do_It!
  ClearAll


  {Ask} {Answer} typein "fast"
  Moveto [Data                  ] TypeIn "changeto ~VSDGDTINI" 
  Do_It!
  ClearAll

  {Ask} {Answer} TypeIn "Fast"
  Moveto [Tipo Movimento         ] TypeIn "S"
  Moveto [Codigo da Conta Trf    ] TypeIn "not blank"
  Moveto [Codigo Plano_Conta     ] TypeIn "Changeto 5.AAAAA5"
  Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * TRANSFERENCIAS ENTRE CONTAS\""
  Do_It!
  ClearAll

  {Ask} {Answer} TypeIn "Fast"
  Moveto [Codigo Plano_Conta     ] TypeIn "Changeto 5.AAAAAE"
  Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * CHEQUES EMITIDOS PRE-DATADOS\""
  Do_It!
  ClearAll
  Rm_0060M_AdicionaDados()

EndFor

;--- Cheques pre-datados no per¡odo --------------------------------------------                   
;    nÆo descontados no per¡odo                   
For wcc From 1 To 2
  {Ask} TypeIn "\\Sistemas\\Ctacor\\MovCont" Enter Check
  switch 
    case TipoFiltro="Empresa" :
      switch
        case ListaRegra_VSDGEMPRESA_Ativo  : Moveto [Codigo da Empresa ] TypeIn ListaRegra_VSDGEMPRESA
        otherwise                          : Moveto [Codigo da Empresa ] TypeIn "~VSDGEMPRESA2.."
      endswitch
    
    case TipoFiltro="Conta"   :
      Moveto [Codigo da Conta ] TypeIn "~VSDGCONTA.."

  endswitch
  Moveto [Tipo da Conta         ] TypeIn "C"
  Moveto [Tipo Movimento        ] TypeIn "S"
  Switch
    Case wcc=1:  Moveto [Tipo de Operacao      ] TypeIn "05"

    Case wcc=2:  Moveto [Tipo de Operacao      ] TypeIn "08"
                 Moveto [Tipo do Lancamento    ] TypeIn "M or N"
  
  EndSwitch
  Moveto [Data Cheque Pre-Datado] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
  Moveto [Cheque Pre-Datado     ] TypeIn "S"
  Moveto [Data Cheque Descontado] TypeIn "Blank Or >~VSDGDTFIM"
  Do_It!
  ClearAll


  {Ask} {Answer} typein "fast"
  Moveto [Data Cheque Pre-Datado] TypeIn "_dtcp" 
  Moveto [Data                  ] TypeIn "changeto _dtcp" 
  Do_It!
  ClearAll

  {Ask} {Answer} TypeIn "Fast"
  Moveto [Tipo Movimento         ] TypeIn "S"
  Moveto [Codigo da Conta Trf    ] TypeIn "not blank"
  Moveto [Codigo Plano_Conta     ] TypeIn "Changeto 5.AAAAA5"
  Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * TRANSFERENCIAS ENTRE CONTAS\""
  Do_It!
  ClearAll

  {Ask} {Answer} TypeIn "Fast"
  Moveto [Codigo Plano_Conta     ] TypeIn "Changeto 5.AAAAAE"
  Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * CHEQUES EMITIDOS PRE-DATADOS\""
  Do_It!
  ClearAll
  Rm_0060M_AdicionaDados()
  
EndFor

EndProc     ;  

;*******************************************************************************
;*                                                                             *
;*******************************************************************************
Proc Rm_0060M_ARealizarReceber()

If CheckTG_OPFLUXOCX[2]
   Then Return
EndIf

{Ask} TypeIn "\\Sistemas\\Ctarec\\DupliC" Enter Check
  switch 
    case TipoFiltro="Empresa" :
      switch
        case ListaRegra_VSDGEMPRESA_Ativo  : Moveto [Codigo da Empresa ] TypeIn ListaRegra_VSDGEMPRESA
        otherwise                          : Moveto [Codigo da Empresa ] TypeIn "~VSDGEMPRESA2.."
      endswitch
    
    case TipoFiltro="Conta"   :
      Moveto [Codigo da Conta ] TypeIn "~VSDGCONTA.."

  endswitch
Moveto [Tipo do Lancamento    ] TypeIn "not A, as \"Tipo Movimento\""
Moveto [Situacao              ] TypeIn "Blank"
Moveto [Data de Vencimento    ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM, as Data"
Moveto [Saldo do Documento    ] TypeIn "> 0.01, as Valor"
Do_It!
ClearAll

If CheckTG_OPFLUXOCX[1]
   Then {Ask} {Answer} TypeIn "Fast Delete"
        Moveto  [Tipo do Pagamento] TypeIn "CT or CD or CL"
        Do_It!
        ClearAll
EndIf
If CheckTG_OPFLUXOCX[6]
   Then {Ask} {Answer} TypeIn "Fast Delete"
        Moveto  [Tipo do Pagamento] TypeIn "TC"
        Do_It!
        ClearAll
EndIf

{Ask} {Answer} TypeIn "Fast"
Moveto [Tipo Movimento         ] TypeIn "Changeto E"
Do_It!
ClearAll

{Ask} {Answer} TypeIn "Fast"
Moveto [Codigo Plano_Conta     ] TypeIn "blank, Changeto 1.AAAAA8"
Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * A RECEBER SEM PLANO DE CONTA\""
Do_It!
ClearAll
Rm_0060M_AdicionaDados()
endproc

;*******************************************************************************
;*                                                                             *
;*******************************************************************************
Proc Rm_0060M_ARealizarPagar()

{Ask} TypeIn "\\Sistemas\\CtaPag\\Titulos" Enter Check
  switch 
    case TipoFiltro="Empresa" :
      switch
        case ListaRegra_VSDGEMPRESA_Ativo  : Moveto [Codigo da Empresa ] TypeIn ListaRegra_VSDGEMPRESA
        otherwise                          : Moveto [Codigo da Empresa ] TypeIn "~VSDGEMPRESA2.."
      endswitch
    
    case TipoFiltro="Conta"   :
      Moveto [Codigo da Conta ] TypeIn "~VSDGCONTA.."

  endswitch
Moveto [Tipo do Lancamento    ] TypeIn "as \"Tipo Movimento\""
Moveto [Situacao              ] TypeIn "Blank"
Moveto [Data de Vencimento    ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM, as Data"
Moveto [Saldo do Documento    ] TypeIn "> 0.01, as Valor"
Do_It!
ClearAll

If CheckTG_OPFLUXOCX[6]
   Then {Ask} {Answer} TypeIn "Fast Delete"
        Moveto  [Tipo do Pagamento] TypeIn "TC"
        Do_It!
        ClearAll
EndIf

{Ask} {Answer} TypeIn "Fast"
Moveto [Tipo Movimento         ] TypeIn "Changeto S"
Do_It!
ClearAll

{Ask} {Answer} TypeIn "Fast"
Moveto [Codigo Plano_Conta     ] TypeIn "Blank, Changeto 5.AAAAA8"
Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"  * A PAGAR SEM PLANO DE CONTA\""
Do_It!
ClearAll
Rm_0060M_AdicionaDados()

endproc

;*******************************************************************************
;*                                                                             *
;*******************************************************************************
Proc Rm_0060M_ARealizarChequesTerceiros()

If TipoFiltro="Conta" And VSDGTPCONTA<>"X"
  Then Return
EndIf

If CheckTG_OPFLUXOCX[8]
  Then Return
EndIf
         
;--- Cheques terceiros do per¡odo-----------------------------------------------
{Ask} {\\Sistemas\\CheqRec\\ChequeC}
Moveto [Numero do Lancamento  ] Example "nl"
  switch 
    case TipoFiltro="Empresa" :
      switch
        case ListaRegra_VSDGEMPRESA_Ativo  : Moveto [Codigo da Empresa ] TypeIn ListaRegra_VSDGEMPRESA
        otherwise                          : Moveto [Codigo da Empresa ] TypeIn "~VSDGEMPRESA2.."
      endswitch
    
    case TipoFiltro="Conta"   :
      Moveto [Codigo da Conta ] TypeIn "~VSDGCONTA.."

  endswitch
{Ask} {\\Sistemas\\CheqRec\\ChequeI}
Moveto [Numero do Lancamento  ] check Example "nl"
Moveto [Sequencia do Cheque   ] check
Moveto [Valor                 ] Check 
Moveto [Situacao              ] TypeIn "Blank Or \"EM ABERTO\" Or \"PRORROGADO\""
Moveto [Data Vencimento       ] check TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM, as Data"
Moveto [Numero_Conta          ] check TypeIn "as \"Codigo Plano_Conta\""
Moveto [Titular_Cheque        ] check TypeIn "as \"Descricao Plano_Conta\""
Moveto [UF                    ] check TypeIn "as \"Tipo Movimento\""
Do_It!
ClearAll

{Ask} {Answer} typein "fast"
Moveto [Codigo Plano_Conta    ] TypeIn "changeto 1.AAAAAB" 
Moveto [Descricao Plano_Conta ] TypeIn "changeto \"  * CHEQUES DE TERCEIROS A DESCONTAR\""
Moveto [Tipo Movimento        ] TypeIn "Changeto E"
Do_It!
ClearAll
Rm_0060M_AdicionaDados()

;--- Cheques terceiros todos ---------------------------------------------------
{Ask} {\\Sistemas\\CheqRec\\ChequeC}
Moveto [Numero do Lancamento  ] Example "nl"
Moveto [Codigo da Empresa     ] Check TypeIn "~VSDGEMPRESA2.."
{Ask} {\\Sistemas\\CheqRec\\ChequeI}
Moveto [Numero do Lancamento  ] check Example "nl"
Moveto [Sequencia do Cheque   ] check
Moveto [Valor                 ] Check 
Moveto [Situacao              ] TypeIn "Blank Or \"EM ABERTO\" Or \"PRORROGADO\""
Moveto [Data_Entrada          ] TypeIn "<~VSDGDTINI"
Moveto [Data Vencimento       ] TypeIn "<=~VSDGDTFIM"
Do_It!
ClearAll

{Ask} {Answer}
moveto [Valor                  ] typeIn "calc sum as Valor"
Do_It!
if not isempty("Answer")
   then Rm_0060M_CHEQUESASAIR  =Rm_0060M_CHEQUESASAIR  +[Valor]
endif   
ClearAll


{Ask} {\\Sistemas\\CheqRec\\ChequeC}
Moveto [Numero do Lancamento  ] Example "nl"
  switch 
    case TipoFiltro="Empresa" :
      switch
        case ListaRegra_VSDGEMPRESA_Ativo  : Moveto [Codigo da Empresa ] TypeIn ListaRegra_VSDGEMPRESA
        otherwise                          : Moveto [Codigo da Empresa ] TypeIn "~VSDGEMPRESA2.."
      endswitch
    
    case TipoFiltro="Conta"   :
      Moveto [Codigo da Conta ] TypeIn "~VSDGCONTA.."

  endswitch
{Ask} {\\Sistemas\\CheqRec\\ChequeI}
Moveto [Numero do Lancamento  ] check Example "nl"
Moveto [Sequencia do Cheque   ] check
Moveto [Valor                 ] Check 
Moveto [Situacao              ] TypeIn "Blank Or \"EM ABERTO\" Or \"PRORROGADO\""
Moveto [Data Vencimento       ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
Moveto [Data_Entrada          ] Check TypeIn "~VSDGDTINI, as Data"
Moveto [Numero_Conta          ] check TypeIn "as \"Codigo Plano_Conta\""
Moveto [Titular_Cheque        ] check TypeIn "as \"Descricao Plano_Conta\""
Moveto [UF                    ] check TypeIn "as \"Tipo Movimento\""
Do_It!
ClearAll

{Ask} {Answer} typein "fast"
Moveto [Data                  ] TypeIn "changeto ~VSDGDTINI" 
Do_It!
ClearAll

{Ask} {Answer} typein "fast"
Moveto [Codigo Plano_Conta    ] TypeIn "Changeto 5.AAAAAC"
Moveto [Descricao Plano_Conta ] TypeIn "changeto \"  * CHEQUES DE TERCEIROS ESTORNO\""
Moveto [Tipo Movimento        ] TypeIn "Changeto S"
Do_It!
ClearAll
Rm_0060M_AdicionaDados()

endproc

;*******************************************************************************
;*                                                                             *
;*******************************************************************************
Proc Rm_0060M_AdicionaDados()
private wi, mesano, coluna, dtant

if isempty("Answer")
   then return
endif    


dtant=blankdate()

Coedit Tabela, "Answer"
scan

  if [Answer->Data]<>dtant
     then 
          dtant=[Answer->Data]

          mesano=strval(month([Answer->Data]))+"/"+strval(year([Data]))
          
          coluna=0
          for wi from 1 to 12
        
            if mesano=Array_MesAno[wi]
               then coluna=wi
                    quitloop
            endif        
             
          endfor
  
  endif

  if coluna>0
     then
          moveto tabela
          moveto [Codigo Plano_Conta]
          locate [Answer->Codigo Plano_Conta]
          if not retval
             then end
                  down
                  switch
                    case VSDGEMPRESA="0000" : 
                      [Codigo da Empresa     ]=""
              
                    case ListaRegra_VSDGEMPRESA_Ativo  :
                      [Codigo da Empresa     ]=""
                          
                    otherwise               : 
                      [Codigo da Empresa     ]=VSDGEMPRESA2
              
                  endswitch
                  [Codigo da Conta       ]=VSDGCONTA               
                  [Codigo Plano_Conta    ]=[Answer->Codigo Plano_Conta    ]
                  [Descricao Plano_Conta ]=[Answer->Descricao Plano_Conta ]
                  
                  if search("SALDO",[Descricao Plano_Conta ])>0 and
                     ([Codigo Plano_Conta    ]="0"       or
                      [Codigo Plano_Conta    ]="9999999")
                     then [Tipo de Conta    ]="S"
                  endif   
          endif
        
          [Tipo Movimento        ]=[Answer->Tipo Movimento        ]
          switch
            case coluna=1  : [coluna1 ]=[coluna1 ]+[Answer->Valor]  
            case coluna=2  : [coluna2 ]=[coluna2 ]+[Answer->Valor]  
            case coluna=3  : [coluna3 ]=[coluna3 ]+[Answer->Valor]  
            case coluna=4  : [coluna4 ]=[coluna4 ]+[Answer->Valor]  
            case coluna=5  : [coluna5 ]=[coluna5 ]+[Answer->Valor]  
            case coluna=6  : [coluna6 ]=[coluna6 ]+[Answer->Valor]  
            case coluna=7  : [coluna7 ]=[coluna7 ]+[Answer->Valor]  
            case coluna=8  : [coluna8 ]=[coluna8 ]+[Answer->Valor]  
            case coluna=9  : [coluna9 ]=[coluna9 ]+[Answer->Valor]  
            case coluna=10 : [coluna10]=[coluna10]+[Answer->Valor]  
            case coluna=11 : [coluna11]=[coluna11]+[Answer->Valor]  
            case coluna=12 : [coluna12]=[coluna12]+[Answer->Valor]  
          endswitch
                  
  endif   

  moveto "answer"

endscan
do_it!
ClearAll

endproc

;*******************************************************************************
;* ROTINA Ajusta Dados Empresa                                                 *
;*******************************************************************************
Proc Rm_0060M_Processa2()

;***** Ajusta Dados ************************************
switch
  case VSDGEMPRESA="0000"            :
    {Ask} TypeIn Tabela Enter TypeIn "Fast"
    Moveto [Codigo da Empresa      ] TypeIn "changeto 0000"
    Moveto [Nome Fantasia Empresa  ] TypeIn "changeto TOTALIZA EMPRESAS"
    Do_It!
    ClearAll

  case ListaRegra_VSDGEMPRESA_Ativo  :     
    {Ask} TypeIn Tabela Enter TypeIn "Fast"
    Moveto [Codigo da Empresa      ] TypeIn "changeto blank"
    Moveto [Nome Fantasia Empresa  ] TypeIn "changeto SELECIONADAS"
    Do_It!
    ClearAll
    
  otherwise                          :
    {Ask} {\\Sistemas\\Cadastro\\Empresas}
    Moveto [Codigo da Empresa     ] Example "cde"
    Moveto [Nome Fantasia Empresa ] Example "nfe"
    {Ask} TypeIn Tabela Enter TypeIn "Fast"
    Moveto [Codigo da Empresa     ] Example "cde"
    Moveto [Nome Fantasia Empresa ] TypeIn "changeto _nfe"
    Do_It!
    ClearAll

Endswitch

EndProc

;*******************************************************************************
;* Rotina p/ Processar Registros                                               *
;*******************************************************************************
Proc Rm_0060M_Processa()
private c1, c2, c3, c4, i, plok, codempr, codcont
ClearAll

Aguarde("Processando dados")

Switch
  Case TipoFiltro="Empresa": 

    {Ask} TypeIn Tabela Enter TypeIn "Fast"
    Moveto [Codigo da Conta  ] TypeIn "Changeto Blank"
    Do_It!
    ClearAll
    
    Rm_0060M_Processa2()

  Case TipoFiltro="Conta"  : 

    {Ask} TypeIn Tabela Enter TypeIn "Fast"
    Moveto [Codigo da Empresa] TypeIn "Changeto Blank"
    Do_It!
    ClearAll
     
EndSwitch

{Ask} {PlContas}
Moveto [Codigo Plano_Conta    ] Example "cpl"
Moveto [Descricao Plano_Conta ] Example "dpl"
Moveto [Tipo de Conta         ] Example "tpc"
Moveto [TipoEntradaSaida      ] Example "tpm"
{Ask} TypeIn Tabela Enter TypeIn "Fast"
Moveto [Codigo Plano_Conta    ] Example "cpl"
Moveto [Descricao Plano_Conta ] TypeIn "Changeto " Example "dpl"
Moveto [Tipo de Conta         ] typein "changeto " Example "tpc"
Moveto [Tipo Movimento        ] typein "changeto " Example "tpm"
Do_It!
ClearAll

{Ask} TypeIn Tabela Enter TypeIn "Fast"
Moveto [Codigo Plano_Conta     ] TypeIn "Blank, Changeto 00"
Moveto [Descricao Plano_Conta  ] TypeIn "Changeto \"LANCAMENTOS NŽO INFORMADO PLANO DE CONTA =\""
Do_It!
ClearAll

{Ask} typeIn tabela enter check
do_it!
Clearall

CoEdit tabela, "answer"
SetHighLight Current Record 23 Field 31
moveto [Codigo PLano_Conta]
scan for search(".AA",[Codigo Plano_Conta])=0

  c1=SubStr([Answer->Codigo Plano_Conta],01,01)
  c2=SubStr([Answer->Codigo Plano_Conta],01,03)
  c3=SubStr([Answer->Codigo Plano_Conta],01,06)
  c4=SubStr([Answer->Codigo Plano_Conta],01,09)
  c5=       [Answer->Codigo Plano_Conta]         
  
  moveto tabela
  For i From 1 To 4
  
    plok=false
    Moveto [Codigo Plano_Conta]
    Switch
      Case i=1:
           If Not IsBlank(SubStr(c2,02,02))
              Then Locate c1
                   If RetVal
                      Then plok=true
                   EndIf
           EndIf
      Case i=2:
           If Not IsBlank(SubStr(c3,04,03))
              Then Locate c2
                   If RetVal
                      Then plok=true
                   EndIf
           EndIf
      Case i=3:
           If Not IsBlank(SubStr(c4,07,03))
              Then Locate c3
                   If RetVal
                      Then plok=true
                   EndIf
           EndIf
      Case i=4:
           If Not IsBlank(SubStr(c5,10,04))
              Then Locate c4
                   If RetVal
                      Then plok=true
                   EndIf
           EndIf
    EndSwitch
    
    if plok
       then
            [Coluna1  ]=[Coluna1  ]+[Answer->Coluna1  ]
            [Coluna2  ]=[Coluna2  ]+[Answer->Coluna2  ]
            [Coluna3  ]=[Coluna3  ]+[Answer->Coluna3  ]
            [Coluna4  ]=[Coluna4  ]+[Answer->Coluna4  ]
            [Coluna5  ]=[Coluna5  ]+[Answer->Coluna5  ]
            [Coluna6  ]=[Coluna6  ]+[Answer->Coluna6  ]
            [Coluna7  ]=[Coluna7  ]+[Answer->Coluna7  ]
            [Coluna8  ]=[Coluna8  ]+[Answer->Coluna8  ]
            [Coluna9  ]=[Coluna9  ]+[Answer->Coluna9  ]
            [Coluna10 ]=[Coluna10 ]+[Answer->Coluna10 ]
            [Coluna11 ]=[Coluna11 ]+[Answer->Coluna11 ]
            [Coluna12 ]=[Coluna12 ]+[Answer->Coluna12 ]
  
    endif     
    
  EndFor

  moveto "answer"

Endscan
Do_It!
ClearAll

If not CheckTG_OPFLUXOCX[4]
   Then Rm_0060M_PegaSaldos()
Endif

Rm_0060M_FluxodeCaixa()

Sort Tabela On "Codigo Plano_conta"
ClearAll

CoEdit tabela
scan

  if [Codigo Plano_Conta]="0"       and [Descricao Plano_Conta]="SALDO INICIAL" then loop endif
  if [Codigo Plano_Conta]="9999999" and [Descricao Plano_Conta]="SALDO FINAL"   then loop endif

  [Total]=[coluna1 ]+[coluna2 ]+[coluna3 ]+[coluna4 ]+[coluna5 ]+[coluna6 ]+
          [coluna7 ]+[coluna8 ]+[coluna9 ]+[coluna10]+[coluna11]+[coluna12]

endscan
Do_It!
ClearAll

If CheckTG_OPCTAANALITICA[1]
   then
        {Ask} TypeIn Tabela Enter TypeIn "Fast Delete"
        Moveto [Tipo de Conta  ] TypeIn "A" 
        Do_It!
        ClearAll
endif   

If CheckTG_OPCTAANALITICA[2]
   then
        {Ask} TypeIn Tabela Enter TypeIn "Fast Delete"
        Moveto [Tipo de Conta  ] TypeIn "A" 
        Moveto [Total          ] TypeIn "0 or blank" 
        Do_It!
        ClearAll
endif   

if CheckTG_OPCTATRANSF[1]
   then
        {Ask} TypeIn Tabela Enter TypeIn "Fast Delete"
        Moveto [Codigo Plano_Conta     ] TypeIn "\"1.AAAAA5\" or \"5.AAAAA5\""
        Do_It!
        ClearAll
endif    

{Ask} TypeIn Tabela Enter TypeIn "Fast"
Moveto [Coluna1                ] TypeIn "0, Changeto Blank" Down
Moveto [Coluna2                ] TypeIn "0, Changeto Blank" Down
Moveto [Coluna3                ] TypeIn "0, Changeto Blank" Down
Moveto [Coluna4                ] TypeIn "0, Changeto Blank" Down
Moveto [Coluna5                ] TypeIn "0, Changeto Blank" Down
Moveto [Coluna6                ] TypeIn "0, Changeto Blank" Down
Moveto [Coluna7                ] TypeIn "0, Changeto Blank" Down
Moveto [Coluna8                ] TypeIn "0, Changeto Blank" Down
Moveto [Coluna9                ] TypeIn "0, Changeto Blank" Down
Moveto [Coluna10               ] TypeIn "0, Changeto Blank" Down
Moveto [Coluna11               ] TypeIn "0, Changeto Blank" Down
Moveto [Coluna12               ] TypeIn "0, Changeto Blank" 
Do_It!
ClearAll

Rm_0060M_Processa2()

EndProc     ;  (Processa)

;*******************************************************************************
;*                                                                             *
;*******************************************************************************
Proc Rm_0060M_MontaTabela()

{Ask} {PlContas}
Moveto [Codigo Plano_Conta    ] Example "cpl"
Moveto [Descricao Plano_Conta ] Example "dpl"
Moveto [Tipo de Conta         ] Example "tpc"
Moveto [TipoEntradaSaida      ] Example "tpm"
Moveto [Inativo               ] TypeIn "Not S"  
{Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
Moveto [Codigo da Empresa     ] TypeIn "~VSDGEMPRESA2"
Moveto [Codigo da Conta       ] TypeIn "~VSDGCONTA"
Moveto [Codigo Plano_Conta    ] Example "cpl"
Moveto [Descricao Plano_Conta ] Example "dpl"
Moveto [Tipo de Conta         ] Example "tpc"
Moveto [Tipo Movimento        ] Example "tpm"
Do_It!
ClearAll

EndProc ;MontaTabela()

;*******************************************************************************
;*                                                                             *
;*******************************************************************************
Proc Rm_0060M_PegaSaldos()
private anoref, mesref, wi, pos, saldoi, saldof

ClearAll

Aguarde("Processando saldos")

for wi from 1 to 12

  if isblank(Array_MesAno[wi]) then quitloop endif

  pos   =searchfrom("/",Array_MesAno[wi],1)
  MESREF=AlinhM(substr(Array_MesAno[wi],1,pos-1),2)
  ANOREF=AlinhM(substr(Array_MesAno[wi],pos+1,4),4)

  {Ask} TypeIn "\\Sistemas\\Ctacor\\Conta" Enter
  Moveto [Codigo da Conta  ] Example "conta"
  switch 
    case TipoFiltro="Empresa" :
      switch
        case ListaRegra_VSDGEMPRESA_Ativo  : Moveto [Codigo da Empresa ] TypeIn ListaRegra_VSDGEMPRESA
        otherwise                          : Moveto [Codigo da Empresa ] TypeIn "~VSDGEMPRESA2.."
      endswitch
    
    case TipoFiltro="Conta"   :
      Moveto [Codigo da Conta ] TypeIn "~VSDGCONTA.."

  endswitch
  If CheckTG_OPFLUXOCX[5]
     Then Moveto [Tipo da Conta] TypeIn "Not A"
  EndIf
  
  {Ask} TypeIn "\\Sistemas\\Ctacor\\SaldCont" Enter Check
  Moveto [Codigo da Conta       ] Example "conta"
  Moveto [Ano Referencia        ] typeIn "~ANOREF"
  Moveto [Mes Referencia        ] typeIn "~MESREF"
  do_it!
  ClearAll

  saldoi=0
  saldof=0
  
  Coedit TabelaSaldos, "Answer"
  scan
    saldoi = saldoi +  [Saldo Inicial]
    saldof = saldof +(([Saldo Inicial]+[Entradas])-[Saidas])
  endscan
  
  moveto TabelaSaldos
  [Codigo da Empresa     ]=VSDGEMPRESA2
  [Data                  ]=Primeiro_Dia(MESREF+ANOREF)
  [Valor                 ]=saldoi
  [Codigo Plano_Conta    ]="0"
  [Descricao Plano_Conta ]="SALDO INICIAL"
  

  end 
  Down
  [Codigo da Empresa     ]=VSDGEMPRESA2
  [Data                  ]=Primeiro_Dia(MESREF+ANOREF)
  [Valor                 ]=saldof
  [Codigo Plano_Conta    ]="9999999"
  [Descricao Plano_Conta ]="SALDO FINAL"
  do_it!
  ClearAll


  {Ask} TypeIn TabelaSaldos Enter Check
  do_it!
  ClearAll

  Rm_0060M_AdicionaDados()

endfor

endproc

;*******************************************************************************
;*                                                                             *
;*******************************************************************************
Proc Rm_0060M_FluxoDeCaixa()
private wi, e, s, sdi, sdf, codempr, codcont

ClearAll

Aguarde("Processando novos saldos")

sdi=0
sdf=0

Coedit Tabela

for wi from 1 to 12

  Moveto [Codigo Plano_Conta]
  Locate "0" 
  if retval and [Descricao Plano_Conta]="SALDO INICIAL"
     then
          switch
            case wi=1  : sdi=[coluna1 ]
                         sdi=(sdi+Rm_0060M_ENTRADAS)-Rm_0060M_SAIDAS
                         sdi=sdi+(Rm_0060M_CHEQUESAENTRAR)-Rm_0060M_CHEQUESASAIR
                         [coluna1 ]=sdi
                         
            case wi=2  : [coluna2 ]=sdi  
            case wi=3  : [coluna3 ]=sdi  
            case wi=4  : [coluna4 ]=sdi  
            case wi=5  : [coluna5 ]=sdi  
            case wi=6  : [coluna6 ]=sdi  
            case wi=7  : [coluna7 ]=sdi  
            case wi=8  : [coluna8 ]=sdi  
            case wi=9  : [coluna9 ]=sdi  
            case wi=10 : [coluna10]=sdi  
            case wi=11 : [coluna11]=sdi  
            case wi=12 : [coluna12]=sdi  
          endswitch
  endif

  e=0
  s=0
  scan
  
    if [Tipo de Conta     ]="S"                                                   then loop endif
    if [Codigo Plano_Conta]="0"       and [Descricao Plano_Conta]="SALDO INICIAL" then loop endif
    if [Codigo Plano_Conta]="9999999" and [Descricao Plano_Conta]="SALDO FINAL"   then loop endif

    switch
      case wi=1  : vr= [coluna1 ]  
      case wi=2  : vr= [coluna2 ]  
      case wi=3  : vr= [coluna3 ]  
      case wi=4  : vr= [coluna4 ]  
      case wi=5  : vr= [coluna5 ]  
      case wi=6  : vr= [coluna6 ]  
      case wi=7  : vr= [coluna7 ]  
      case wi=8  : vr= [coluna8 ]  
      case wi=9  : vr= [coluna9 ]  
      case wi=10 : vr= [coluna10]  
      case wi=11 : vr= [coluna11]  
      case wi=12 : vr= [coluna12]  
    endswitch
  
    if [Tipo Movimento]="E" then e=e+vr endif
    if [Tipo Movimento]="S" then s=s+vr endif
  
  endscan

  sdf=(sdi+e)-s
  
  Moveto [Codigo Plano_Conta]
  locate "9999999"
  if retval and [Descricao Plano_Conta]="SALDO FINAL"
     then 
          switch
            case wi=1  : [coluna1 ]=sdf  
            case wi=2  : [coluna2 ]=sdf  
            case wi=3  : [coluna3 ]=sdf  
            case wi=4  : [coluna4 ]=sdf  
            case wi=5  : [coluna5 ]=sdf  
            case wi=6  : [coluna6 ]=sdf  
            case wi=7  : [coluna7 ]=sdf  
            case wi=8  : [coluna8 ]=sdf  
            case wi=9  : [coluna9 ]=sdf  
            case wi=10 : [coluna10]=sdf  
            case wi=11 : [coluna11]=sdf  
            case wi=12 : [coluna12]=sdf  
          endswitch
  endif
  
  sdi=sdf
  sdf=0

endfor
do_it!
ClearAll

endproc

;*******************************************************************************
;*                                                                             *
;*******************************************************************************
Proc Rm_0060S_MontaMeses()
private wi, mesini, anoini

Array Array_MesAno[12]
Array Array_Tit_MesAno[12]

for wi from 1 to 12
  Array_MesAno[wi]    =blanknum()
  Array_Tit_MesAno[wi]=""
endfor

mesini=month(VSDGDTINI)
anoini=year(VSDGDTINI)
for wi from 1 to 12

   Array_MesAno[wi]    =strval(mesini)+"/"+strval(anoini)
   Array_Tit_MesAno[wi]=Format("W13,AR",rtrim(MesExt(mesini))+"/"+substr(strval(anoini),3,2))

   if mesini=12
      then mesini=1
           anoini=anoini+1
      else mesini=mesini+1
   endif

   if ( anoini=year(VSDGDTFIM) and mesini> month(VSDGDTFIM) ) or
      ( anoini>year(VSDGDTFIM) and mesini>=month(VSDGDTFIM) ) 
      then quitloop
   endif
endfor

endproc

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************
AGUARDE("Aguarde, Gerando o Relat¢rio")

Tabela=Cria_Temp(PrivDir())
Copy "\\Base\\Sistemas\\Ctacor\\RM_0211" Tabela
Empty Tabela

TabelaSaldos=Cria_Temp(PrivDir())
Cria_Tabela(TabelaSaldos,"Codigo da Empresa(A4), Codigo da Conta(A4), Data(D), Valor($), Codigo Plano_Conta(A13), Descricao Plano_Conta(A48),"+
                         "Tipo de Conta(A1), Tipo Movimento(A1)")

Rm_0060S_MontaMeses()

Rm_0060M_MontaTabela()

Rm_0060M_CHEQUESAENTRAR=0
Rm_0060M_CHEQUESASAIR  =0
Rm_0060M_ENTRADAS      =0
Rm_0060M_SAIDAS        =0 
VSDGDTREF     =Primeiro_Dia_Data(VSDGDTINI)

Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
While Novo_Dir_Trab()
  If IsTable("Answer")     Then Delete "Answer" EndIf
  Rm_0060M_Realizado()
EndWhile

Monta_Dir_Trab(VSDGDTINI-360,VSDGDTFIM)
While Novo_Dir_Trab()
  If IsTable("Answer")     Then Delete "Answer" EndIf
  Rm_0060M_ChequesEmitidos()
EndWhile

Rm_0060M_ARealizarReceber()
Rm_0060M_ARealizarPagar()
Rm_0060M_ARealizarChequesTerceiros()

If IsEmpty(Tabela)
   Then MENSAGEM("N„o existem registros a processar")
   else 
        Rm_0060M_Processa()
        
        tit_opcao=""                                  
        
        Impressao_Orientacao="Paisagem"
        
        CI_FONT=chr(27)+"k10"
        
        IMPRIREL(Tabela,"1")
EndIf
Delete Tabela
Delete TabelaSaldos

ClearAll
Release Vars  Array_MesAno, Array_Tit_MesAno,
              Rm_0060M_CHEQUESAENTRAR, Rm_0060M_CHEQUESASAIR,
              Rm_0060M_ENTRADAS, Rm_0060M_SAIDAS,
              VSDGDTREF, wi, tit_opcao, 
              Tabela, TabelaSaldos             
 
Release Procs Rm_0060M_MontaTabela,
              Rm_0060M_Realizado, Rm_0060M_ChequesEmitidos,
              Rm_0060M_PegaSaldos, Rm_0060M_FluxodeCaixa,
              Rm_0060M_ARealizarReceber, Rm_0060M_ARealizarPagar, Rm_0060M_ARealizarChequesTerceiros,
              Rm_0060M_Processa, Rm_0060M_Processa2,
              Rm_0060S_MontaMeses

