;** Rm_0100 ********************************************************************
;* Realtorio Auditor Usuario/Controle                                          *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 02/09/2004 por Anivel Augusto Rodrigues
;Ultima Alteracao: 21/03/2006 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes na Ask
;Ultima Alteracao: 03/12/2014 por Bruno Carvalho
;Motivo Alteracao: Altera‡Æo do nome da tabela de "Audit" -> "RM_1000" 
;Ultima Alteracao: 05/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes TG_NCONTROLE                   
;Ultima Alteracao: 14/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                   

;*******************************************************************************
;* Rotina p/ Criar Modulos                                                     *
;*******************************************************************************
Proc CriaModulo(Modc,Descr,totnd,totvr)
Private Modc,Descr,totnd,totvr,Modulo,S

Moveto Tabela
For i From 1 to 3
 Switch
   Case i=1: Modulo=SubStr(Modc,1,1)+".0.00.00"  S=""
   Case i=2: Modulo=SubStr(Modc,1,3)+  ".00.00"  S=Spaces(2)
   Case i=3: Modulo=Modc                         S=Spaces(4)
 EndSwitch

 Moveto [Codigo da Empresa]
 Locate empan,usean,Modulo
 If Not RetVal
    Then End Down
         [Codigo da Empresa]=empan
         [Chapa_Usuario    ]=usean
         [Modulo           ]=Modulo
         Switch
           Case Modulo="1.0.00.00": [Descricao Modulo]=S+"FATURAMENTO"
           Case Modulo="1.1.00.00": [Descricao Modulo]=S+"ENTRADAS"
           Case Modulo="1.2.00.00": [Descricao Modulo]=S+"SAIDAS"
           Case Modulo="1.3.00.00": [Descricao Modulo]=S+"VENDAS"

           Case Modulo="2.0.00.00": [Descricao Modulo]=S+"CHEQUES TERCEIROS"
           Case Modulo="2.1.00.00": [Descricao Modulo]=S+"ENTRADAS"
           Case Modulo="2.2.00.00": [Descricao Modulo]=S+"LIQUIDADOS"

           Case Modulo="3.0.00.00": [Descricao Modulo]=S+"CONTAS A RECEBER"
           Case Modulo="3.1.00.00": [Descricao Modulo]=S+"ENTRADAS"
           Case Modulo="3.2.00.00": [Descricao Modulo]=S+"BAIXAS"

           Case Modulo="4.0.00.00": [Descricao Modulo]=S+"CONTAS A PAGAR"
           Case Modulo="4.1.00.00": [Descricao Modulo]=S+"ENTRADAS"
           Case Modulo="4.2.00.00": [Descricao Modulo]=S+"BAIXAS"

           Case Modulo="5.0.00.00": [Descricao Modulo]=S+"CAIXA/BANCO"
           Case Modulo="5.1.00.00": [Descricao Modulo]=S+"ENTRADAS"
           Case Modulo="5.2.00.00": [Descricao Modulo]=S+"SAIDAS"

           Case Modulo="6.0.00.00": [Descricao Modulo]=S+"NOTAS ENTRADAS"
           Case Modulo="6.1.00.00": [Descricao Modulo]=S+"OPERACOES"
           Case Modulo="6.2.00.00": [Descricao Modulo]=S+"COMPRAS/APLICACAO DIRETA"

           OtherWise              : [Descricao Modulo]=S+Descr
                                    [Qtd Doctos      ]=totnd
                                    [Soma Doctos     ]=totvr
         EndSwitch
 EndIf
EndFor
EndProc

;*******************************************************************************
;* Rotina p/ Acumular/Somar Totais                                             *
;*******************************************************************************
Proc Acumular()
totvr=totvr+[Answer->Valor  ]
totnd=totnd+[Answer->NDoctos]
Seq2 =Seq2 +1

Moveto "Answer"
EndProc

;*******************************************************************************
;* Rotina p/ Acumular/Somar Totais                                             *
;*******************************************************************************
Proc Acumular3()
totvr3=totvr3+totvr
totnd3=totnd3+totnd
Seq3 =Seq3 +1

Moveto "Answer"
EndProc

;*******************************************************************************
;* Rotina p/ Zerar Variaveis                                                   *
;*******************************************************************************
Proc ZeraVar()

Moveto "Answer"
totvr=0
totnd=0
Seq2 =1

empan=[Answer->Codigo da Empresa]
usean=[Answer->Codigo_Usuario   ]
EndProc

;*******************************************************************************
;* Rotina p/ Zerar Variaveis                                                   *
;*******************************************************************************
Proc ZeraVar3()

Moveto "Answer"
totvr3=0
totnd3=0
Seq3 =1

EndProc

;*******************************************************************************
;* Rotina p/ Selecionar Registros                                              *
;*******************************************************************************
Proc Faturamento()

ClearAll
MSG_AGUARDE="Aguarde, Analisando Faturamento      "
Aguarde(MSG_AGUARDE+Barra(NModulos,1))

{Ask} TypeIn "\\Sistemas\\Vendas\\NotaC" Enter
Moveto [Codigo da Empresa      ] CheckPlus Example "cemp" TypeIn ", ~VSDGEMPRESA.."
Moveto [Numero do Documento    ] Example "ndoc"
Moveto [Serie do Documento     ] Example "sdoc"
Moveto [Codigo da Destinacao   ] CheckPlus TypeIn "Calc _cemp+_ndoc+_sdoc as contador"
Moveto [Descricao da Destinacao] CheckPlus
Moveto [Tipo Movimento Estoque ] CheckPlus
Moveto [Valor Nota Fiscal      ] CheckPlus
Moveto [Situacao               ] TypeIn "Not C"
Moveto [Codigo_Usuario         ] CheckPlus TypeIn "~VSDGCHAPA.."
Moveto [Numero_Controle_Dia    ] TypeIn "~VSDGNCONTROLE.."
If IsBlank(VSDGNCONTROLE)
   Then Moveto [Data_Inclusao  ] TypeIn ">=~VSDGDTINI ,<=~VSDGDTFIM"
EndIf
Do_It!
ClearAll

