;** Rm_1260 ********************************************************************
;* Registro de Titulos                                                                            *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 04/02/2019 por Bruno Carvalho                
;Ultima Alteracao: 05/02/2020 por Bruno Carvalho
;Motivo Alteracao: Adicionado ValidarModelosRelatorios()
;Ultima Alteracao: 24/03/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog   

;*******************************************************************************
;* Rotina p/ Selecionar e Order Registros                                      *
;*******************************************************************************
Proc Seleciona()
ClearAll

If IsTable("\\Sistemas\\Ctapag\\"+Dir_Trab+"Titulos") And
   IsTable("\\Sistemas\\Ctapag\\"+Dir_Trab+"TitBaixa")  
   Then {Ask} TypeIn "\\Sistemas\\Ctapag\\"+Dir_Trab+"Titulos" Enter
        Moveto [Numero do Lancamento] CheckPlus Example "NLAN" TypeIn "!"  
        Moveto [Codigo da Empresa   ] CheckPlus TypeIn "~VSDGEMPRESA.."
        Moveto [Numero do Documento ] CheckPlus
        Moveto [Serie do Documento  ] CheckPlus 
        Moveto [Data Competencia    ] CheckPlus TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        Moveto [Data de Vencimento  ] CheckPlus
        Moveto [Valor do Documento  ] CheckPlus
        Moveto [Saldo do Documento  ] CheckPlus
        Moveto [Codigo do Emitente  ] CheckPlus
        Moveto [Razao Social        ] CheckPlus
        Moveto [Documento Referente ] CheckPlus
        {Ask} TypeIn "\\Sistemas\\Ctapag\\"+Dir_Trab+"TitBaixa" Enter
        Moveto [Numero do Lancamento] Example "NLAN"
        Moveto [Data do Pagamento   ] TypeIn "Calc Max as Data do Pagamento"
        Do_It!
        ClearAll

        {Ask} {Answer}
        Moveto [Saldo do Documento  ] TypeIn ">0.01" 
        Moveto [Data do Pagamento   ] TypeIn "Changeto Blank"
        Do_It!
        ClearAll

        {Ask} {Answer}
        Moveto [Numero do Lancamento] Example "NLAN" 
        Moveto [Codigo da Empresa   ] Example "EMPRE"
        Moveto [Numero do Documento ] Example "DOCTO"
        Moveto [Serie do Documento  ] Example "SERIE"
        Moveto [Data Competencia    ] Example "DATEM"
        Moveto [Codigo do Emitente  ] Example "CODIG"
        Moveto [Razao Social        ] Example "NOMEC"
        Moveto [Data de Vencimento  ] Example "DATVE"
        Moveto [Valor do Documento  ] Example "VRDUP"
        Moveto [Documento Referente ] Example "NNF"
        Moveto [Data do Pagamento   ] Example "DATPG"

        {Ask} TypeIn Tabela Enter TypeIn "Fast Insert"
        Moveto [Numero do Lancamento] Example "NLAN"
        Moveto [Codigo da Empresa   ] Example "EMPRE"
        Moveto [Numero do Documento ] Example "DOCTO"
        Moveto [Serie do Documento  ] Example "SERIE"
        Moveto [Codigo              ] Example "CODIG"
        Moveto [Razao Social        ] Example "NOMEC"
        Moveto [Data de Emissao     ] Example "DATEM"
        Moveto [Data Vencimento     ] Example "DATVE"
        Moveto [Valor               ] Example "VRDUP"
        Moveto [Documento Referente ] Example "NNF"
        Moveto [Data Pagamento      ] Example "DATPG"
        Do_It!
        ClearAll
EndIf
EndProc  ; (Seleciona)

;*******************************************************************************
;* Rotina p/ processar Db temporaria                                           *
;*******************************************************************************
Proc Processa()

View "\\Sistemas\\Cadastro\\Destinat"
CoEdit Tabela
Scan
  COD=[Codigo]

  Moveto "\\Sistemas\\Cadastro\\Destinat"
  Moveto [Codigo]
  Locate COD
  If RetVal
     Then CODANTER=SubStr([Conta Contabil],2,5)
          CGC     =[CGC]  
     Else CODANTER=""
          CGC     =""
  EndIf

  Moveto Tabela
  [Codigo Alternativo]=CODANTER
  [CGC               ]=CGC

EndScan
Do_It!
ClearAll

