;**Exp_reg  ********************************************************************
;*  Exportacao de dados p/ Registradora                                        *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 09/08/2004 por Davi Pereira Carrano
;Ultima Alteracao: 15/08/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Run
;Ultima Alteracao: 19/09/2012 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Substitui‡Ćo Editor novo arquivo por FileWrite
;Ultima Alteracao: 03/01/2017 por Rafael Matos
;Motivo Alteracao: Ajustes showdialog MensagemRadioButtons()  

;*******************************************************************************
;* Gera Arquivo Texto p/ Produtos                                              *
;*******************************************************************************
Proc EXPORTA()
SetDir Driver + "\\Sistemas\\Exporta"
ClearAll
Empty("Exp_Pad1")
Empty("Exp_Pad5")
CC=0
CD=0
For I from 1 to 4
   If VSDGPORTA[I]= False
      Then Loop
   EndIf

   PORTA=StrVal(I)
   Empty("Exp_Pad3")
   Empty("Exp_Pad7")

   If VSDGOPCAO[1]= True
      Then
           ;===================================
           ;=============PRODUTOS==============
           ;===================================


           ;============================================================================
           ;Criar o arquivo de Configura‡Ćo para ler os dados da registradora
           ;============================================================================
           SetDir "C:\\Vise\\G930"

           Deleta_Arquivo("PLUR.CFG")
           Deleta_Arquivo("G91PLU.TXT")

            Arq_Config="PLUR.CFG"
            Print File Arq_Config PORTA+"\n"
            Print File Arq_Config "038400"+"\n"
            Print File Arq_Config " M   2    Coloque a Chave da Registradora na posi‡Ćo OFF"+"\n"
            Print File Arq_Config " M   0    Dando Sequencia a Comunicacao"+"\n"
            Print File Arq_Config " M   0    Lendo as Plu's Programadas"+"\n"
            Print File Arq_Config " L   S    G91PLU.TXT"+"\n"
            Executa_Programa("g930 PLUR ")

            If Not IsFile("G91plu.txt")
               Then Mensagem("Problema na Leitura da Registradora!")
                    SetDir Driver +"\\Sistemas\\Exporta"
                    Return False
            EndIf

            SetDir Driver +"\\Sistemas\\Exporta"

           ;============================================================================
           ;Importar os dados lidos d um arquivo TXT lido da registradora para uma tabela do paradox
           ;============================================================================
           If IsTable("Exp_Pad2")
              Then Delete "Exp_Pad2"
           EndIf


           {Tools} {ExportImport} {Import} {ASCII} {Text} TypeIn "C:\\Vise\\G930\\G91PLU.txt" Enter {Exp_Pad2}
           ClearAll

           If IsEmpty("Exp_Pad2")
							Then Mensagem("Problema na Leitura da Registradora!")
									 Return False
           EndIf

           NR=NRecords("Exp_Pad2")
           If Not IsEmpty("Exp_Pad2")
              Then

                   View   "Exp_Pad3"
                   CoEdit "Exp_Pad2"
                   Scan
                     Barra(NR, RecNo())
                     AGUARDE("Aguarde, Lendo Registradora "+BARRA_STRING)
                     Moveto "Exp_Pad3"
                     End Down
                     [Codigo de Barras      ]=SubStr([\Sistemas\Exporta\Exp_Pad2->Text],1,12)
                     [Codigo do Item        ]=SubStr([\Sistemas\Exporta\Exp_Pad2->Text],15,4)
                     [Descricao do Item     ]=SubStr([\Sistemas\Exporta\Exp_Pad2->Text],21,14)
                     [Preco Unitario        ]=NumVal(SubStr([\Sistemas\Exporta\Exp_Pad2->Text],36,9))
                     [Departamento          ]=SubStr([\Sistemas\Exporta\Exp_Pad2->Text],47,2)
                     [Inativo               ]=SubStr([\Sistemas\Exporta\Exp_Pad2->Text],50,2)
                     [Valor Acumulado Vendas]=NumVal(SubStr([\Sistemas\Exporta\Exp_Pad2->Text],54,11))
                     [Quantidade Vendida    ]=NumVal(SubStr([\Sistemas\Exporta\Exp_Pad2->Text],67,7))

                     Moveto "Exp_Pad2"
                   EndScan
                   Do_It!
                   ClearAll

           EndIf

           ;============================================================================
           ;Preencher a tabela Exp_pad1 com os itens do programa Vise
           ;============================================================================
           NR=NRecords("\\Sistemas\\Estoque\\Itens")

           View   "\\Sistemas\\Vendas\\TbPrIte"
           View   "Exp_Pad1"
           Coedit "\\Sistemas\\Estoque\\Itens"
           Scan
             Barra(NR, RecNo())
             AGUARDE("Aguarde, Exportando Produtos "+BARRA_STRING)

             REG_OK=True
             If VSDGEXPORT=1
                Then If Not (([Data da Manutencao]>= VSDGDTINI) And ([Data da Manutencao]<= VSDGDTFIM))
                        Then REG_OK=False
                     EndIf
             EndIf

             CODITEM=[Codigo do Item]
             Moveto "\\Sistemas\\Vendas\\TbPrIte"
             Moveto [Codigo da Tabela]
             Locate VSDGTABELA, CODITEM
             If Not RetVal
                Then REG_OK=False
                Else If ((VSDGEXPORT=1) AND (REG_OK=False))
                        Then If Not (([Data Ultimo Reajuste]>= VSDGDTINI) And ([Data Ultimo Reajuste]<= VSDGDTFIM))
                                Then REG_OK=False
                                Else REG_OK=True
                             EndIf
                     EndIf
                     PRECO=[Preco Unitario]
                     If PRECO<=0
                        Then REG_OK=False
                     EndIf
             EndIf


             Moveto "\\Sistemas\\Estoque\\Itens"

