;** GFortes ******************************************************************
;*  Exportacao de Dados p/ Fortes                                             *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 27/06/2019 por Anivel Augusto Rodrigues
;Ultima Alteracao:   /  /     por 
;Motivo Alteracao:                   

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

For ie From 1 to 1
    MES=ALINHM(StrVal(Month(VSDGDTINI)),2)
    Switch
        Case ie=1:
             If VSDGOPCAO[ie]=True Or VSDGOPCAO[2]=True
                Then
                     Play "\\Sistemas\\Exporta\\Expcmv4"
             EndIf
        Case ie=2:
        Case ie=3:
        Case ie=4:
        Case ie=5:
    EndSwitch
EndFor
LimpAguarde()
EndProc

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

Aguarde("Aguarde, Gerando arquivo de transa‡„o")

PTREF="_"+AlinhM(StrVal(Month(VSDGDTFIM)),2)+AlinhM(StrVal(Year(VSDGDTFIM)),4)
NewARQ=pasta+"\\Fortes_"+CNPJ+PTREF+".csv"
Deleta_Arquivo(NewARQ)

FileWrite        PrivDir()+"funcao1.txt" From "REN|"+pasta+"\\Fortes.CSV"+"|"+NewARQ+"\n"
ExecVisecf(PrivDir()+"funcao1.txt","")

arquivos=         Completa("Arquivo a enviar p/ contabilidade: ",62," ")+"//"
arquivos=arquivos+Completa(NewARQ,62," ")+"//"

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
  
;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bib_Show,\\Sistemas\\Cadastro\\Bibliot"
LimpAguarde()

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


pasta="\\Sistemas\\Exporta\\Dados\\Fortes"

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

Array VSDGOPCAO[2]

VSDGOPCAO[2]=True

While True
  ShowDialog "Exporta‡„o de dados para FORTES" 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"
    "Lan‡amento Contabil " to VSDGOPCAO[1],
    "Geral               " to VSDGOPCAO[2]

     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]
  CNPJ         =Tira_CharNum([CGC Empresa])
  ClearAll

  AGUARDE("Aguarde, Iniciando tarefa")

  If VSDGOPCAO[2]=True
     Then  For i from 1 to 2
               VSDGOPCAO[i]=True
           EndFor
  EndIf

  If DirExists(pasta)=0
     Then Cria_Pasta(pasta)
  EndIf
  
  GERA_ARQUIVO()

  GERA_DISCO()
  
  LimpaRodape(0)

EndWhile
ClearAll
Release Vars All
Release Procs All
