;** Consulta *******************************************************************
;*  Consulta geral de Pedidos                                                  *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 25/07/2012 por Bruno Carvalho
;Ultima Alteracao: 13/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                 
;Ultima Alteracao: 03/01/2017 por Rafael Matos
;Motivo Alteracao: Ajustes showdialog MensagemRadioButtons()   
;Ultima Alteracao: 16/08/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes copia familia so fechames, naä excluir pasta no fechames   

;*******************************************************************************
;* PedidoC/PedidoI                                                             *
;*******************************************************************************
Proc PEDIDO()

If IsTable("PedidoC") And
   IsTable("PedidoI") 
   Then If Not IsEmpty("PedidoC") And Not IsEmpty("PedidoI")
           Then Play "\\Sistemas\\Vendas\\consped"
                ClearAll
           Else LimpAguarde() 
                Mensagem("Tabela sem registros !")    
        EndIf        
   Else LimpAguarde()
        Mensagem("Tabela [Pedidoc] n„o encontrada !")
EndIf

EndProc  ; (Saidas)

;*******************************************************************************
;* PedidoC/PedidoG                                                ** GRADE **  *
;*******************************************************************************
Proc PEDIDOG()

If IsTable("PedidoC") And
   IsTable("PedidoG") 
   Then If Not IsEmpty("PedidoC") And Not IsEmpty("PedidoG")
           Then Play "\\Sistemas\\Vendas\\conspedg"
                ClearAll
           Else LimpAguarde()
                Mensagem("Tabela sem registros !")
        EndIf
   Else LimpAguarde()
        Mensagem("Tabela [Pedidoc] n„o encontrada !")
EndIf

EndProc  ; (Duplicatas)

;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc SD_Dialog(Disparo,Campo,Evento,Elemento)
Temp=True
TECLA    =""
MSG_CAMPO=""
If Disparo="OPEN"  Then AoCriarShowDialog() EndIf
If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] = -59: Dialog_F1()
     Case Evento["KeyCode"] =  27:
          Temp=False
          Switch
            Case Campo="TG_DIRETORIOS"    : Campo="NO"
            Case Campo="TG_OPCOES"        : Campo="TG_DIRETORIOS"
            Case Campo="YES" Or Campo="NO": Campo="TG_OPCOES"
          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_DIRETORIOS" : Campo="TG_OPCOES"
                    Case Campo="TG_OPCOES"     : Campo="YES"
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf

Switch
  Case Campo="TG_OPCOES":
       MensagemRadioButtons()
EndSwitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc   ; (SD_Dialog)

;*******************************************************************************
;* Copia Familia                                                           *
;*******************************************************************************
Proc Copia_Familia(caminho,tabela)
Private caminho,tabela

{Tools} {Copy} {JustFamily} TypeIn "\\BASE"+caminho+"\\"+tabela Enter TypeIn tabela Enter
If MenuChoice()="Cancel"
   Then Down
        If MenuChoice()="Replace"
           Then {Replace}
           Else {Cancel}
                Esc Esc Esc Esc
                MSG="Tabela [ "+tabela+" ] em [ "+caminho+" ], //"
                MSG=MSG+"com estrutura diferente !// //"
                MSG=MSG+"Anote o nome da tabela e pasta !//"
                MSG=MSG+"Depois entre em contato com o suporte Ok !"
                Mensagem(MSG)
        Endif
EndIf
Esc Esc Esc Esc
EndProc

;*******************************************************************************
;Rotina Procura Diretorios Fechames                                            *
;*******************************************************************************
Proc Diretorios_Fechames(Nome_Diretorio)
Private Nome_Diretorio, Contador
ClearAll
Aguarde("Aguarde, Verificando Diret¢rios do Fechames")

If IsAssigned(Array_Diretorios)
   Then Release Vars Array_Diretorios
EndIf

DynArray Array_Diretorios[]
wcs= Lista_Diretorio(SubStr(Directory(),1,2)+Nome_Diretorio+"FECHAMES")

Contador = 0
For wcs from 1 to DynArraySize(Array_Lista_Diretorios)
  Switch
    Case Not IsTable(Directory()+"FECHAMES\\"+Array_Lista_Diretorios[wcs]+"\\PedidoC") : Loop
    Case IsEmpty(Directory()+"FECHAMES\\"+Array_Lista_Diretorios[wcs]+"\\PedidoC")     : Loop
    OtherWise                                                                          : Contador = Contador + 1
  EndSwitch  
  Array_Diretorios[Contador]=Array_Lista_Diretorios[wcs]
EndFor

LimpAguarde()

Release Vars Array_Lista_Diretorios
EndProc    ;  (Diretorios_FechaMes)

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

MODO="FECHA_MES"

Diretorio="\\Sistemas\\Vendas\\"
Diretorios_Fechames(Diretorio)

While True
  ShowDialog "Consulta Pedidos" Proc "SD_Dialog"
  Trigger "OPEN","ARRIVE"
  Key "F1","ENTER","ESC",
      -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140  
   @ 03,12   Height 17 Width 75

    Label @ 00,00 "Ano_Mes Fechado"  For "TG_DIRETORIOS"
    PickDynArray @01,01 Height 7 width 69
     Columns 7
      Array_Diretorios
       Tag "TG_DIRETORIOS"
        To ArrayElement

   Label @ 09,00 "Op‡”es de Tabelas" For "TG_OPCOES"
   RadioButtons @ 10,01 Height 2 Width 41
     "~P~edido            ",
     "Pedido com ~G~rade  "
     Tag "TG_OPCOES"
     To VSDGOPCAO

    Pushbutton @ 13,24 width 11 "~O~k"      OK     Default Value "Ok" Tag "YES" To BottonValue
    Pushbutton @ 13,38 width 11 "~C~ancela" CANCEL                    Tag "NO"  To BottonValue

  EndDialog
  If Not RetVal Then QuitLoop EndIf

  ANO_MES=Array_Diretorios[ArrayElement]
  If ANO_MES<>" Atual"
     Then Diretorio="\\Sistemas\\Vendas\\Fechames\\"+ANO_MES
     Else Diretorio="\\Sistemas\\Vendas"
  EndIf
  If DirExists(Diretorio)=0
     Then Mensagem("N„o existe a pasta do "+ANO_MES+" selecionado !")
          Loop
  EndIf
  SetDir Diretorio
 
  if search("FECHAMES",upper(Diretorio))>0
     then 
          Array Nom_Tab[4]
          Nom_Tab[1]="PedidoC"
          Nom_Tab[2]="PedidoI"
          Nom_Tab[3]="PedidoG"
          Nom_Tab[4]="PedidoV"
        
          For i From 1 To 4
              If IsTable(Nom_Tab[i])
                  Then Copia_Familia("\\Sistemas\\Vendas",Nom_Tab[i])  
              EndIf
          EndFor
  EndIf
  
  If VSDGOPCAO=1
     Then PEDIDO()
     Else PEDIDOG()
  EndIf
  Echo Normal
  Echo Off
  SetDir "\\Sistemas\\Vendas"

;;If Not Tem_Tabelas(Diretorio)
;;   Then Deleta_Arvore(SubStr(Directory(),1,2)+Diretorio)
;;EndIf

  LimpAguarde()

EndWhile
ClearAll
Release Vars All
Release Procs All