If VSDGCODMODELO="01"
   Then Sort Tabela on "Codigo da Empresa","Data de Emissao","Serie do Documento","Numero do Documento","Ordem do Documento"
   Else Sort Tabela on "Codigo da Empresa","Serie do Documento","Numero do Documento","Ordem do Documento"
EndIf

EndProc    ;  (Processa)

;*******************************************************************************
;* Rotina p/ Impressao                                                         *
;*******************************************************************************
Proc Imprimir()

AGUARDE("Aguarde, processando dados")

If Not IsAssigned(NOMEMPRESA) Then NOMEMPRESA="TESTE" EndIf

View NoWindow "\\Sistemas\\Cadastro\\Empresas"
View NoWindow Tabela
CODEMP="****"
DTEMIS="****"
pag=VSDGPAGINI-1
CONT=0
INICIO=True
c     =0
TOTAL_DIA    =0
TOTAL_EMPRESA=0
DATA_ANTERIOR=BlankDate()
Scan
  If VSDGCODMODELO="01"
     Then If [Codigo da Empresa  ] <> CODEMP Or
             [Data de Emissao    ] <> DTEMIS
             Then TotalDia()
                  If [Codigo da Empresa]<>CODEMP
                     Then TotalEmpresa()
                          Ler_Empresa()
                          Cabecalho()
                  EndIf
                  If [Data de Emissao]=DATA_ANTERIOR
                     Then GRUPO_DATA_ANTERIOR()
                     Else GRUPO_DATA()
                  EndIf
                  INICIO=False
                  CODEMP=[Codigo da Empresa  ]
                  DTEMIS=[Data de Emissao    ]

          EndIf
     Else If [Codigo da Empresa  ] <> CODEMP
             Then TotalEmpresa()
                  Ler_Empresa()
                  Cabecalho()
                  CODEMP=[Codigo da Empresa  ]
                  DTEMIS=[Data de Emissao    ]
                  INICIO=False
          EndIf
  EndIf
  
  Detalhe()

EndScan
If VSDGCODMODELO="01" Then TotalDia() EndIf
TotalEmpresa()
ClearAll
EndProc   ;  (Imprimir)


;*******************************************************************************
;* Rotina p/ quebrar pelo grupo data                                           *
;*******************************************************************************
Proc GRUPO_DATA()
ChecaLinhaPagina()
Printline(Spaces(2)+"Competencia: "+Format("D13",[Data de Emissao])+"\n")
c=c+1
EndProc

;*******************************************************************************
;* Rotina p/ quebrar pelo grupo data Anterior                                  *
;*******************************************************************************
Proc GRUPO_DATA_ANTERIOR()
Printline(Spaces(2)+"Competencia: "+Format("D13",DATA_ANTERIOR)+"\n")
c=c+1
EndProc

;*******************************************************************************
;* Rotina p/ Ler dados da Empresa                                              *
;*******************************************************************************
Proc Ler_Empresa()
CODEMP=[Codigo da Empresa]
Moveto "\\Sistemas\\Cadastro\\Empresas"
Moveto [Codigo da Empresa]
Locate CODEMP
NOMEMP=[Razao Social Empresa]
CGC   =[CGC EMPRESA]
IE    =[IE EMPRESA]
Moveto TABELA

EndProc
;*******************************************************************************
;* Rotina p/ Totalizar o Dia                                                   *
;*******************************************************************************
Proc TotalDia()
If INICIO=False
	 Then If CONT>1
           Then ChecaLinhaPagina()
                If c=9 Then GRUPO_DATA_ANTERIOR() EndIf
								Printline(SPACES(68)+"Total Dia.... "+Format("W13.2,EIC,AR",TOTAL_DIA)+"\n\n")
                c=c+2
					 Else Printline("\n")
        EndIf
        c=c+1
        CONT=0
        TOTAL_DIA=0
EndIf
EndProc

;*******************************************************************************
;* Rotina p/ Totalizar por Empresa                                             *
;*******************************************************************************
Proc TotalEmpresa()
If INICIO=False
   Then If VSDGCODMODELO="01"
					 Then Printline(SPACES(61)+"Total da Empresa.... "+Format("W13.2,EIC,AR",TOTAL_EMPRESA)+"\n")
					 Else Printline(SPACES(72)+"Total da Empresa.... "+Format("W13.2,EIC,AR",TOTAL_EMPRESA)+"\n")
        EndIf
        TOTAL_EMPRESA=0
        Rodape()
        c=100
EndIf
EndProc
            
;*******************************************************************************
;* Rotina p/ Cabecalho                                                         *
;*******************************************************************************
Proc ChecaLinhaPagina()