;             If [Inativo]="S"
;                Then REG_OK=False
;             EndIf

             If ([Tipo do Item]<>"P") And ([Tipo do Item]<>"T")
                Then REG_OK=False
             EndIf

             If Not REG_OK
                Then Loop
             EndIf

             Moveto "Exp_Pad1"
             End Down
             [Codigo de Barras      ]=SubStr([\Sistemas\Estoque\Itens->Codigo de Barras],1,12)
             [Codigo do Item        ]=SubStr([\Sistemas\Estoque\Itens->Codigo do Item  ],7,4)
             [Descricao do Item     ]=SubStr([\Sistemas\Estoque\Itens->Descricao do Item  ],1,14)
             [Preco Unitario        ]=AlinhM(StrVal(PRECO),9)
             [Departamento          ]=SubStr([\Sistemas\Estoque\Itens->Codigo do Departamento],1,2)

             If [\Sistemas\Estoque\Itens->Inativo]<>"S"
                Then [Inativo]="01"
                Else [Inativo]="00"
             EndIf
             [Valor Acumulado Vendas]=AlinhM(Format("W11.2",0),11)
             [Quantidade Vendida    ]=AlinhM(Format("W7.2",0),7)

             Moveto "\\Sistemas\\Estoque\\Itens"

           EndScan
           Do_It!
           {Modify} {Sort} {Exp_pad1} {Same}  "1" Do_It!
           ClearAll



           ;============================================================================
           ;Marcar o flag dos produtos da tabela Exp_Pad1 como A-Alterados ou N-Novos
           ;============================================================================
           If Not IsEmpty("Exp_Pad3") And (VSDGEXPORT=1)
              Then
                   NR=NRecords("Exp_Pad1")
                   View "Exp_Pad3"
                   Coedit "Exp_Pad1"
                   Scan
                     Barra(NR, RecNo())
                     AGUARDE("Aguarde, Finalizando Exporta‡Ćo de Produtos "+BARRA_STRING)
                     Moveto "Exp_Pad3"
                     Moveto [Codigo de Barras]
                     Locate [\Sistemas\Exporta\Exp_Pad1->Codigo de Barras]
                     If RetVal
                        Then Moveto "Exp_Pad1"
                             [Flag]="A"
                        Else Moveto "Exp_Pad1"
                             [Flag]="N"
                     EndIf

                  EndScan
                  Do_It!
                  ClearAll
           EndIf


           ;============================================================================
           ;Criar o arquivo TXT correspondente com os itens de acordo com sua classificacao
           ;============================================================================
           Deleta_Arquivo("C:\\Vise\\G930\\PLU.TXT")
           Deleta_Arquivo("C:\\Vise\\G930\\PLUA.TXT")
           Deleta_Arquivo("C:\\Vise\\G930\\PLUN.TXT")

           NOVO    =False
           ALTERADO=False
           NR=NRecords("Exp_Pad1")

           View "Exp_pad1"
           Scan
              Barra(NR, RecNo())
              AGUARDE("Aguarde, Ciando arquivo de Dados "+BARRA_STRING)
              Switch
                Case [Flag]="N" :
                     NOVO    =True
                     ARQ="C:\\Vise\\G930\\PLUN.TXT"
                Case [Flag]="A" :
                     ALTERADO=True
                     ARQ="C:\\Vise\\G930\\PLUA.TXT"
                OtherWise       : ARQ="C:\\Vise\\G930\\PLU.TXT"
              EndSwitch

             CC=CC+1
             Print File ARQ AlinhM([Codigo de Barras ],12)+"  "
             Print File ARQ AlinhM([Codigo do Item   ],4)+"  "
             Print File ARQ Completa([Descricao do Item],14," ")+" "
             Print File ARQ ""+[Preco Unitario]+"  "
             Print File ARQ AlinhM(StrVal([Departamento]),2)+" "
             If [Inativo]<>"S"
                Then
                    Print File ARQ "01"+"  "
                Else
                    Print File ARQ "00"+"  "
             EndIf

             Print File ARQ ""+[Valor Acumulado Vendas]+"  "
             Print File ARQ ""+[Quantidade Vendida]+"  "
             Print FIle ARQ "\n"

           EndScan
           ClearAll




           ;============================================================================
           ;Criar os arquivos de configura‡Ćo para exportar os dados para a registradora
           ;============================================================================
           SetDir "C:\\Vise\\G930"

           Deleta_Arquivo("PLU.CFG")
           Deleta_Arquivo("PLUA.CFG")
           Deleta_Arquivo("PLUN.CFG")

           If VSDGEXPORT=1
              Then
                   If ALTERADO=True
                      Then
                           Arq_Config="PLUA.CFG"
                           Print File Arq_Config PORTA+"\n"
                           Print File Arq_Config "038400"+"\n"
                           Print File Arq_Config " M   0    Dando Sequencia a Comunicacao"+"\n"
                           Print File Arq_Config " M   0    Programando as Plu's com preco alterado"+"\n"
                           Print File Arq_Config " E   P    PLUA.TXT"+"\n"
                           Executa_Programa("g930 PLUA")
                   EndIf

                   If NOVO=True
                      Then
                           Arq_Config="PLUN.CFG"
                           Print File Arq_Config PORTA+"\n"
                           Print File Arq_Config "038400"+"\n"
                           Print File Arq_Config " M   0    Dando Sequencia a Comunicacao"+"\n"
                           Print File Arq_Config " M   0    Programando novas Plu's"+"\n"
                           Print File Arq_Config " E   N    PLUN.TXT"+"\n"
                           Executa_Programa("g930 PLUN")
                   EndIf

           EndIf

           If VSDGEXPORT=2
              Then
                   Arq_Config="PLU.CFG"
                   Print File Arq_Config PORTA +"\n"
                   Print File Arq_Config "038400"+"\n"
                   Print File Arq_Config " M   0    Dando Sequencia a Comunicacao"+"\n"
                   Print File Arq_Config " M   0    Programando todas as Plu's"+"\n"
                   Print File Arq_Config " E   V    PLU.TXT"+"\n"
                   Executa_Programa("g930 PLU")


           EndIf

           SetDir Driver + "\\Sistemas\\Exporta"

   EndIf
   If VSDGOPCAO[2]= True
      Then
           ;===================================
           ;=========DEPARTAMENTOS=============
           ;===================================

           ;============================================================================
           ;Criar o arquivo de Configura‡Ćo para ler os dados dos departamentos da registradora
           ;============================================================================
           SetDir "C:\\Vise\\G930"

           Deleta_Arquivo("DLUR.CFG")


            Arq_Config="DLUR.CFG"
            Print File Arq_Config PORTA+"\n"
            Print File Arq_Config "038400"+"\n"
            Print File Arq_Config " M   0    Dando Sequencia a Comunicacao"+"\n"
            Print File Arq_Config " M   0    Lendo os Departamentos Programados"+"\n"
            Print File Arq_Config " L   D    G91DLU.TXT"+"\n"
         ;  Executa_Programa("g930 DLUR")

            SetDir Driver +"\\Sistemas\\Exporta"


           ;============================================================================
           ;Importar os dados lidos da impressora de um arquivo TXT para uma tabela do paradox
           ;============================================================================

           If IsTable("Exp_Pad6")
              Then Delete "Exp_Pad6"
           EndIf


           {Tools} {ExportImport} {Import} {ASCII} {Text} TypeIn "C:\\Vise\\G930\\G91DLU.txt" Enter {Exp_Pad6}
           ClearAll



           If Not IsEmpty("Exp_Pad6")
              Then
                   View   "Exp_Pad7"
                   CoEdit "Exp_Pad6"
                   Scan
                     Moveto "Exp_Pad7"
                     End Down
                     [Codigo do Departamento   ]=SubStr([\Sistemas\Exporta\Exp_Pad6->Text],1,2)
                     [Descricao do Departamento]=SubStr([\Sistemas\Exporta\Exp_Pad6->Text],4,18)

                     Moveto "Exp_Pad6"
                   EndScan
                   Do_It!
                   ClearAll

           EndIf



           ;============================================================================
           ;Preencher a tabela Exp_pad5 com os departamentos do programa Vise
           ;============================================================================
           NR=NRecords("\\Sistemas\\Estoque\\Depart")

           View   "Exp_Pad5"
           Coedit "\\Sistemas\\Estoque\\Depart"
           Scan
             Barra(NR, RecNo())
             AGUARDE("Aguarde, Exportando Departamentos "+BARRA_STRING)

             Moveto "Exp_Pad5"
             End Down
             [Codigo do Departamento   ]=SubStr([\Sistemas\Estoque\Depart->Codigo do Departamento],2,2)
             [Descricao do Departamento]=SubStr([\Sistemas\Estoque\Depart->Descricao do Departamento],1,18)

             Moveto "\\Sistemas\\Estoque\\Depart"

           EndScan
           Do_It!
           ClearAll
           

           ;============================================================================
           ;Marcar o flag dos Departamentos da tabela Exp_Pad5 como A-Alterados ou N-Novos
           ;============================================================================

           If Not IsEmpty("Exp_Pad7")
              Then
                   View "Exp_Pad7"
                   Coedit "Exp_Pad5"
                   Scan
                     Moveto "Exp_Pad7"
                     Moveto [Descricao do Departamento]
                     Locate [\Sistemas\Exporta\Exp_Pad5->Descricao do Departamento]
                     If RetVal
                        Then Moveto "Exp_Pad5"
                             [Flag]="A"
                        Else Moveto "Exp_Pad5"
                             [Flag]="N"
                     EndIf

                   EndScan
                   Do_It!
                   ClearAll
           EndIf


           ;============================================================================
           ;Criar o arquivo TXT correspondente com os departamentos de acordo com sua classificacao
           ;============================================================================

           Deleta_Arquivo("C:\\Vise\\G930\\DLU.TXT")
           Deleta_Arquivo("C:\\Vise\\G930\\DLUA.TXT")
           Deleta_Arquivo("C:\\Vise\\G930\\DLUN.TXT")

           View "Exp_pad5"
           Scan
              Switch
                Case [Flag]="N" : ARQ="C:\\Vise\\G930\\DLUN.TXT"
                Case [Flag]="A" : ARQ="C:\\Vise\\G930\\DLUA.TXT"
                OtherWise       : ARQ="C:\\Vise\\G930\\DLU.TXT"
              EndSwitch

             CD=CD+1
             Print File ARQ Completa([Codigo do Departamento],2," ")+" "
             Print File ARQ Completa([Descricao do Departamento],18 ," ")+" "
             Print File ARQ Format("W9.2",[Preco Prefixado]) +"  "
             Print File ARQ Completa([Maior Valor],2," ")+"  "
             Print File ARQ "  "+"  "
             Print File ARQ "  "+"  "
             Print File ARQ "  "+"   "

             Print File ARQ Format("W11.2",[Valor Vendas Diario])+"  "
             Print File ARQ Format("W07.2",[Quantidade Lanc Diario])+"   "
             Print File ARQ Format("W13.2",[Valor Vendas Periodico])+"  "
             Print File ARQ Format("W07.2",[Quantidade Lanc Periodico])+"  "
             Print FIle ARQ "\n"

           EndScan
           ClearAll


           ;============================================================================
           ;Criar os arquivos de configura‡Ćo para exportar os dados para a registradora
           ;============================================================================
           SetDir "C:\\Vise\\G930"


           Deleta_Arquivo("DLU.CFG")
           Deleta_Arquivo("DLUA.CFG")
           Deleta_Arquivo("DLUN.CFG")


           If VSDGEXPORT=1
              Then
                   Arq_Config="DLUA.CFG"
                   Print File Arq_Config PORTA+"\n"
                   Print File Arq_Config "038400"+"\n"
                   Print File Arq_Config " M   0    Dando Sequencia a Comunicacao"+"\n"
                   Print File Arq_Config " M   0    Programando os Departamentos Novos"+"\n"
                   Print File Arq_Config " E   D    DLUA.TXT"+"\n"
            ;      Executa_Programa("g930 DLUA")

                   Arq_Config="DLUN.CFG"
                   Print File Arq_Config PORTA+"\n"
                   Print File Arq_Config "038400"+"\n"
                   Print File Arq_Config " M   0    Dando Sequencia a Comunicacao"+"\n"
                   Print File Arq_Config " M   0    Programando novos Departamentos"+"\n"
                   Print File Arq_Config " E   D    DLUN.TXT"+"\n"
            ;      Executa_Programa("g930 DLUN")


           EndIf

           If VSDGEXPORT=2
              Then

                   Arq_Config="DLU.CFG"
                   Print File Arq_Config PORTA +"\n"
                   Print File Arq_Config "038400"+"\n"
                   Print File Arq_Config " M   0    Dando Sequencia a Comunicacao"+"\n"
                   Print File Arq_Config " M   0    Programando todas os Departamentos"+"\n"
                   Print File Arq_Config " E   F    DLU.TXT"+"\n"
           ;       Executa_Programa("g930 DLU")


           EndIf

           SetDir Driver + "\\Sistemas\\Exporta"
   EndIf