If Not IsEmpty("Answer") Then
   {Ask} {Answer}
   Moveto [Codigo da Empresa      ] Check
   Moveto [Codigo_Usuario         ] Check
   Moveto [Codigo da Destinacao   ] Check
   Moveto [Descricao da Destinacao] Check
   Moveto [Tipo Movimento Estoque ] Check
   Moveto [Valor Nota Fiscal      ] TypeIn "Calc Sum as Valor"
   Moveto [Contador               ] TypeIn "Calc Count as NDoctos"
   Do_It!
   ClearAll

   Sort "Answer" On "Codigo da Empresa","Codigo_Usuario",
                    "Tipo Movimento Estoque", "Descricao da Destinacao",
                    "Codigo da Destinacao"
   ClearImage

   CoEdit Tabela,"Answer"
   ZeraVar()
   tm=[Tipo Movimento Estoque]
   Scan
     If [Codigo da Empresa     ]<>empan Or
        [Codigo_Usuario        ]<>usean Or
        [Tipo Movimento Estoque]<>tm
        Then If totnd>0 And Seq2>2 Then
                If tm="E"
                   Then CriaModulo("1.1.00."+AlinhM(StrVal(Seq2),2),"TOTAL...",totnd,totvr)
                   Else CriaModulo("1.2.00."+AlinhM(StrVal(Seq2),2),"TOTAL...",totnd,totvr)
                EndIf
             EndIf
             ZeraVar()
             tm=[Answer->Tipo Movimento Estoque]
     EndIf
     If [Answer->Tipo Movimento Estoque]="E"
        Then CriaModulo("1.1.00."+AlinhM(StrVal(Seq2),2),[Answer->Descricao da Destinacao],[Answer->NDoctos],[Answer->Valor])
        Else CriaModulo("1.2.00."+AlinhM(StrVal(Seq2),2),[Answer->Descricao da Destinacao],[Answer->NDoctos],[Answer->Valor])
     EndIf
     Acumular()
   EndScan

   If totnd>0 And Seq2>2 Then
      If tm="E"
         Then CriaModulo("1.1.00."+AlinhM(StrVal(Seq2),2),"TOTAL...",totnd,totvr)
         Else CriaModulo("1.2.00."+AlinhM(StrVal(Seq2),2),"TOTAL...",totnd,totvr)
      EndIf
   EndIf
   Do_It!
   ClearAll
EndIf

{Ask} TypeIn "\\Sistemas\\Cadastro\\TpPagto" Enter
Moveto [Tipo do Pagamento       ] Example "tpg"
Moveto [Descricao Tipo Pagamento] CheckPlus
{Ask} TypeIn "\\Sistemas\\Vendas\\NotaC" Enter
Moveto [Codigo da Empresa      ] CheckPlus Example "cemp" TypeIn ", ~VSDGEMPRESA.."
Moveto [Numero do Documento    ] Example "ndoc"
Moveto [Serie do Documento     ] Example "sdoc"
Moveto [Descricao da Destinacao] TypeIn "..VEND.. or ..SERV.. or ..SAIDA.."
Moveto [Tipo Movimento Estoque ] TypeIn "S"
Moveto [Data de Emissao        ] CheckPlus
Moveto [Situacao               ] TypeIn "Not C"
Moveto [Codigo_Usuario         ] CheckPlus TypeIn "~VSDGCHAPA.."
Moveto [Numero_Controle_Dia    ] TypeIn "~VSDGNCONTROLE.."
If IsBlank(VSDGNCONTROLE)
   Then Moveto [Data_Inclusao  ] TypeIn ">=~VSDGDTINI ,<=~VSDGDTFIM"
EndIf
{Ask} TypeIn "\\Sistemas\\Vendas\\NotaV" Enter
Moveto [Codigo da Empresa      ] Example "cemp"
Moveto [Numero do Documento    ] Example "ndoc"
Moveto [Serie do Documento     ] Example "sdoc"
Moveto [Sequencia              ] Example "seq" TypeIn ", Calc _cemp+_ndoc+_sdoc+_seq as contador"
Moveto [Data                   ] CheckPlus
Moveto [Valor                  ] CheckPlus
Moveto [Numero_Conta           ] CheckPlus
Moveto [Forma de Pagamento     ] Example "tpg" CheckPlus
Do_It!
ClearAll

If Not IsEmpty("Answer") Then
   {Ask} {Answer} TypeIn "Fast"
   Moveto [Data                    ] TypeIn ">_emis"
   Moveto [Data de Emissao         ] Example "emis"
   Moveto [Numero_Conta            ] TypeIn "Changeto \"A PRAZO\""
   Down
   Moveto [Data                    ] TypeIn "<=_emis2"
   Moveto [Data de Emissao         ] Example "emis2"
   Moveto [Numero_Conta            ] TypeIn "Changeto \"A VISTA\""
   Do_It!
   ClearAll


   {Ask} {Answer}
   Moveto [Codigo da Empresa       ] Check
   Moveto [Codigo_Usuario          ] Check
   Moveto [Forma de Pagamento      ] Check
   Moveto [Descricao Tipo Pagamento] Check
   Moveto [Numero_Conta            ] Check
   Moveto [Valor                   ] TypeIn "Calc Sum as Valor"
   Moveto [Contador                ] TypeIn "Calc Count as NDoctos"
   Do_It!
   ClearAll

   Sort "Answer" On "Codigo da Empresa","Codigo_Usuario", "Numero_Conta",
                    "Descricao Tipo Pagamento", "Forma de Pagamento"
   ClearImage

   CoEdit Tabela,"Answer"
   ZeraVar()
   ZeraVar3()
   conan="****"
   Seq1=0

   Scan
     If [Codigo da Empresa     ]<>empan Or
        [Codigo_Usuario        ]<>usean Or
        [Numero_Conta          ]<>conan Then

        If totnd>0 And Seq2>2 And conan<>"****"
           Then CriaModulo("1.3."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"  TOTAL...",totnd,totvr)
        EndIf
        If conan<>"****"
           Then Acumular3()
        EndIf

        If [Codigo da Empresa  ]<>empan Or
           [Codigo_Usuario     ]<>usean Then
           Seq1=0
        EndIf

        Seq1=Seq1+1
        ZeraVar()
        CriaModulo("1.3."+AlinhM(StrVal(Seq1),2)+".00",[Answer->Numero_Conta],BlankNum(),BlankNum())
        conan=[Answer->Numero_Conta]
     EndIf
     hist=[Answer->Forma de Pagamento]+"-"+[Answer->Descricao Tipo Pagamento]
     CriaModulo("1.3."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"  "+hist,[Answer->NDoctos],[Answer->Valor])
     Acumular()
   EndScan

   If totnd>0 And Seq2>2 Then
      CriaModulo("1.3."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"  TOTAL...",totnd,totvr)
   EndIf

   Acumular3()
   Seq1=Seq1+1

   If totnd3>0 And Seq3>1 Then
      CriaModulo("1.3."+AlinhM(StrVal(Seq1),2)+".00","TOTAL...",totnd3,totvr3)
   EndIf
   Do_It!
   ClearAll

