;** GAlterd *******************************************************************
;*  Exportacao de Dados p/ AlterData                                           *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 04/07/2013 por Anivel Augusto Rodrigues
;Ultima Alteracao: 01/10/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog.                  

;*******************************************************************************
;* Rotina p/ gerar arquivos                                                    *
;*******************************************************************************
Proc GERA_ARQUIVO()
gerou_arquivos=False

For ie From 1 to 6
    MES=ALINHM(StrVal(Month(VSDGDTINI)),2)
    Switch
        Case ie=1:
     ;       If VSDGOPCAO[ie]=True Or VSDGOPCAO[6]=True
     ;          Then
     ;
     ;               Play "\\Sistemas\\Exporta\\RegEntra"
     ;
     ;               If Not IsEmpty("\\Sistemas\\Estoque\\RegEntra")
     ;                  Then Play "\\Sistemas\\Exporta\\Expentit"
     ;               EndIf
     ;
     ;               Play "\\Sistemas\\Exporta\\ExpEntra2"
     ;
     ;       EndIf
        Case ie=2:
     ;       If VSDGOPCAO[ie]=True Or VSDGOPCAO[6]=True
     ;          Then
     ;               Play "\\Sistemas\\Exporta\\RegSaida"
     ;
     ;               If Not IsEmpty("\\Sistemas\\Vendas\\RegSaida")
     ;                  Then Play "\\Sistemas\\Exporta\\Expsaiit"
     ;               EndIf
     ;
     ;               Play "\\Sistemas\\Exporta\\ExpSaida2"
     ;
     ;       EndIf
        Case ie=3:
             If VSDGOPCAO[ie]=True Or VSDGOPCAO[6]=True
                Then
                     Play "\\Sistemas\\Exporta\\Expcmv2"
             EndIf
        Case ie=4:
     ;       If VSDGOPCAO[ie]=True Or VSDGOPCAO[6]=True
     ;          Then
     ;               Play "\\Sistemas\\Exporta\\ExpSsrv2"
     ;       EndIf
        Case ie=5:
     ;       If VSDGOPCAO[ie]=True Or VSDGOPCAO[6]=True
     ;          Then
     ;              ;Play "\\Sistemas\\Exporta\\ExpEsrv2"
     ;       EndIf
    EndSwitch
EndFor
LimpAguarde()
EndProc

;*******************************************************************************
;* Rotina p/ gerar o disquete                                                  *
;*******************************************************************************
Proc GERA_DISCO()

Aguarde("Aguarde, Compactando pacote de transa‡„o")
SetDir "\\Sistemas\\Exporta\\Dados\\ALTERDAT\\"

cmd="REN \""+NewARQ+"\" ALTERDAT.ARJ"
ExecVise(cmd)
Sleep 2000
Deleta_Arquivo("ALTERDAT.ARJ")

Sleep 2000
cmd="c:\\vise\\Varj.exe a ALTERDAT MV*."+ANO
Executa_Programa(cmd)
Sleep 2000

cmd="REN ALTERDAT.ARJ \""+NewARQ+"\""
ExecVise(cmd)
Sleep 1000

NewARQ=DRIVE+"\\Sistemas\\Exporta\\Dados\\ALTERDAT\\"+NewARQ
arquivos=arquivos+"//"+Completa("Arquivo pacote a enviar p/ contabilidade: ",62," ")+"//"
arquivos=arquivos+Completa(NewARQ,62," ")+"//"

Deleta_Arquivo("ALTERDAT.ARJ")

SetDir "\\Sistemas\\Exporta\\"
LimpAguarde()
If gerou_arquivos
  Then Mensagem("Gerado os arquivos abaixo: // //"+arquivos)
  Else Mensagem("Arquivos nÆo gerados!")
EndIf

ClearAll

EndProc

;*******************************************************************************
;* 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_EMPRESA"       : Campo="NO"
            Case Campo="TG_DTINI"         : Campo="TG_EMPRESA"
            Case Campo="TG_DTFIM"         : Campo="TG_DTINI"
            Case Campo="TG_OPCOES"        : 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"    :
                         If IsBlank(VSDGEMPRESA)
                            Then Mensagem("Empresa Invalida !")
                            Else Campo="TG_DTINI"
                         EndIf
                    Case Campo="TG_DTINI"      :
                         If VSDGDTINI=BlankDate()
                            Then Mensagem("Data Inicial Invalida !")
                            Else Campo="TG_DTFIM"
                         EndIf
                    Case Campo="TG_DTFIM"      : Campo="TG_OPCOES"
                    Case Campo="TG_OPCOES"     : Campo="YES"
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf
Switch
  Case Campo="TG_EMPRESA":
       MSG_CAMPO="Informe uma Empresa"
  Case Campo="TG_DTINI":
       MSG_CAMPO="Informe a Data Inicial"
  Case Campo="TG_OPCOES":
       MSG_CAMPO="Selecione uma ou mais op‡oes se desejar !"
       TECLA    ="=Mover  Barra de espa‡o=Marca/Desmarca  "
EndSwitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc
  
;*******************************************************************************
;* Deleta Arquivos Temporarios                                                 *
;*******************************************************************************
Proc Deleta_Arquivos_Temp()

Deleta_Arquivo("\\Sistemas\\Exporta\\Dados\\ALTERDAT\\ALTERDAT.ARJ")
Deleta_Arquivo("\\Sistemas\\Exporta\\Dados\\ALTERDAT\\MS*.TXT")
Deleta_Arquivo("\\Sistemas\\Exporta\\Dados\\ALTERDAT\\IS*.TXT")
Deleta_Arquivo("\\Sistemas\\Exporta\\Dados\\ALTERDAT\\ME*.TXT")
Deleta_Arquivo("\\Sistemas\\Exporta\\Dados\\ALTERDAT\\IE*.TXT")
Deleta_Arquivo("\\Sistemas\\Exporta\\Dados\\ALTERDAT\\MV*.TXT")
Deleta_Arquivo("\\Sistemas\\Exporta\\Dados\\ALTERDAT\\MT*.TXT")
Deleta_Arquivo("\\Sistemas\\Exporta\\Dados\\ALTERDAT\\MV"+"0"+PREFIXO+MES+"."+ANO)

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

If Not IsAssigned(SYS_CODIGO_CLIENTE)  Then SYS_CODIGO_CLIENTE=""  EndIf

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

Array VSDGOPCAO[6]

VSDGOPCAO[6]=True

While True
  ShowDialog "Exporta‡„o de dados para ALTERDATA" Proc "SD_Dialog"
  Trigger "OPEN","ARRIVE"
  Key "F1","ENTER","ESC",
      -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140  
     @ 02,19   Height 17 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 "Per¡odo Referente 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 "Op‡oes de Movimentos " For "TG_OPCOES"
    CheckBoxes @6,00 Height 6 Width 24 Tag "TG_OPCOES"
    "...................." to VSDGOPCAO[1],
    "...................." to VSDGOPCAO[2],
    "Lan‡amento Contabil " to VSDGOPCAO[3],
    "...................." to VSDGOPCAO[4],
    "...................." to VSDGOPCAO[5],
    "Geral               " to VSDGOPCAO[6]

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

  EndDialog

  If Not RetVal Then QuitLoop EndIf

  If IsBlank(VSDGEMPRESA)
     Then Mensagem("Selecione uma empresa !")
          Loop
  EndIf
  If VSDGDTFIM=BlankDate() Or
     VSDGDTINI=BlankDate()
     Then Mensagem("Data Invalida !")
          Loop
  EndIf

  View "\\Sistemas\\Cadastro\\Empresas"
  Moveto [Codigo da Empresa]
  Locate VSDGEMPRESA
  If Not RetVal
     Then MENSAGEM("Empresa N„o Cadastrada")
          Loop
  EndIf
  PREFIXO      =SubStr([Conta Contabil Empresa],1,3)
  TIPOATIVIDADE=[Atividade]
  ClearAll

  For i from 1 to 5
      If VSDGOPCAO[i]=True
         Then VSDGOPCAO[6]=False
      EndIf
  EndFor
  If VSDGOPCAO[6]=True
     Then  For i from 1 to 5
               VSDGOPCAO[i]=True
           EndFor
  EndIf

  If DirExists("\\Sistemas\\Exporta\\Dados\\ALTERDAT")=0
     Then Cria_Pasta("\\Sistemas\\Exporta\\Dados\\ALTERDAT")
  EndIf
  
  MES=AlinhM(StrVal(Month(VSDGDTINI)),2)
  ANO=SubStr(StrVal(Year(VSDGDTINI)),3,2)

  DRIVE=SubStr(Directory(),1,2)
  PTREF="_"+AlinhM(StrVal(Month(VSDGDTFIM)),2)+AlinhM(StrVal(Year(VSDGDTFIM)),4)
  NewARQ="ALTERDAT_"+PREFIXO+PTREF+".ARJ"
  Deleta_Arquivos_Temp()

  Arquivos=""
  GERA_ARQUIVO()

  GERA_DISCO()
  
  Deleta_Arquivos_Temp()
  LimpaRodape(0)

EndWhile
ClearAll
Release Vars All
Release Procs All