EndFor
Return True
EndProc ;(Exporta)


  ;********************************************************************************
  ;* CONVERTE VALOR PARA STRING                                                  *
  ;********************************************************************************
  Proc Valor_Str(Valor,Tam,Dec)
  Private VrTit,Valor,Tam,Dec,Part1,Part2

  VrTit=StrVal(Valor)
  If SearchFrom(".",VrTit,1)>0
     Then Part1=SubStr(VrTit,1,SearchFrom(".",VrTit,1)-1)
          Part2=SubStr(VRTit,SearchFrom(".",VrTit,1)+1,Dec)
          Part2=PART2+Fill(0,DEC-Len(Part2))
     Else Part1=VrTit
          Part2=Fill(0,Dec)
  EndIf
  Vrtit=Part1+Part2
  If Len(Vrtit)>=6
     Then Vrtit=SubStr(Vrtit,1,5)
     Else VrTit=Fill("0",Tam-Len(VrTit))+VrTit
EndIf

Return VrTit
EndProc  ; (Valor_Str)

;*******************************************************************************
;* 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_OPCOES"        : Campo="NO"
            Case Campo="TG_PORTA"         : Campo="TG_OPCOES"
            Case Campo="TG_TABELA"        : Campo="TG_PORTA"
            Case Campo="TG_EXPORT"        : Campo="TG_TABELA"
            Case Campo="TG_DTINI"         : Campo="TG_EXPORT"
            Case Campo="TG_DTFIM"         : Campo="TG_DTINI"
            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_OPCOES":
                         If (VSDGOPCAO[1]=False) And
                            (VSDGOPCAO[2]=False)
                           Then Campo="TG_OPCOES"
                           Else Campo="TG_PORTA"
                         EndIf

                         If VSDGOPCAO[2]=False
                            Then VSDGTABELA  =""
                                 VSDGNOMTAB  =""
                         EndIf
                         If VSDGOPCAO[1]=False
                            Then VSDGTIPOE   =""
                                 VSDGNOMTIPOE=""
                         EndIf
                    Case Campo="TG_PORTA":
                         If (VSDGPORTA[1]=False) And
                            (VSDGPORTA[2]=False) And
                            (VSDGPORTA[3]=False) And
                            (VSDGPORTA[4]=False)
                            Then Campo="TG_PORTA"
                            Else Campo="TG_TABELA"
                         EndIf

                    Case Campo="TG_TABELA"     :
                        If Not IsBlank(VSDGTABELA)
                           Then Campo="TG_EXPORT"
                        EndIf

                    Case Campo="TG_EXPORT"      :
                        VSDGEXPORT=ControlValue("TG_EXPORT")
                        If VSDGEXPORT=1
                           Then Campo="TG_DTINI"
                           Else Campo="YES"
                                VSGDDTINI=BlankDate()
                                VSGDDTFIM=BlankDate()
                        EndIf
                    Case Campo="TG_DTINI"      :
                         If Not IsBlank(VSDGDTINI)
                            Then Campo="TG_DTFIM"
                         EndIf
                    Case Campo="TG_DTFIM"      : Campo="YES"
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf
Switch
 Case Campo="TG_TIPOE"   : MSG_CAMPO="Tipo de Exporta‡„o (P=Parcial  T=Total)"
 Case Campo="TG_PORTA"   : MSG_CAMPO="Porta(s) de Comunica‡Ćo(”es) que se encontra a(s) registradora(s)"
 Case Campo="TG_EXPORT"  : MensagemRadioButtons()
 Case Campo="TG_TABELA"  : MSG_CAMPO="Tabela de Pre‡o"
EndSwitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp

EndProc


;************************************
;* ROTINA PARA Ler/Gravacao Opcao   *
;************************************
Proc ConfOpcoes(Opcao)
Private Opcao, linha

Switch
  Case Opcao="Ler":
       If IsFile("EX_0001.sc")
           Then Play "EX_0001"
           Else VSDGPORTA[1]=False
                VSDGPORTA[2]=False
                VSDGPORTA[3]=False
                VSDGPORTA[4]=False
       EndIf
  Case Opcao="Gravar":
       FileWrite        "EX_0001.sc" From ";****** Variaveis de Configura‡„o Portas de Comunica‡Ćo"+"\n"
       FileWrite Append "EX_0001.sc" From "VSDGARQUIVO= "+StrVal(VSDGARQUIVO)+"\n"
       If VSDGPORTA[1]=True
          Then FileWrite Append "EX_0001.sc" From "VSDGPORTA[1]=True" +"\n"
          Else FileWrite Append "EX_0001.sc" From "VSDGPORTA[1]=False"+"\n"
       EndIf
       If VSDGPORTA[2]=True
          Then FileWrite Append "EX_0001.sc" From "VSDGPORTA[2]=True" +"\n"
          Else FileWrite Append "EX_0001.sc" From "VSDGPORTA[2]=False"+"\n"
       EndIf
       If VSDGPORTA[3]=True
          Then FileWrite Append "EX_0001.sc" From "VSDGPORTA[3]=True" +"\n"
          Else FileWrite Append "EX_0001.sc" From "VSDGPORTA[3]=False"+"\n"
       EndIf
       If VSDGPORTA[4]=True
          Then FileWrite Append "EX_0001.sc" From "VSDGPORTA[4]=True" +"\n"
          Else FileWrite Append "EX_0001.sc" From "VSDGPORTA[4]=False"+"\n"
       EndIf