EndIf

{Ask} TypeIn "\\Sistemas\\Vendas\\NotaC" Enter
Moveto [Codigo da Empresa      ] CheckPlus Example "cemp" TypeIn ", ~VSDGEMPRESA.."
Moveto [Numero do Documento    ] Example "ndoc"
Moveto [Serie do Documento     ] Example "sdoc" TypeIn ", Calc _cemp+_ndoc+_sdoc as contador"
Moveto [Valor Nota Fiscal      ] CheckPlus
Moveto [Situacao               ] CheckPlus TypeIn "C"
Moveto [Codigo_Usuario         ] CheckPlus TypeIn "~VSDGCHAPA.."
Moveto [Numero_Controle_Dia    ] TypeIn "~VSDGNCONTROLE.."
If IsBlank(VSDGNCONTROLE)
   Then Moveto [Data_Inclusao  ] TypeIn ">=~VSDGDTINI ,<=~VSDGDTFIM"
EndIf
Do_It!
ClearAll

If Not IsEmpty("Answer") Then
   {Ask} {Answer}
   Moveto [Codigo da Empresa      ] Check
   Moveto [Codigo_Usuario         ] Check
   Moveto [Valor Nota Fiscal      ] TypeIn "Calc Sum as Valor"
   Moveto [Contador               ] TypeIn "Calc Count as NDoctos"
   Do_It!
   ClearAll

   Sort "Answer" On "Codigo da Empresa","Codigo_Usuario"
   ClearImage

   CoEdit Tabela,"Answer"
   ZeraVar()
   Scan
     If [Codigo da Empresa     ]<>empan Or
        [Codigo_Usuario        ]<>usean Then
        ZeraVar()
     EndIf
     CriaModulo("1.4.00.00","CANCELAMENTOS",[Answer->NDoctos],BlankNum())
     Acumular()
   EndScan
   Do_It!
   ClearAll
EndIf

EndProc


;*******************************************************************************
;* Rotina p/ Selecionar Registros                                              *
;*******************************************************************************
Proc ChequesTerc()

ClearAll
;;;;;;;;;;;;"1234567890123456789012345678901234567"
MSG_AGUARDE="Aguarde, Analisando Cheques Terceiros"
Aguarde(MSG_AGUARDE+Barra(NModulos,2))

{Ask} TypeIn "\\Sistemas\\Cheqrec\\ChequeC" Enter
Moveto [Numero do Lancamento   ] Example "nlan"
Moveto [Codigo da Empresa      ] CheckPlus TypeIn "~VSDGEMPRESA.."
{Ask} TypeIn "\\Sistemas\\Cheqrec\\ChequeI" Enter
Moveto [Numero do Lancamento   ] Example "nlan"
Moveto [Sequencia do Cheque    ] Example "seq" TypeIn " ,Calc _nlan+_seq as contador"
Moveto [Valor                  ] CheckPlus
Moveto [Sistema Origem         ] CheckPlus
Moveto [Codigo_Usuario         ] CheckPlus TypeIn "~VSDGCHAPA.."
Moveto [Numero_Controle_Dia    ] TypeIn "~VSDGNCONTROLE.."
If IsBlank(VSDGNCONTROLE)
   Then Moveto [Data_Inclusao  ] TypeIn ">=~VSDGDTINI ,<=~VSDGDTFIM"
EndIf
Do_It!
ClearAll

If Not IsEmpty("Answer") Then
   {Ask} {Answer}
   Moveto [Codigo da Empresa      ] Check
   Moveto [Codigo_Usuario         ] Check
   Moveto [Sistema Origem         ] Check
   Moveto [Valor                  ] TypeIn "Calc Sum as Valor"
   Moveto [Contador               ] TypeIn "Calc Count as NDoctos"
   Do_It!
   ClearAll

   Sort "Answer" On "Codigo da Empresa","Codigo_Usuario",
                    "Sistema Origem"
   ClearImage


   CoEdit Tabela,"Answer"
   ZeraVar()
   Scan
     If [Codigo da Empresa     ]<>empan Or
        [Codigo_Usuario        ]<>usean Then
        ZeraVar()
     EndIf
     CriaModulo("2.1.00."+AlinhM(StrVal(Seq2),2),[Answer->Sistema Origem],[Answer->NDoctos],[Answer->Valor])
     Acumular()
   EndScan

   If totnd>0 And Seq2>2 Then
      CriaModulo("2.1.00."+AlinhM(StrVal(Seq2),2),"TOTAL...",totnd,totvr)
   EndIf
   Do_It!
   ClearAll
EndIf

{Ask} TypeIn "\\Sistemas\\Cheqrec\\BordChC" Enter
Moveto [Numero do Lote         ] Example "nlan"
Moveto [Codigo da Empresa      ] CheckPlus TypeIn "~VSDGEMPRESA.."
Moveto [Tipo de Destino        ] CheckPlus
{Ask} TypeIn "\\Sistemas\\Cheqrec\\BordChI" Enter
Moveto [Numero do Lote         ] Example "nlan"
Moveto [Sequencia do Lote      ] Example "seq" TypeIn " ,Calc _nlan+_seq as contador"
Moveto [Valor                  ] CheckPlus
Moveto [Codigo_Usuario         ] CheckPlus TypeIn "~VSDGCHAPA.."
Moveto [Numero_Controle_Dia    ] TypeIn "~VSDGNCONTROLE.."
If IsBlank(VSDGNCONTROLE)
   Then Moveto [Data_Inclusao  ] TypeIn ">=~VSDGDTINI ,<=~VSDGDTFIM"