If VSDGCODMODELO="01"
   Then TOT_LINHAS=64
   Else TOT_LINHAS=53
EndIf
If C>=TOT_LINHAS
   Then Rodape()
        PrintLine("\f"+"\n")
        Cabecalho()
        If VSDGCODMODELO="01"
           Then If [Data de Emissao]=DATA_ANTERIOR
                   Then GRUPO_DATA_ANTERIOR()
                EndIf
        EndIf
EndIf

EndProc

;*******************************************************************************
;* Rotina p/ Cabecalho                                                         *
;*******************************************************************************
Proc Cabecalho()
Private DATA_CABECALHO

If SYS_CODIGO_CLIENTE="0296"
   Then DATA_CABECALHO=VSDGDTFIM
        HORA = "        "
   Else DATA_CABECALHO=Today()
        HORA = "-"+AlinhM(LTrim(Time()),8)
EndIf

pag=pag+1
Printline(CI_15CPP+CI_6LPP+"\n")
Printline(Spaces(2)+Fill("-",132)+"\n")
Printline(Spaces(2)+Completa(NOMEMPRESA,90," ")+"Emissao.: "+
					AlinhM(LTrim(Format("D13",DATA_CABECALHO)),10)+HORA+
          "   Folha:"+Format("W4,EIC",pag)+"\n")
Printline(Spaces(2)+Fill("-",132)+"\n\n")
Printline(Spaces(2)+"Empresa: "+COMPLETA(NOMEMP,40," ")+Spaces(15)+"T¡tulos Emitidos + Pagamento de "+Format("D13",VSDGDTINI)+" ate "+Format("D13",VSDGDTFIM)+"\n")
Printline(Spaces(2)+"   CNPJ: "+Completa(CGC,20," ")+ "IE: "+Completa(IE,20," ")+"\n\n")

If VSDGCODMODELO="01"
	 Then
				Printline(Spaces(2)+"Titulo    Emitente                           CNPJ/CPF           CodAn   Vencto          Valor Referente          Pagto    Obs      "+"\n")
				Printline(Spaces(2)+"--------- ---------------------------------- ------------------ ----- ---------- ------------ ---------------- ---------- ---------"+"\n")
	 Else
				Printline(Spaces(2)+"Titulo    Emitente                           CNPJ/CPF           CodAn  Comptncia   Vencto          Valor Referente          Pagto   "+"\n")
				Printline(Spaces(2)+"--------- ---------------------------------- ------------------ ----- ---------- ---------- ------------ ---------------- ----------"+"\n")
EndIf

C=10

EndProc   ; (Cabecalho)

;*******************************************************************************
;* Rotina p/ Detalhe                                                           *
;*******************************************************************************
Proc Detalhe()

ChecaLinhaPagina()
  If VSDGCODMODELO="01"
     Then
					s=Spaces(2)+COMPLETA([Numero do Documento],9," ")+" "
					s=s+COMPLETA([Codigo],5," ")+Completa([Razao Social],28," ")+"  "
					s=s+Completa([CGC],19," ")
					s=s+Completa([Codigo Alternativo],6," ")
					s=s+Completa(Format("D13",[Data Vencimento]),10," ")+" "
					s=s+Completa(Format("W12.2,EIC,AR",[Valor]),12," ")+" "
					s=s+Completa([Documento Referente  ],17," ")
					s=s+Completa(Format("D13",[Data Pagamento]),10," ")+" "
					s=s+"\n"
     Else
					s=Spaces(2)+COMPLETA([Numero do Documento],9," ")+" "
					s=s+COMPLETA([Codigo],5," ")+Completa([Razao Social],28," ")+"  "
					s=s+Completa([CGC],19," ")
					s=s+Completa([Codigo Alternativo],6," ")
					s=s+Completa(Format("D13",[Data de Emissao]),10," ")+" "
					s=s+Completa(Format("D13",[Data Vencimento]),10," ")+" "
					s=s+Completa(Format("W12.2,EIC,AR",[Valor]),12," ")+" "
					s=s+Completa([Documento Referente  ],17," ")
					s=s+Completa(Format("D13",[Data Pagamento]),10," ")+" "
					s=s+"\n"
  EndIf
printline(s)
CONT=CONT+1
TOTAL_DIA    =TOTAL_DIA    +[Valor]
TOTAL_EMPRESA=TOTAL_EMPRESA+[Valor]
DATA_ANTERIOR=[Data de Emissao]
C=C+1
EndProc    ;  (Detalhe)