EndSwitch
EndProc ;

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


Array VSDGOPCAO[2]
Array VSDGPORTA[4]
VSDGOPCAO[1]=True
VSDGOPCAO[2]=False
VSDGPORTA[1]=False
VSDGPORTA[2]=False
VSDGPORTA[3]=False
VSDGPORTA[4]=False
VSDGDTINI=BlankDate()
VSDGDTFIM=BlankDate()
VSDGEXPORT=False
ConfOpcoes("Ler")


While True
 ShowDialog "Exporta‡„o de dados p/ Registradora" Proc "SD_Dialog"
   Trigger "OPEN","ARRIVE"
    Key "TAB","ReverseTab","ENTER","ESC","F1",
      -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140    
     @ 05,12 Height 19 Width 46

    Label  @ 01,00 "Op‡oes " For "TG_OPCOES"
    CheckBoxes @2,00 Height 2 Width 25 Tag "TG_OPCOES"
    "Produtos      "       to VSDGOPCAO[1]
;    "Departamentos "       to VSDGOPCAO[2]


    Label  @ 01,22 "Porta  " For "TG_PORTA"
    CheckBoxes @2,22 Height 2 Width 20 Tag "TG_PORTA"
    "COM1"       to VSDGPORTA[1],
    "COM2"       to VSDGPORTA[2],
    "COM3"       to VSDGPORTA[3],
    "COM4"       to VSDGPORTA[4]


    Label  @ 05,00 "Tabela"  For "TG_TABELA"
    Accept @ 06,01 Width 08 "A5"  Picture "#*#" Tag "TG_TABELA" To VSDGTABELA
    Accept @ 06,10 Width 33 "A30" Picture "!*!" Tag "TG_NOMTAB" To VSDGNOMTAB

   Label  @ 07,00 "Exportar Registros:"  For "TG_EXPORT"
   RadioButtons @ 08,02 Height 02 Width 20
     "~N~ovos/Alterados",
     "~T~odos"
     Tag "TG_EXPORT"
     To VSDGEXPORT 


    Label  @ 11,00 "Periodo da Inclus„o/Altera‡„o" For "TG_DTINI"
    Label  @ 12,00 "de" For "TG_DTINI"
    Accept @ 12,04 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTINI" To VSDGDTINI
    Label  @ 12,17 "at‚" For "TG_DTFIM"
    Accept @ 12,22 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTFIM" To VSDGDTFIM