EndIf
Do_It!
ClearAll

If Not IsEmpty("Answer") Then
   {Ask} {Answer}
   Moveto [Codigo da Empresa      ] Check
   Moveto [Codigo_Usuario         ] Check
   Moveto [Tipo de Destino        ] Check
   Moveto [Valor                  ] TypeIn "Calc Sum as Valor"
   Moveto [Contador               ] TypeIn "Calc Count as NDoctos"
   Do_It!
   ClearAll

   Sort "Answer" On "Codigo da Empresa","Codigo_Usuario",
                    "Tipo de Destino"
   ClearImage

   CoEdit Tabela,"Answer"
   ZeraVar()
   Scan
     If [Codigo da Empresa     ]<>empan Or
        [Codigo_Usuario        ]<>usean Then
        ZeraVar()
     EndIf
     Switch
       Case [Answer->Tipo de Destino]="PRORROGADO":
            CriaModulo("2.3.00.00",[Answer->Tipo de Destino],[Answer->NDoctos],[Answer->Valor])
            Moveto "Answer"
       Case [Answer->Tipo de Destino]="SEM FUNDO" :
            CriaModulo("2.4.00.00",[Answer->Tipo de Destino],[Answer->NDoctos],[Answer->Valor])
            Moveto "Answer"
       OtherWise                                  :
            CriaModulo("2.2.00."+AlinhM(StrVal(Seq2),2),[Answer->Tipo de Destino],[Answer->NDoctos],[Answer->Valor])
            Acumular()
     EndSwitch
   EndScan

   If totnd>0 And Seq2>2 Then
      CriaModulo("2.2.00."+AlinhM(StrVal(Seq2),2),"TOTAL...",totnd,totvr)
   EndIf
   Do_It!
   ClearAll
EndIf
EndProc

;*******************************************************************************
;* Rotina p/ Selecionar Registros                                              *
;*******************************************************************************
Proc CtasReceber()

ClearAll
MSG_AGUARDE="Aguarde, Analisando Contas a Receber "
Aguarde(MSG_AGUARDE+Barra(NModulos,3))

{Ask} TypeIn "\\Sistemas\\Ctarec\\Duplic" Enter
Moveto [Numero do Lancamento   ] CheckPlus TypeIn "As Contador"
Moveto [Codigo da Empresa      ] CheckPlus TypeIn "~VSDGEMPRESA.."
Moveto [Tipo do Documento      ] CheckPlus
Moveto [Valor do Documento     ] CheckPlus TypeIn "As Valor"
Moveto [Codigo_Usuario         ] CheckPlus TypeIn "~VSDGCHAPA.."
Moveto [Numero_Controle_Dia    ] TypeIn "~VSDGNCONTROLE.."
If IsBlank(VSDGNCONTROLE)
   Then Moveto [Data_Inclusao  ] TypeIn ">=~VSDGDTINI ,<=~VSDGDTFIM"
EndIf
Do_It!
ClearAll

If Not IsEmpty("Answer") Then
   {Ask} {Answer}
   Moveto [Codigo da Empresa      ] Check
   Moveto [Codigo_Usuario         ] Check
   Moveto [Tipo do Documento      ] Check
   Moveto [Valor                  ] TypeIn "Calc Sum as Valor"
   Moveto [Contador               ] TypeIn "Calc Count as NDoctos"
   Do_It!
   ClearAll

   Sort "Answer" On "Codigo da Empresa","Codigo_Usuario",
                    "Tipo do Documento"
   ClearImage

   CoEdit Tabela,"Answer"
   ZeraVar()
   Scan
     If [Codigo da Empresa     ]<>empan Or
        [Codigo_Usuario        ]<>usean Then
        ZeraVar()
     EndIf
     CriaModulo("3.1.00."+AlinhM(StrVal(Seq2),2),[Answer->Tipo do Documento],[Answer->NDoctos],[Answer->Valor])
     Acumular()
   EndScan

   If totnd>0 And Seq2>2 Then
      CriaModulo("3.1.00."+AlinhM(StrVal(Seq2),2),"TOTAL...",totnd,totvr)
   EndIf
   Do_It!
   ClearAll
EndIf

{Ask} TypeIn "\\Sistemas\\Ctarec\\DupBaixa" Enter
Moveto [Numero do Lancamento   ] Example "nlan"
Moveto [Codigo da Empresa      ] CheckPlus TypeIn "~VSDGEMPRESA.."
Moveto [Sequencia da Baixa     ] Example "seq" TypeIn " ,Calc _nlan+_seq as contador"
Moveto [Valor do Recebimento   ] CheckPlus TypeIn "As Valor"
Moveto [Tipo da Baixa          ] CheckPlus
Moveto [Codigo da Conta        ] CheckPlus
Moveto [Descricao da Conta     ] CheckPlus
Moveto [Valor Dinheiro         ] CheckPlus
Moveto [Valor Cheque           ] CheckPlus
Moveto [Valor Cheque Pre_Datado] CheckPlus
Moveto [Codigo_Usuario         ] CheckPlus TypeIn "~VSDGCHAPA.."
Moveto [Numero_Controle_Dia    ] TypeIn "~VSDGNCONTROLE.."
If IsBlank(VSDGNCONTROLE)
   Then Moveto [Data_Inclusao  ] TypeIn ">=~VSDGDTINI ,<=~VSDGDTFIM"
EndIf
Do_It!
ClearAll

