;** Rm_0070  *******************************************************************
;*  Analitico por Tipo de Lancamento                                           *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 23/10/96 por Anivel Augusto Rodrigues
;Ultima Alteracao: 17/02/2004 por Anivel Augusto Rodrigues
;Motivo Alteracao: Mudan‡a Tabela Temporaria PrivDir()
;Ultima Alteracao: 05/05/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: TOTALIZA EMPRESAS
;Ultima Alteracao: 03/09/2014 por Andrey Fillipe
;Motivo Alteracao: Adicionado filtro Op‡ao de data
;Ultima Alteracao: 06/09/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                   
;Ultima Alteracao: 17/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes TG_EMPRESATE                 
;Ultima Alteracao: 26/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                   
;Ultima Alteracao: 26/04/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Incluido RM_0080
;Ultima Alteracao: 29/05/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Adicionado ValidarModelosRelatorios()
;Ultima Alteracao: 03/04/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Showdialog                       
;Ultima Alteracao: 15/05/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes titulo showdialog              
;Ultima Alteracao: 20/05/2020 por Bruno Carvalho
;Motivo Alteracao: Alterado CopyReport "...\\MovCont" p/ "...\\Ctacor\\RM_0030"
;Ultima Alteracao: 22/01/2021 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ chamar filtro padrÆo *RM_0130*

;*******************************************************************************
;* Rotina p/ Selecionar e Ordernar Registros                                   *
;*******************************************************************************
Proc  RM_0070A_Seleciona()
ClearAll                  

If IsTable("\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont")
  Then {Ask} TypeIn "\\Sistemas\\Ctacor\\"+Dir_Trab+"MovCont" Enter Check
       Moveto [Codigo da Empresa  ] TypeIn "~VSDGEMPRESA2.."
       Moveto [Codigo da Conta    ] TypeIn "~VSDGCONTA.."
       Moveto [Codigo_Usuario     ] TypeIn "~VSDGCHAPA.."       
       Moveto [Numero_Controle_Dia] TypeIn "~VSDGNCONTROLE.."
       If IsBlank(VSDGNCONTROLE)
        Then If VSDGOPDTEMISCOMP = "1"
                Then Moveto [Data Competencia] Check
                     Moveto [Data            ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM"
                Else Moveto [Data            ] Check
                     Moveto [Data Competencia] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM, as Data"
             EndIf
       EndIf
       If CheckTG_OPCCUSTO[1]
          Then Moveto [Codigo CCusto         ] TypeIn "Not Blank, ~VSDGCCUSTO.."
          Else Moveto [Codigo CCusto         ] TypeIn "~VSDGCCUSTO.."
       Endif        
       Moveto [Tipo Movimento    ] TypeIn "~VSDGOPERACAO.."       
       Moveto [Tipo de Operacao  ] TypeIn "not 01, not 02, not 08, not 09, not 10, not 11"
       Moveto [Tipo do Lancamento] TypeIn "~VSDGTPLANC.."                            
       Do_It!
       ClearAll
EndIf            

EndProc ;RM_0070A_Seleciona

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

switch
  case VSDGCODMODELO="13B" : 
    {Ask} TypeIn Tabela Enter TypeIn "Fast"
    Moveto [Tipo Movimento] TypeIn "S"
    Moveto [Valor         ] Example "VR" TypeIn ", Changeto " Example "VR" TypeIn "*-1"
    Do_It!
    ClearAll

endswitch

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

EndProc ;RM_0070A_Processa

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************
While True
  AGUARDE("Aguarde, gerando o relat¢rio")
  Tabela=Cria_Temp(PrivDir())

  Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
  While Novo_Dir_Trab()
    If IsTable("Answer")     Then Delete "Answer" EndIf
    RM_0070A_Seleciona()
    If Not IsTable("Answer") Then Loop EndIf
    If IsTable(Tabela)
       Then Add "Answer" Tabela
       Else Rename "Answer" Tabela
    EndIf
  EndWhile

  If IsEmpty(Tabela)
     Then MENSAGEM("N„o existem registros a processar")
          Delete Tabela
          Return
  EndIf
  RM_0070A_Processa()

  switch
    case VSDGCODMODELO="13A" : CopyReport "\\Base\\Sistemas\\Ctacor\\RM_0030" "5" Tabela "R"
    case VSDGCODMODELO="13B" : CopyReport "\\Base\\Sistemas\\Ctacor\\RM_0030" "4" Tabela "R"
  endswitch
  IMPRIREL(Tabela,"R")

  Delete Tabela
  QuitLoop
EndWhile
ClearAll

Release Vars RM_0070A_Seleciona,RM_0070A_Processa