;** Limpa_OF *******************************************************************
;** Exclusao de Ordem de Faturamento                                           *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 17/10/1996 por Anivel Augusto Rodrigues
;Ultima Alteracao: 27/03/2004 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes
;Ultima Alteracao: 08/07/2011 por Karina Andrade
;Motivo Alteracao: Add FaturaJC,FaturaR,FaturaTG
;Ultima Alteracao: 15/08/2011 por Karina Andrade
;Motivo Alteracao: Add FaturIaD,FaturIDD
;Ultima Alteracao: 25/10/2011 por Bruno Carvalho
;Motivo Alteracao: Add FaturOCP
;Ultima Alteracao: 28/10/2013 por Andrey Fillipe
;Motivo Alteracao: Add filtro por data de emissao, saida e inclusao
;Ultima Alteracao: 18/06/2014 por Kamila Gomes
;Motivo Alteracao: Checa Supervisor e grava log da opera‡Æo
;Ultima Alteracao: 16/07/2014 por Kamila Gomes
;Motivo Alteracao: Ajustes Checa Supervisor, ignorar se Cliente for CR (0006)
;Ultima Alteracao: 05/09/2014 por Bruno Carvalho
;Motivo Alteracao: Add Tabela "FaturaIG"
;Ultima Alteracao: 04/02/2016 por Kamila Gomes 
;Motivo Alteracao: Ajustes e InclusÆo tabela "FatICom" 
;Ultima Alteracao: 16/05/2016 por Kamila Gomes 
;Motivo Alteracao: Ajustes tabela "FaturICM" 
;Ultima Alteracao: 30/05/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Retirado Tabela
;Ultima Alteracao: 14/06/2016 por Bruno Carvalho
;Motivo Alteracao: Adicionado FaturaCC e Removico FaturOCP,FaturaJC
;Ultima Alteracao: 14/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                   
;Ultima Alteracao: 27/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog 
;Ultima Alteracao: 31/05/2017 por Rafael Matos
;Motivo Alteracao: Retirado tabela "Fatura TG"                   
;Ultima Alteracao: 19/11/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes logica
;Ultima Alteracao: 03/01/2020 por Bruno Carvalho
;Motivo Alteracao: Adicionado Grava_LogEx("LIMPA_OF")
;Ultima Alteracao: 28/07/2020 por Anivel Augusto Rodrigues                           
;Motivo Alteracao: Ajustes #0112 controle lote

;*******************************************************************************
;** Seleciona Registros                                                        *
;*******************************************************************************
Proc SELECIONA()
private tabelaref

ClearAll