If Not IsEmpty("Answer") Then
   {Ask} {Answer}
   Moveto [Codigo da Empresa      ] Check
   Moveto [Codigo_Usuario         ] Check
   Moveto [Codigo da Conta        ] Check
   Moveto [Descricao da Conta     ] Check
   Moveto [Tipo da Baixa          ] Check
   Moveto [Valor                  ] TypeIn "Calc Sum as Valor"
   Moveto [Valor Dinheiro         ] TypeIn "Calc Sum as Valor Dinheiro"
   Moveto [Valor Cheque           ] TypeIn "Calc Sum as Valor Cheque"
   Moveto [Valor Cheque Pre_Datado] TypeIn "Calc Sum as Valor ChequeP"
   Moveto [Contador               ] TypeIn "Calc Count as NDoctos"
   Do_It!
   ClearAll

   Sort "Answer" On "Codigo da Empresa","Codigo_Usuario",
                    "Descricao da Conta","Codigo da Conta","Tipo da Baixa"
   ClearImage

   CoEdit Tabela,"Answer"
   ZeraVar()
   conan="****"
   Seq1=0
   Scan
     If [Codigo da Empresa     ]<>empan Or
        [Codigo_Usuario        ]<>usean Or
        [Codigo da Conta       ]<>conan Then
        If [Codigo da Empresa  ]<>empan Or
           [Codigo_Usuario     ]<>usean Then
           Seq1=0
        EndIf
        Seq1=Seq1+1
        ZeraVar()
        CriaModulo("3.2."+AlinhM(StrVal(Seq1),2)+".00",[Answer->Codigo da Conta]+"-"+[Answer->Descricao da Conta],BlankNum(),BlankNum())
        conan=[Answer->Codigo da Conta]
     EndIf
     CriaModulo("3.2."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"  "+[Answer->Tipo da Baixa],[Answer->NDoctos],[Answer->Valor])
     If [Answer->Valor Dinheiro]>0 Then
        Seq2=Seq2+1
        CriaModulo("3.2."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"    DINHEIRO",BlankNum(),[Answer->Valor Dinheiro])
     EndIf
     If [Answer->Valor Cheque  ]>0 Then
        Seq2=Seq2+1
        CriaModulo("3.2."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"    CHEQUE  ",BlankNum(),[Answer->Valor Cheque  ])
     EndIf
     If [Answer->Valor ChequeP ]>0 Then
        Seq2=Seq2+1
        CriaModulo("3.2."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"    CHEQUE PRE-DATADO",BlankNum(),[Answer->Valor ChequeP])
     EndIf
     Acumular()
   EndScan

  ;If totnd>0 And Seq2>2 Then
  ;   CriaModulo("3.2."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"  TOTAL...",totnd,totvr)
  ;EndIf
   Do_It!
   ClearAll
EndIf
EndProc


;*******************************************************************************
;* Rotina p/ Selecionar Registros                                              *
;*******************************************************************************
Proc CtasPagar()

ClearAll
MSG_AGUARDE="Aguarde, Analisando Contas a Pagar   "
Aguarde(MSG_AGUARDE+Barra(NModulos,4))

{Ask} TypeIn "\\Sistemas\\Ctapag\\Titulos" Enter
Moveto [Numero do Lancamento   ] CheckPlus TypeIn "As Contador"
Moveto [Codigo da Empresa      ] CheckPlus TypeIn "~VSDGEMPRESA.."
Moveto [Tipo do Documento      ] CheckPlus
Moveto [Valor do Documento     ] CheckPlus TypeIn "As Valor"
Moveto [Codigo_Usuario         ] CheckPlus TypeIn "~VSDGCHAPA.."
Moveto [Numero_Controle_Dia    ] TypeIn "~VSDGNCONTROLE.."
If IsBlank(VSDGNCONTROLE)
   Then Moveto [Data_Inclusao  ] TypeIn ">=~VSDGDTINI ,<=~VSDGDTFIM"
EndIf
Do_It!
ClearAll

If Not IsEmpty("Answer") Then
   {Ask} {Answer}
   Moveto [Codigo da Empresa      ] Check
   Moveto [Codigo_Usuario         ] Check
   Moveto [Tipo do Documento      ] Check
   Moveto [Valor                  ] TypeIn "Calc Sum as Valor"
   Moveto [Contador               ] TypeIn "Calc Count as NDoctos"
   Do_It!
   ClearAll

   Sort "Answer" On "Codigo da Empresa","Codigo_Usuario",
                    "Tipo do Documento"
   ClearImage

   CoEdit Tabela,"Answer"
   ZeraVar()
   Scan
     If [Codigo da Empresa     ]<>empan Or
        [Codigo_Usuario        ]<>usean Then
        ZeraVar()
     EndIf
     CriaModulo("4.1.00."+AlinhM(StrVal(Seq2),2),[Answer->Tipo do Documento],[Answer->NDoctos],[Answer->Valor])
     Acumular()
   EndScan
   If totnd>0 And Seq2>2 Then
      CriaModulo("4.1.00."+AlinhM(StrVal(Seq2),2),"TOTAL...",totnd,totvr)
   EndIf
   Do_It!
   ClearAll

EndIf

{Ask} TypeIn "\\Sistemas\\Ctapag\\TitBaixa" Enter
Moveto [Numero do Lancamento   ] Example "nlan"
Moveto [Sequencia da Baixa     ] Example "seq" TypeIn " ,Calc _nlan+_seq as contador"
Moveto [Codigo da Empresa      ] CheckPlus TypeIn "~VSDGEMPRESA.."
Moveto [Valor do Pagamento     ] CheckPlus TypeIn "As Valor"
Moveto [Tipo da Baixa          ] CheckPlus
Moveto [Codigo da Conta        ] CheckPlus
Moveto [Descricao da Conta     ] CheckPlus
Moveto [Codigo_Usuario         ] CheckPlus TypeIn "~VSDGCHAPA.."
Moveto [Numero_Controle_Dia    ] TypeIn "~VSDGNCONTROLE.."
If IsBlank(VSDGNCONTROLE)
   Then Moveto [Data_Inclusao  ] TypeIn ">=~VSDGDTINI ,<=~VSDGDTFIM"
EndIf
Do_It!
ClearAll