;*******************************************************************************
;* Rotina p/ Imprimir Linha 																									 *
;*******************************************************************************
Proc printline(linha)

If OPCAOPAG<>"Todas"
   Then If pag<OPCAOPAGINI Or
           pag>OPCAOPAGFIM
					 Then Return
				EndIf
EndIf
Print File ARQIMP linha
endproc

;*******************************************************************************
;* Rotina p/ Selecionar e Order Registros                                      *
;*******************************************************************************
Proc Seleciona2()
ClearAll

If IsTable("\\Sistemas\\Ctapag\\"+Dir_Trab+"Titulos") And
   IsTable("\\Sistemas\\Ctapag\\"+Dir_Trab+"TitBaixa")  
   Then {Ask} TypeIn "\\Sistemas\\Ctapag\\"+Dir_Trab+"Titulos" Enter
        Moveto [Numero do Lancamento ] Check     Example "NLAN" TypeIn "!"  
        Moveto [Codigo da Empresa    ] Check     TypeIn "~VSDGEMPRESA.."
        Moveto [Nome Fantasia Empresa] Check 
        Moveto [Tipo do Documento    ] Check 
        Moveto [Numero do Documento  ] Check    
        Moveto [Serie do Documento   ] Check     
        Moveto [Data Competencia     ] Check     TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        Moveto [Data de Vencimento   ] Check    
        Moveto [Valor do Documento   ] Check    
        Moveto [Codigo do Emitente   ] Check typein "As Codigo"    
        Moveto [Razao Social         ] Check    
        Moveto [Documento Referente  ] Check    
        Moveto [Situacao             ] Check    
        {Ask} TypeIn "\\Sistemas\\Ctapag\\"+Dir_Trab+"TitBaixa" Enter
        Moveto [Numero do Lancamento ] Example "NLAN"
        Moveto [Sequencia da Baixa   ] Check     
        Moveto [Data do Pagamento    ] Check     
        Moveto [Valor do Pagamento   ] Check     
        Moveto [Valor do Juros       ] Check     
        Moveto [Valor do Desconto    ] Check     
        Moveto [Tipo da Baixa        ] Check     
        Moveto [Codigo Plano_Conta   ] Check     
        Moveto [Descricao Plano_Conta] Check     
        Do_It!
        ClearAll
EndIf

endproc

;*******************************************************************************
;* Organiza Registro p/ Exibir em Arquivo                                      *
;*******************************************************************************
Proc Rm_1260_Gera_Arquivo()

{Ask} TypeIn Tabela Enter Check
Do_It!
ClearAll

Sort "Answer" On "Codigo da Empresa", "Data Competencia", "Tipo do Documento", "Numero do Documento", "Serie do Documento"  

Adiciona_Campo_EmOrdem("Answer","Codigo da Empresa(A4),"+      
                                "Nome Fantasia Empresa(A20),"+
                                "Numero do Lancamento(A6),"+
                                "Tipo do Documento(A4),"+
                                "Numero do Documento(A10),"+
                                "Serie do Documento(A4),"+
                                "Data Competencia(D),"+                  
                                "Codigo(A4),"+
                                "Razao Social(A40),"+
                                "Data de Vencimento(D),"+                  
                                "Valor do Documento($),"+    
                                "Sequencia da Baixa(A1),"+
                                "Data do Pagamento(D),"+                  
                                "Valor do Pagamento($),"+    
                                "Valor do Juros($),"+    
                                "Valor do Desconto($),"+    
                                "Codigo Plano_Conta(A13),"+     
                                "Descricao Plano_Conta(A48),"+     
                                "Tipo da Baixa(A10)")    
                               
clearAll

IMPRIREL("Answer","R")

EndProc ;Gera_Arquivo()

;*******************************************************************************
;* Rotina p/ Imprimir Rodape                                                   *
;*******************************************************************************
Proc Rodape()
Printline(CI_10CPP+CI_6LPP+"\n")
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_DTINI"         : Campo="TG_EMPRESA"
            Case Campo="TG_DTFIM"         : Campo="TG_DTINI"
            Case Campo="TG_CODMODELO"     : Campo="TG_DTFIM"
            Case Campo="YES" Or Campo="NO": Campo="TG_EMPRESA"
          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_DTINI"
                    Case Campo="TG_DTINI"   :
                         If Not VSDGDTINI=BlankDate()
                            Then Campo="TG_DTFIM"
                         Endif
                    Case Campo="TG_DTFIM"      : Campo="TG_CODMODELO"
                    Case Campo="TG_CODMODELO"  : Campo="YES"                        
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf
Switch
  Case Campo="TG_DTINI":
       MSG_CAMPO="Informe a Data Inicial"
  Case Campo="TG_DTFIM":
       MSG_CAMPO="Informe a Data Final"
Endswitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc

;************************************
;* ROTINA PARA Ler/Gravacao Opcao   *
;************************************
Proc ModeloRelatoriosCarregaLista()

VSDGCODMODELO     = ""
VSDGMODELO        = ""

ModeloRelatoriosAdd("Criar") ; linha obrigatoria inicial
ModeloRelatoriosAdd("01  Por Ordem de Data de Competˆncia")
ModeloRelatoriosAdd("02  Por Ordem de Numero do Documento")
ModeloRelatoriosAdd("Fim")

EndProc ;ModeloRelatoriosCarregaLista

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bib_Show,\\Sistemas\\Cadastro\\Bibliot"
LimpAguarde()
If Not IsAssigned (SYS_CODIGO_CLIENTE) Then SYS_CODIGO_CLIENTE = "" EndIf

ModeloRelatoriosCarregaLista()

VSDGEMPRESA = ""
VSDGDTINI   = BlankDate()
VSDGDTFIM   = BlankDate()
VSDGPAGINI  = 1
While True

  ShowDialog "T¡tulos Emitidos + Pagamento" 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 12 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_NOMEMPRESA" To VSDGNOMEMP

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

    Label  @ 05,00  "Modelo de ~R~elat¢rio"  For "TG_CODMODELO"
    Accept @ 06,01  Width 06 "A3"  Picture "!*!" Tag "TG_CODMODELO" To VSDGCODMODELO
    Accept @ 06,06  Width 63 "A60"  Picture "!*!" Tag "TG_MODELO" To VSDGMODELO
     
    Pushbutton @ 08,22 width 11 "~O~k"      OK     Default Value "Ok" Tag "YES" To BottonValue
    Pushbutton @ 08,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 ValidarModelosRelatorios() Then Loop EndIf
  
  If IsBlank(VSDGDTFIM)
     Then Mensagem("Data Final Invalida !")
          Loop
  EndIf

  DISPOSITIVO()
  If OK=""  Then Loop EndIf

  AGUARDE("Aguarde, Gerando Relat¢rio")

  If Ok="A" Then IMPRIME_ARQUIVO = True Else IMPRIME_ARQUIVO=False EndIf
  switch
    case IMPRIME_ARQUIVO:
      Tabela=Cria_Temp(PrivDir())
    
      Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
      While Novo_Dir_Trab()
        If IsTable("Answer")     Then Delete "Answer" EndIf
        Seleciona2()
        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
              Loop
      EndIf

      Rm_1260_Gera_Arquivo()
    
    otherwise:
      Tabela=Cria_Temp(PrivDir())
      Empty "\\Base\\Sistemas\\Vendas\\RM_0260"
      Copy "\\Base\\Sistemas\\Vendas\\RM_0260" Tabela
    
      Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
      While Novo_Dir_Trab()
        Seleciona()
      EndWhile
      Processa()
    
      If IsEmpty(Tabela)
         Then MENSAGEM("N„o existem registros a processar")
              Delete Tabela
              Loop
      EndIf
    
      ARQIMP = PrivDir()+"REGDUP.TXT"
      Switch
        Case OK="A": ARQIMP = DIREPORT+ARQUIVO+".TXT"
      EndSwitch
      If IsFile(ARQIMP) 
         Then Deleta_Arquivo(ARQIMP)
      EndIf
      If IsTable("Answer") Then Delete "Answer" EndIf
    
      AGUARDE("Imprimindo")
      Imprimir()
    
      If OK="V"
         Then ImpriArq(ARQIMP)
              Deleta_Arquivo(ARQIMP)
         Else Mensagem("Impress„o Concluida !")
              If OK="I"
    						 Then ;---- Imprime Arquivo Impressao ------------------------------------------------
    									ImpriArq(ARQIMP)
    									Deleta_Arquivo(ARQIMP) 
    					EndIf
    	EndIf
  endswitch
  If IsTable("Answer")
     Then Delete "Answer"
  EndIf
  If IsTable(Tabela)
     Then Delete Tabela
  EndIf    
EndWhile
ClearAll
Release Vars All
Release Procs All