;    @ 14,01 ?? "C:\davi\g91plu.txt"

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

  EndDialog
  If Not RetVal Then QuitLoop EndIf

  If VSDGEXPORT=2
     Then ConfGeral("Cuidado!!! // "+
                    "Ao executar esta opera‡Ćo todos os dados de venda dos// "+
                    "produtos serĆo zerados.// "+
                    "Tenha certeza que j  foi feita a Redu‡Ćo Z.//"+
                    "Deseja prosseguir?")
                    If OK="N" Then Loop EndIf
  EndIf

  Driver=SubStr(Directory(),1,2)

  If VSDGOPCAO[1]=True
     Then If IsEmpty("\\Sistemas\\Estoque\\Itens")
             Then Mensagem("N„o Existem Registros a Processar [Produtos] !")
                  Loop
          EndIf
          If Exporta()
             Then If Not CC>0
                     Then MENSAGEM("N„o Ocorreu Exporta‡„o [Produtos] !")
                          Loop
                  EndIf
             Else Loop
          EndIf
  EndIf


  If VSDGOPCAO[2]=True
     Then If IsEmpty("\\Sistemas\\Estoque\\Depart")
             Then Mensagem("N„o Existem Registros a Processar [Departamentos] !")
                  Loop
          EndIf
          Exporta()
          If Not CD>0
             Then MENSAGEM("N„o Ocorreu Exporta‡„o [Produtos] !")
          EndIf
  EndIf


  ConfOpcoes("Gravar")
  Mensagem("Exporta‡„o Concluida !")

EndWhile
ClearAll
MOUSE SHOW
Release Vars All
Release Procs All