If Not IsEmpty("Answer") Then
   {Ask} {Answer}
   Moveto [Codigo da Empresa      ] Check
   Moveto [Codigo_Usuario         ] Check
   Moveto [Codigo da Conta        ] Check
   Moveto [Descricao da Conta     ] Check
   Moveto [Tipo da Baixa          ] Check
   Moveto [Valor                  ] TypeIn "Calc Sum as Valor"
   Moveto [Contador               ] TypeIn "Calc Count as NDoctos"
   Do_It!
   ClearAll

   Sort "Answer" On "Codigo da Empresa","Codigo_Usuario",
                    "Descricao da Conta","Codigo da Conta","Tipo da Baixa"
   ClearImage

   CoEdit Tabela,"Answer"
   ZeraVar()
   conan="****"
   Seq1=0
   Scan
     If [Codigo da Empresa     ]<>empan Or
        [Codigo_Usuario        ]<>usean Or
        [Codigo da Conta       ]<>conan Then
        If [Codigo da Empresa  ]<>empan Or
           [Codigo_Usuario     ]<>usean Then
           Seq1=0
        EndIf
        Seq1=Seq1+1
        ZeraVar()
        CriaModulo("4.2."+AlinhM(StrVal(Seq1),2)+".00",[Answer->Codigo da Conta]+"-"+[Answer->Descricao da Conta],BlankNum(),BlankNum())
        conan=[Answer->Codigo da Conta]
     EndIf
     CriaModulo("4.2."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"  "+[Answer->Tipo da Baixa],[Answer->NDoctos],[Answer->Valor])
     Acumular()
   EndScan

  ;If totnd>0 And Seq2>2 Then
  ;   CriaModulo("4.2."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"  TOTAL...",totnd,totvr)
  ;EndIf
   Do_It!
   ClearAll
EndIf
EndProc


;*******************************************************************************
;* Rotina p/ Selecionar Registros                                              *
;*******************************************************************************
Proc CtaCorrente()

ClearAll
;;;;;;;;;;;;"1234567890123456789012345678901234567"
MSG_AGUARDE="Aguarde, Analisando Caixa/Banco      "
Aguarde(MSG_AGUARDE+Barra(NModulos,5))

{Ask} TypeIn "\\Sistemas\\Ctacor\\Movcont" Enter
Moveto [Numero do Lancamento   ] CheckPlus Example "nlan"
Moveto [Codigo da Conta        ] CheckPlus Example "con"  TypeIn ", Calc _nlan+_con As Contador"
Moveto [Codigo da Empresa      ] CheckPlus TypeIn "~VSDGEMPRESA.."
Moveto [Descricao da Conta     ] CheckPlus
Moveto [Tipo Movimento         ] CheckPlus
Moveto [Tipo de Operacao       ] CheckPlus
Moveto [Descricao Operacao     ] CheckPlus
Moveto [Tipo do Lancamento     ] CheckPlus
Moveto [Descricao do Lancamento] CheckPlus
Moveto [Valor                  ] CheckPlus TypeIn "As Valor"
Moveto [Codigo_Usuario         ] CheckPlus TypeIn "~VSDGCHAPA.."
Moveto [Numero_Controle_Dia    ] TypeIn "~VSDGNCONTROLE.."
If IsBlank(VSDGNCONTROLE)
   Then Moveto [Data_Inclusao  ] TypeIn ">=~VSDGDTINI ,<=~VSDGDTFIM"
EndIf
Do_It!
ClearAll

If Not IsEmpty("Answer") Then
   {Ask} {Answer}
   Moveto [Codigo da Empresa      ] Check
   Moveto [Codigo_Usuario         ] Check
   Moveto [Codigo da Conta        ] Check
   Moveto [Descricao da Conta     ] Check
   Moveto [Tipo Movimento         ] Check
   Moveto [Tipo de Operacao       ] Check
   Moveto [Descricao Operacao     ] Check
   Moveto [Tipo do Lancamento     ] Check
   Moveto [Descricao do Lancamento] Check
   Moveto [Valor                  ] TypeIn "Calc Sum as Valor"
   Moveto [Contador               ] TypeIn "Calc Count as NDoctos"
   Do_It!
   ClearAll

   Sort "Answer" On "Codigo da Empresa","Codigo_Usuario",
                    "Tipo Movimento","Descricao da Conta","Codigo da Conta",
                    "Descricao Operacao", "Tipo de Operacao",
                    "Descricao do Lancamento", "Tipo do Lancamento"
   ClearImage

   CoEdit Tabela,"Answer"
   ZeraVar()
   conan="****"
   tm   ="****"
   Seq1=0
   Scan
     If [Codigo da Empresa     ]<>empan Or
        [Codigo_Usuario        ]<>usean Or
        [Codigo da Conta       ]<>conan Or
        [Tipo Movimento        ]<>tm Then
        If [Codigo da Empresa  ]<>empan Or
           [Codigo_Usuario     ]<>usean Then
           Seq1=0
        EndIf

        If totnd>0 And Seq2>2 And conan<>"****" Then
           If tm="E"
              Then CriaModulo("5.1."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"  TOTAL...",totnd,totvr)
              Else CriaModulo("5.2."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"  TOTAL...",totnd,totvr)
           EndIf
        EndIf

        tm   =[Answer->Tipo Movimento]
        conan=[Answer->Codigo da Conta]

        ZeraVar()
        Seq1=Seq1+1
        If tm="E"
           Then CriaModulo("5.1."+AlinhM(StrVal(Seq1),2)+".00",[Answer->Codigo da Conta]+"-"+[Answer->Descricao da Conta],BlankNum(),BlankNum())
           Else CriaModulo("5.2."+AlinhM(StrVal(Seq1),2)+".00",[Answer->Codigo da Conta]+"-"+[Answer->Descricao da Conta],BlankNum(),BlankNum())
        EndIf
     EndIf
     hist =[Answer->Descricao Operacao]+"/"+[Answer->Descricao do Lancamento]
     If [Answer->Tipo Movimento]="E"
        Then CriaModulo("5.1."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"  "+hist,[Answer->NDoctos],[Answer->Valor])
        Else CriaModulo("5.2."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"  "+hist,[Answer->NDoctos],[Answer->Valor])
     EndIf
     Acumular()
   EndScan

   If totnd>0 And Seq2>2 Then
      If tm="E"
         Then CriaModulo("5.1."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"  TOTAL...",totnd,totvr)
         Else CriaModulo("5.2."+AlinhM(StrVal(Seq1),2)+"."+AlinhM(StrVal(Seq2),2),"  TOTAL...",totnd,totvr)
      EndIf
   EndIf
   Do_It!
   ClearAll