{Ask} {FaturaC}
Moveto [Numero da Of     ] check
Moveto [Codigo da Empresa] TypeIn "~VSDGEMPRESA.."
switch
  case VSDGTPDATA="2" : Moveto [Data de Saida    ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM"     
  case VSDGTPDATA="3" : Moveto [Data_Inclusao    ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM" 
  otherwise           : Moveto [Data de Emissao  ] TypeIn ">=~VSDGDTINI, <=~VSDGDTFIM" 
endswitch
switch
  case VSDGSITUACAO="ABERTO"   : Moveto [Numero Nota Gerada] TypeIn "Blank"     
  case VSDGSITUACAO="FATURADO" : Moveto [Numero Nota Gerada] TypeIn "Not Blank" 
endswitch
Do_It!
ClearAll
if isempty("Answer")
   then return
endif   
tabelaref=adiciona_indice_temp("Numero da OF")

{ask} typein tabelaref Enter
Moveto [Numero da Of     ] Example "num"
{Ask} {FaturaCC} TypeIn "Fast Delete"
Moveto [Numero da Of     ] Example "num"
Do_It!
ClearAll

{ask} typein tabelaref Enter
Moveto [Numero da Of     ] Example "num"
{Ask} {FaturaI} TypeIn "Fast Delete"
Moveto [Numero da Of     ] Example "num"
Do_It!
ClearAll

{ask} typein tabelaref Enter
Moveto [Numero da Of     ] Example "num"
{Ask} {FaturaIC} TypeIn "Fast Delete"
Moveto [Numero da Of     ] Example "num"
Do_It!
ClearAll

{ask} typein tabelaref Enter
Moveto [Numero da Of     ] Example "num"
{Ask} {FaturaID} TypeIn "Fast Delete"
Moveto [Numero da Of     ] Example "num"
Do_It!
ClearAll

{ask} typein tabelaref Enter
Moveto [Numero da Of     ] Example "num"
{Ask} {FaturaIG} TypeIn "Fast Delete"
Moveto [Numero da Of     ] Example "num"
Do_It!
ClearAll

{ask} typein tabelaref Enter
Moveto [Numero da Of     ] Example "num"
{Ask} {FaturaIL} TypeIn "Fast Delete"
Moveto [Numero da Of     ] Example "num"
Do_It!
ClearAll

{ask} typein tabelaref Enter
Moveto [Numero da Of     ] Example "num"
{Ask} {FaturaJC} TypeIn "Fast Delete"
Moveto [Numero da Of     ] Example "num"
Do_It!
ClearAll

{ask} typein tabelaref Enter
Moveto [Numero da Of     ] Example "num"
{Ask} {FaturaR} TypeIn "Fast Delete"
Moveto [Numero da Of     ] Example "num"
Do_It!
ClearAll

{ask} typein tabelaref Enter
Moveto [Numero da Of     ] Example "num"
{Ask} {FaturaV} TypeIn "Fast Delete"
Moveto [Numero da Of     ] Example "num"
Do_It!
ClearAll

{ask} typein tabelaref Enter
Moveto [Numero da Of     ] Example "num"
{Ask} {Faturaiad} TypeIn "Fast Delete"
Moveto [Numero da Of     ] Example "num"
Do_It!
ClearAll

{ask} typein tabelaref Enter
Moveto [Numero da Of     ] Example "num"
{Ask} {Faturaicm} TypeIn "Fast Delete"
Moveto [Numero da Of     ] Example "num"
Do_It!
ClearAll

{ask} typein tabelaref Enter
Moveto [Numero da Of     ] Example "num"
{Ask} {Faturocp} TypeIn "Fast Delete"
Moveto [Numero da Of     ] Example "num"
Do_It!
ClearAll

{ask} typein tabelaref Enter
Moveto [Numero da Of     ] Example "num"
{Ask} {FaturaC} TypeIn "Fast Delete"
Moveto [Numero da Of     ] Example "num"
Do_It!
ClearAll

delete tabelaref

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_SITUACAO"      : Campo="TG_EMPRESA"
            Case Campo="TG_TPDATA"        : Campo="TG_SITUACAO"
            Case Campo="TG_DTINI"         : Campo="TG_TPDATA"
            Case Campo="TG_DTFIM"         : Campo="TG_DTINI"
            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_SITUACAO"
                    Case Campo="TG_SITUACAO":
                         VSDGSITUACAO=ControlValue("TG_SITUACAO")
                         Campo="TG_TPDATA"
                    Case Campo="TG_TPDATA"  : 
                         VSDGTPDATA=ControlValue("TG_TPDATA")
                                If IsBlank(VSDGTPDATA)
                                     Then VSDGTPDATA="1"
                                EndIf

                                Switch
                                  Case VSDGTPDATA="1" : VSDGNOMTPDATA="DATA DE EMISSAO"
                                  Case VSDGTPDATA="2" : VSDGNOMTPDATA="DATA DE SAIDA"
                                  Case VSDGTPDATA="3" : VSDGNOMTPDATA="DATA DE INCLUSAO"
                                EndSwitch
                                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_TPDATA":
     MSG_CAMPO="1 = EMISSAO  2 = SAIDA  3 = INCLUSAO"
  Case Campo="TG_DTFIM":
     MSG_CAMPO="Informe a Data Final"
  Case Campo="TG_SITUACAO":
    MSG_CAMPO="F=Faturado  A=Aberto  Em Branco = Todos"
Endswitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc

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

sys_valor()

VSDGEMPRESA =""
VSDGSITUACAO=""
VSDGDTINI   =BlankDate()
VSDGDTFIM   =BlankDate()

While True

  ShowDialog "Exclus„o de Ordem de Faturamento" 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_NOMEMPRESA" To VSDGNOMEMP

    Label  @ 02,00 "Situa‡„o" For "TG_SITUACAO"
    Accept @ 03,01 Width 33 "A9"  Picture "FATURADO,ABERTO" Tag "TG_SITUACAO" To VSDGSITUACAO
    
    Label  @ 04,00 "Op‡äes de Datas" For "TG_TPDATA"
    Accept @ 05,04 Width 04 "A1"  Picture "1,2,3"  Tag "TG_TPDATA"     To VSDGTPDATA
    Accept @ 05,09 Width 25 "A18" Picture "!*!"  Tag "TG_NOMTPDATA" To VSDGNOMTPDATA
    
    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 IsBlank(VSDGDTFIM)
     Then Mensagem("Data Final Invalida !")
          Loop
  EndIf

  If Sys_Codigo_Cliente<>"0006" 
     Then If Not Checa_Supervisor() Then Loop EndIf
  EndIf
  If Not Verifica_Usuario() Then Loop EndIf

  AGUARDE("Aguarde, Excluindo Dados")
  SELECIONA()
  
  Grava_LogEx("LIMPA_OF")
  MENSAGEM("Opera‡„o Finalizada !")
EndWhile
ClearAll
Release Vars All
Release Procs All