EndIf

EndProc

;*******************************************************************************
;* Rotina p/ Selecionar Registros                                              *
;*******************************************************************************
Proc NotasEntrada()

ClearAll
MSG_AGUARDE="Aguarde, Analisando Notas Entrada    "
Aguarde(MSG_AGUARDE+Barra(NModulos,1))

{Ask} TypeIn "\\Sistemas\\Estoque\\NotaEC" Enter
Moveto [Numero do Lancamento   ] Check TypeIn "as contador"
Moveto [Codigo da Empresa      ] Check TypeIn "~VSDGEMPRESA.."
Moveto [Descricao da Operacao  ] Check
Moveto [Valor Nota Fiscal      ] Check
Moveto [Codigo_Usuario         ] Check TypeIn "~VSDGCHAPA.."
Moveto [Numero_Controle_Dia    ] TypeIn "~VSDGNCONTROLE.."
If IsBlank(VSDGNCONTROLE)
   Then Moveto [Data_Inclusao  ] TypeIn ">=~VSDGDTINI ,<=~VSDGDTFIM"
EndIf
Do_It!
ClearAll

If Not IsEmpty("Answer") Then
   {Ask} {Answer}
   Moveto [Codigo da Empresa      ] Check
   Moveto [Codigo_Usuario         ] Check
   Moveto [Descricao da Operacao  ] Check
   Moveto [Valor Nota Fiscal      ] TypeIn "Calc Sum as Valor"
   Moveto [Contador               ] TypeIn "Calc Count as NDoctos"
   Do_It!
   ClearAll

   Sort "Answer" On "Codigo da Empresa","Codigo_Usuario",
                    "Descricao da Operacao"
   ClearImage

   CoEdit Tabela,"Answer"
   ZeraVar()
   Scan
     If [Codigo da Empresa     ]<>empan Or
        [Codigo_Usuario        ]<>usean
        Then ZeraVar()
     EndIf
     CriaModulo("6.1.01."+AlinhM(StrVal(Seq2),2),[Answer->Descricao da Operacao],[Answer->NDoctos],[Answer->Valor])
     Acumular()
   EndScan
   Do_It!
   ClearAll
EndIf

{Ask} TypeIn "\\Sistemas\\Estoque\\NotaEC" Enter
Moveto [Numero do Lancamento   ] Check Example "nlan" TypeIn ", as Contador"
Moveto [Codigo da Empresa      ] Check TypeIn "~VSDGEMPRESA.."
Moveto [Tipo de Operacao       ] TypeIn "C Or A"
Moveto [Tipo de Pagamento      ] TypeIn "V"
Moveto [Codigo_Usuario         ] Check TypeIn "~VSDGCHAPA.."
Moveto [Numero_Controle_Dia    ] TypeIn "~VSDGNCONTROLE.."
If IsBlank(VSDGNCONTROLE)
   Then Moveto [Data_Inclusao  ] TypeIn ">=~VSDGDTINI ,<=~VSDGDTFIM"
EndIf
{Ask} TypeIn "\\Sistemas\\Estoque\\NotaECV" Enter
Moveto [Numero do Lancamento   ] Example "nlan"
Moveto [Codigo da Conta        ] Check
Moveto [Descricao da Conta     ] Check
Moveto [Valor                  ] Check
Do_It!
ClearAll

If Not IsEmpty("Answer") Then
   {Ask} {Answer}
   Moveto [Codigo da Empresa      ] Check
   Moveto [Codigo_Usuario         ] Check
   Moveto [Codigo da Conta        ] Check
   Moveto [Descricao da Conta     ] Check
   Moveto [Valor                  ] TypeIn "Calc Sum as Valor"
   Moveto [Contador               ] TypeIn "Calc Count as NDoctos"
   Do_It!
   ClearAll

   Sort "Answer" On "Codigo da Empresa","Codigo_Usuario",
                    "Descricao da Conta","Codigo da Conta"
   ClearImage

   CoEdit Tabela,"Answer"
   ZeraVar()
   Scan
     If [Codigo da Empresa     ]<>empan Or
        [Codigo_Usuario        ]<>usean Then
        If totnd>0 And Seq2>2 Then
           CriaModulo("6.2.01."+AlinhM(StrVal(Seq2),2),"TOTAL...",totnd,totvr)
        EndIf
        ZeraVar()
     EndIf
     CriaModulo("6.2.01."+AlinhM(StrVal(Seq2),2),"  "+[Answer->Codigo da Conta]+"-"+[Answer->Descricao da Conta],[Answer->NDoctos],[Answer->Valor])
     Acumular()
   EndScan
   CriaModulo("6.2.01.00","A VISTA",BlankNum(),BlankNum())
   If totnd>0 And Seq2>2 Then
      CriaModulo("6.2.01."+AlinhM(StrVal(Seq2),2),"  TOTAL...",totnd,totvr)
   EndIf
   Do_It!
   ClearAll
EndIf


{Ask} TypeIn "\\Sistemas\\Estoque\\NotaEC" Enter
Moveto [Numero do Lancamento   ] Check Example "nlan" TypeIn ", as Contador"
Moveto [Codigo da Empresa      ] Check TypeIn "~VSDGEMPRESA.."
Moveto [Tipo de Operacao       ] TypeIn "C Or A"
Moveto [Tipo de Pagamento      ] TypeIn "P"
Moveto [Codigo_Usuario         ] Check TypeIn "~VSDGCHAPA.."
Moveto [Numero_Controle_Dia    ] TypeIn "~VSDGNCONTROLE.."
If IsBlank(VSDGNCONTROLE)
   Then Moveto [Data_Inclusao  ] TypeIn ">=~VSDGDTINI ,<=~VSDGDTFIM"
EndIf
{Ask} TypeIn "\\Sistemas\\Estoque\\NotaECP" Enter
Moveto [Numero do Lancamento   ] Example "nlan"
Moveto [Valor do Documento     ] TypeIn "Calc Sum As Valor"
Do_It!
ClearAll

If Not IsEmpty("Answer") Then
   {Ask} {Answer}
   Moveto [Codigo da Empresa      ] Check
   Moveto [Codigo_Usuario         ] Check
   Moveto [Valor                  ] TypeIn "Calc Sum as Valor"
   Moveto [Contador               ] TypeIn "Calc Count as NDoctos"
   Do_It!
   ClearAll

   Sort "Answer" On "Codigo da Empresa","Codigo_Usuario"
   ClearImage

   CoEdit Tabela,"Answer"
   ZeraVar()
   Scan
     If [Codigo da Empresa     ]<>empan Or
        [Codigo_Usuario        ]<>usean Then
        ZeraVar()
     EndIf
     CriaModulo("6.2.02.00","A PRAZO",[Answer->NDoctos],[Answer->Valor])
     Acumular()
   EndScan
   Do_It!
   ClearAll
EndIf

EndProc


;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc SD_Dialog(Disparo,Campo,Evento,Elemento)
Temp=True
MSG_CAMPO=""
TECLA=""
If Disparo="OPEN"  Then AoCriarShowDialog() EndIf
If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] = 9: Temp=False
     Case Evento["KeyCode"] = -59: Dialog_F1()
     Case Evento["KeyCode"] =  27:
          Temp=False
          Switch
            Case Campo="TG_EMPRESA"       : Campo="NO"
            Case Campo="TG_NCONTROLE"     : Campo="TG_EMPRESA"
            Case Campo="TG_CHAPA"         : Campo="TG_NCONTROLE"
            Case Campo="TG_DTINI"         : Campo="TG_CHAPA"
            Case Campo="TG_DTFIM"         : Campo="TG_DTINI"
            Case Campo="YES" Or Campo="NO": Campo="TG_NCONTROLE"
          EndSwitch
     Case (Evento["KeyCode"] <= -104 And Evento["KeyCode"] >= -113) Or 
           Evento["KeyCode"]  = -139 Or  Evento["KeyCode"]  = -140:
           SYS_TECLA_ACIONADA=Evento["KeyCode"]
           Seta_Tecla_Acionada()
           CancelDialog
     Case Evento["KeyCode"] = 13:
          Temp=False
          If Checa_TAG()
             Then Switch
                    Case Campo="TG_EMPRESA"   : Campo="TG_NCONTROLE"
                    Case Campo="TG_NCONTROLE" :
                         If IsBlank(VSDGNCONTROLE)
                            Then Campo="TG_CHAPA"
                            Else VSDGCHAPA    =""
                                 VSDGNOMCHAPA =""
                                 VSDGDTINI    =BlankDate()
                                 VSDGDTFIM    =BlankDate()

                                 Campo="YES"
                         EndIf
                    Case Campo="TG_CHAPA"     : Campo="TG_DTINI"
                    Case Campo="TG_DTINI"     : Campo="TG_DTFIM"
                    Case Campo="TG_DTFIM"     : Campo="YES"
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf
Switch
  Case Campo="TG_CHAPA":
     MSG_CAMPO="Informe um codigo de usuario !"
Endswitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bib_Show,\\Sistemas\\Cadastro\\Bibliot"
LimpAguarde()

VSDGEMPRESA  =""
VSDGCHAPA    =""
VSDGNCONTROLE=""
VSDGDTINI    =BlankDate()
VSDGDTFIM    =BlankDate()

While True

  ShowDialog "Auditor Usu rio/Controle" Proc "SD_Dialog"
  Trigger "OPEN","ARRIVE"
  Key "F1","ENTER","ESC","TAB",
      -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140  
   @ 05,12   Height 13 Width 72

    Label  @ 00,00 "Empresa"  For "TG_EMPRESA"
    Accept @ 01,01 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_EMPRESA" To VSDGEMPRESA
    Accept @ 01,09 Width 25 "A20" Picture "!*!" Tag "TG_NOMEMP" To VSDGNOMEMP

    Label  @ 02,00 "Controle Dia" For "TG_NCONTROLE"
    Accept @ 03,01 Width 9  "A6"  Picture "#*#" Tag "TG_NCONTROLE"    To VSDGNCONTROLE
    Accept @ 03,09 Width 25 "A30" Picture "!*!" Tag "TG_NOMNCONTROLE" To VSDGNOMNCONTROLE

    Label  @ 04,00 "Usu rio" For "TG_CHAPA"
    Accept @ 05,01 Width 07 "A4"  Picture "#*#" Tag "TG_CHAPA" To VSDGCHAPA
    Accept @ 05,09 Width 25 "A30" Picture "!*!" Tag "TG_CHAPA" To VSDGNOMCHAPA

    Label  @ 06,00 "Per¡odo referente de" For "TG_DTINI"
    Accept @ 07,03 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTINI" To VSDGDTINI
    Label  @ 07,16 "at‚" For "TG_DTFIM"
    Accept @ 07,21 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTFIM" To VSDGDTFIM

    Pushbutton @ 09,22 width 11 "~O~k"      OK     Default Value "Ok" Tag "YES" To BottonValue
    Pushbutton @ 09,36 width 11 "~C~ancela" CANCEL                    Tag "NO"  To BottonValue

  EndDialog
  If Not RetVal Then QuitLoop EndIf
  If Not Valida_ShowDialog("") Then Loop EndIf

  If Not IsTable("\\Base\\Sistemas\\Cadastro\\RM_1000")
     Then Mensagem("Tabela inexistente para criar o controle !")
          Loop
  EndIf   

  DISPOSITIVO()
  If OK=""  Then Loop EndIf

  AGUARDE("Aguarde, gerando o relat¢rio")

  Tabela=Cria_Temp(PrivDir())
  Copy "\\Base\\Sistemas\\Cadastro\\RM_1000" Tabela

  NModulos=6
  Faturamento()
  ChequesTerc()
  CtasReceber()
  CtasPagar()
  CtaCorrente()
  NotasEntrada()
; Requisicoes()

  If IsEmpty(Tabela)
     Then MENSAGEM("N„o existem registros a processar")
          Delete Tabela
          Loop
  EndIf
  IMPRIREL(Tabela,"R")

  Delete Tabela
  Delete "Answer"

EndWhile
ClearAll
Release Vars All
Release Procs All
