;** AltPcCc ********************************************************************
;* Alteracao de Lancamentos no  Plano de Conta e/ou Centro de Custo            *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 13/01/2010 por Bruno Carvalho
;Ultima Alteracao: 13/01/2011 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao selecÆo Pessoa
;Ultima Alteracao: 12/09/2011 por Karina Andrade
;Motivo Alteracao: Ajustes ShowDialog
;Ultima Alteracao: 12/09/2011 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ quando alterar o centro de custo 
;Ultima Alteracao: 06/09/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                   
;Ultima Alteracao: 22/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog     
;Ultima Alteracao: 29/12/2016 por Rafael Matos
;Motivo Alteracao: Ajustes MensagemCheckBoxes()               
;Ultima Alteracao: 09/08/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes layout         
;Ultima Alteracao: 14/06/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes NotaECV        

;*******************************************************************************
;* Rotina p/ Selecionar Registros                                              *
;*******************************************************************************
Proc Entradas()
ClearAll

;****** Compras - Estoque ******************************************************

If IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEC") And
   IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"NotaECP")And
   IsTable("\\Sistemas\\Estoque\\"+Dir_Trab+"NotaECV")
   Then
        NR = NRecords("\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEC")
        View   "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaECP"
        View   "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaECV"
        CoEdit "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEC"
        Scan
           Barra(NR, RecNo())
           Aguarde("Aguarde, Processando Notas "+Dir_Trab+" "+BARRA_STRING)

           If Not IsBlank(VSDGEMPRESA)
              Then If [Codigo da Empresa]<>VSDGEMPRESA
                      Then Loop
                   Endif
           EndIf

           If Not IsBlank(VSDGDESTINAT)
              Then If [Codigo]<>VSDGDESTINAT
                      Then Loop
                   Endif
           EndIf

           If [Data de Entrada]>VSDGDTFIM
              Then Loop
              Else If Not IsBlank(VSDGDTINI) And
                      [Data de Entrada]<VSDGDTINI
                      Then Loop
                   EndIf
           EndIf

           CopyToArray RegCab

           Moveto "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaECV"
           Moveto [Numero do Lancamento]
           Locate RegCab["Numero do Lancamento"]
           If RetVal
              then
                   If [Codigo CCusto]=VSDGCCUST
                      Then [Codigo CCusto]=VSDGCCUST2
                   EndIf
                   If [Codigo Plano_Conta]=VSDGPLCONTA
                      Then [Codigo Plano_Conta]=VSDGPLCONTA2
                   EndIf
           EndIf
           
           Moveto "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaECP"
           Moveto [Numero do Lancamento]
           Locate RegCab["Numero do Lancamento"]
           If RetVal
              Then  While [Numero do Lancamento]=RegCab["Numero do Lancamento"]
                      If [Codigo CCusto]=VSDGCCUST
                         Then [Codigo CCusto]=VSDGCCUST2
                      EndIf
                      If [Codigo Plano_Conta]=VSDGPLCONTA
                         Then [Codigo Plano_Conta]=VSDGPLCONTA2
                      EndIf

                      Skip
                      If EOT() Then QuitLoop Endif
                    EndWhile
           EndIf

           Moveto "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaECV"
           Moveto [Numero do Lancamento]
           Locate RegCab["Numero do Lancamento"]
           If RetVal
              Then  While [Numero do Lancamento]=RegCab["Numero do Lancamento"]
                      If [Codigo CCusto]=VSDGCCUST
                         Then [Codigo CCusto]=VSDGCCUST2
                      EndIf
                      If [Codigo Plano_Conta]=VSDGPLCONTA
                         Then [Codigo Plano_Conta]=VSDGPLCONTA2
                      EndIf

                      Skip
                      If EOT() Then QuitLoop Endif
                    EndWhile
           EndIf

           Moveto "\\Sistemas\\Estoque\\"+Dir_Trab+"NotaEC"
           
        EndScan
        Do_It!
        ClearAll
        LimpAguarde()

EndIf

EndProc   ; (Seleciona)

;*******************************************************************************
;* Rotina p/ Selecionar Registros                                              *
;*******************************************************************************
Proc Ctapag()
ClearAll

;****** Consumo - Contas a Pagar ***********************************************
If IsTable("\\Sistemas\\Ctapag\\"+Dir_Trab+"Titulos") And
   IsTable("\\Sistemas\\Ctapag\\"+Dir_Trab+"Titbaixa")   And
   IsTable("\\Sistemas\\Ctapag\\"+Dir_Trab+"Titrat")
   Then
        NR = NRecords("\\Sistemas\\Ctapag\\"+Dir_Trab+"Titulos")
        View   "\\Sistemas\\Ctapag\\"+Dir_Trab+"Titrat"
        View   "\\Sistemas\\Ctapag\\"+Dir_Trab+"Titbaixa"
        CoEdit "\\Sistemas\\Ctapag\\"+Dir_Trab+"Titulos"
        Scan
           Barra(NR, RecNo())
           Aguarde("Aguarde, Processando Notas "+Dir_Trab+" "+BARRA_STRING)

           If Not IsBlank(VSDGEMPRESA)
              Then If [Codigo da Empresa]<>VSDGEMPRESA
                      Then Loop
                   Endif
           EndIf

           If Not IsBlank(VSDGDESTINAT)
              Then If [Codigo do Emitente]<>VSDGDESTINAT
                      Then Loop
                   Endif
           EndIf

           If [Data de Emissao]>VSDGDTFIM
              Then Loop
              Else If Not IsBlank(VSDGDTINI) And
                      [Data de Emissao]<VSDGDTINI
                      Then Loop
                   EndIf
           EndIf

           CopyToArray RegCab
           If [Codigo CCusto]=VSDGCCUST
              Then [Codigo CCusto]=VSDGCCUST2
           EndIf
           If [Codigo Plano_Conta]=VSDGPLCONTA
              Then [Codigo Plano_Conta]=VSDGPLCONTA2
           EndIf

           Moveto "\\Sistemas\\Ctapag\\"+Dir_Trab+"Titrat"
           Moveto [Numero do Lancamento]
           Locate RegCab["Numero do Lancamento"]
           If RetVal
              Then  While [Numero do Lancamento]=RegCab["Numero do Lancamento"]
                      If [Codigo CCusto]=VSDGCCUST
                         Then [Codigo CCusto]=VSDGCCUST2
                      EndIf
                      If [Codigo Plano_Conta]=VSDGPLCONTA
                         Then [Codigo Plano_Conta]=VSDGPLCONTA2
                      EndIf

                      Skip
                      If EOT() Then QuitLoop Endif
                    EndWhile
           EndIf

           Moveto "\\Sistemas\\Ctapag\\"+Dir_Trab+"Titbaixa"
           Moveto [Numero do Lancamento]
           Locate RegCab["Numero do Lancamento"]
           If RetVal
              Then  While [Numero do Lancamento]=RegCab["Numero do Lancamento"]
                      If [Codigo CCusto]=VSDGCCUST
                         Then [Codigo CCusto]=VSDGCCUST2
                      EndIf
                      If [Codigo Plano_Conta]=VSDGPLCONTA
                         Then [Codigo Plano_Conta]=VSDGPLCONTA2
                      EndIf
                      Skip
                      If EOT() Then QuitLoop Endif
                    EndWhile
           EndIf

           Moveto "\\Sistemas\\Ctapag\\"+Dir_Trab+"Titulos"
           
        EndScan
        Do_It!
        ClearAll
        LimpAguarde()

EndIf

EndProc   ; (Seleciona)

;*******************************************************************************
;* Rotina p/ Selecionar Registros                                              *
;*******************************************************************************
Proc Ctarec()
ClearAll

;****** Consumo - Contas a Receber *********************************************
If IsTable("\\Sistemas\\Ctarec\\"+Dir_Trab+"Duplic") And
   IsTable("\\Sistemas\\Ctarec\\"+Dir_Trab+"Dupbaixa")
   Then
        NR = NRecords("\\Sistemas\\Ctarec\\"+Dir_Trab+"Duplic")
        View   "\\Sistemas\\Ctarec\\"+Dir_Trab+"Dupbaixa"
        CoEdit "\\Sistemas\\Ctarec\\"+Dir_Trab+"Duplic"
        Scan
           Barra(NR, RecNo())
           Aguarde("Aguarde, Processando Notas "+Dir_Trab+" "+BARRA_STRING)

           If Not IsBlank(VSDGEMPRESA)
              Then If [Codigo da Empresa]<>VSDGEMPRESA
                      Then Loop
                   Endif
           EndIf

           If Not IsBlank(VSDGDESTINAT)
              Then If [Codigo do Destinatario]<>VSDGDESTINAT
                      Then Loop
                   Endif
           EndIf

           If [Data de Emissao]>VSDGDTFIM
              Then Loop
              Else If Not IsBlank(VSDGDTINI) And
                      [Data de Emissao]<VSDGDTINI
                      Then Loop
                   EndIf
           EndIf

           CopyToArray RegCab
           
           If [Codigo CCusto]=VSDGCCUST
              Then [Codigo CCusto]=VSDGCCUST2
           EndIf
           If [Codigo Plano_Conta]=VSDGPLCONTA
              Then [Codigo Plano_Conta]=VSDGPLCONTA2
           EndIf
                      
           Moveto "\\Sistemas\\Ctarec\\"+Dir_Trab+"Dupbaixa"
           Moveto [Numero do Lancamento]
           Locate RegCab["Numero do Lancamento"]
           If RetVal
              Then  While [Numero do Lancamento]=RegCab["Numero do Lancamento"]
                      If [Codigo CCusto]=VSDGCCUST
                         Then [Codigo CCusto]=VSDGCCUST2
                      EndIf
                      If [Codigo Plano_Conta]=VSDGPLCONTA
                         Then [Codigo Plano_Conta]=VSDGPLCONTA2
                      EndIf
                      Skip
                      If EOT() Then QuitLoop Endif
                    EndWhile
           EndIf

           Moveto "\\Sistemas\\Ctarec\\"+Dir_Trab+"Duplic"
           
        EndScan
        Do_It!
        ClearAll
        LimpAguarde()

EndIf

EndProc   ; (Seleciona)

;*******************************************************************************
;* Rotina p/ Selecionar Registros                                              *
;*******************************************************************************
Proc Ctacor()
ClearAll

;****** Lan‡amentos - Caixa / Banco ********************************************
If IsTable("\\Sistemas\\Ctacor\\"+Dir_Trab+"Movcont")
   Then
        NR = NRecords("\\Sistemas\\Ctacor\\"+Dir_Trab+"Movcont")
        CoEdit "\\Sistemas\\Ctacor\\"+Dir_Trab+"Movcont"
        Scan
           Barra(NR, RecNo())
           Aguarde("Aguarde, Processando Notas "+Dir_Trab+" "+BARRA_STRING)

           If Not IsBlank(VSDGEMPRESA)
              Then If [Codigo da Empresa]<>VSDGEMPRESA
                      Then Loop
                   Endif
           EndIf

           If Not IsBlank(VSDGDESTINAT)
              Then If [Codigo do EmitDest]<>VSDGDESTINAT
                      Then Loop
                   Endif
           EndIf

           If [Data]>VSDGDTFIM
              Then Loop
              Else If Not IsBlank(VSDGDTINI) And
                      [Data]<VSDGDTINI
                      Then Loop
                   EndIf
           EndIf
           If [Codigo CCusto]=VSDGCCUST
              Then [Codigo CCusto]=VSDGCCUST2
           EndIf 

           If [Codigo Plano_Conta]=VSDGPLCONTA
              Then [Codigo Plano_Conta]=VSDGPLCONTA2
           EndIf
           
        EndScan
        Do_It!
        ClearAll
        LimpAguarde()

EndIf

EndProc   ; (Seleciona)

;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc SD_Dialog(Disparo,Campo,Evento,Elemento)
Private executarF1, JANELA_DIALOG, winarray5
executarF1=False
Temp=True
MSG_CAMPO=""
TECLA=""


  If Campo="TG_PLCONTA" Or Campo="TG_PLCONTA2" Or Campo="TG_CCUST" Or Campo="TG_CCUST2"
     Then TECLA=TECLA+"F1=Tabelas  "
  EndIf
  
  Prompt TECLA

If Disparo="OPEN"  
   Then AoCriarShowDialog()
        TiraSombraShowDialog()
EndIf
If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] = 9: Temp=False
     Case Evento["KeyCode"] = -59: 
          If Campo="TG_PLCONTA" Or Campo="TG_PLCONTA2" Or Campo="TG_CCUST" Or Campo="TG_CCUST2"
             Then
                 Dynarray WinArray5[]
                 Window Handle Dialog To JANELA_DIALOG
                 Window GetAttributes JANELA_DIALOG To WinArray5
                 
                 If Campo="TG_PLCONTA"        Then View "\\Sistemas\\CtaCor\\PlContas"      executarF1=True EndIf
                 If Campo="TG_PLCONTA2"       Then View "\\Sistemas\\CtaCor\\PlContas"      executarF1=True EndIf
                 If Campo="TG_CCUST"          Then View "\\Sistemas\\CtaCor\\Ccusto"        executarF1=True EndIf
                 If Campo="TG_CCUST2"         Then View "\\Sistemas\\CtaCor\\Ccusto"        executarF1=True EndIf
     
                 If executarF1
                    Then
                    WinArray5["FLOATING"]=False
                    Window SetAttributes JANELA_DIALOG From WinArray5

                    If Consulta_Sem_F1()
                       Then Switch
                       Case Campo="TG_PLCONTA":
                            VSDGPLCONTA   =[Codigo Plano_Conta]
                            VSDGNOMPLCONTA=LTrim([Descricao Plano_Conta])
                            VSDGTPPLCONTA =[Tipo de Conta]
                       Case Campo="TG_PLCONTA2":
                            VSDGPLCONTA2   =[Codigo Plano_Conta]
                            VSDGNOMPLCONTA2=LTrim([Descricao Plano_Conta])
                            VSDGTPPLCONTA2 =[Tipo de Conta]
                       Case Campo="TG_CCUST":
                            VSDGCCUST  =[Codigo CCusto]
                            VSDGNOMCUS =[Descricao Ccusto]
                       Case Campo="TG_CCUST2":
                            VSDGCCUST2  =[Codigo CCusto]
                            VSDGNOMCUS2 =[Descricao Ccusto]     
                       EndSwitch
                    EndIf
                   
                       Window Select JANELA_DIALOG
                       WinArray5["FLOATING"]=True
                       Window SetAttributes JANELA_DIALOG From WinArray5

                       ClearImage
                       Echo Normal
                       Echo Off
                  
                    EndIf       
             Else Dialog_F1()
          EndIf
     Case Evento["KeyCode"] =  27:
          Temp=False
          Switch
            Case Campo="TG_EMPRESA"       : Campo="NO"
            Case Campo="TG_PLCONTA"       : Campo="TG_EMPRESA"  
            Case Campo="TG_PLCONTA2"      : Campo="TG_PLCONTA"
            Case Campo="TG_CCUST"         : 
                 VSDGCCUST=ControlValue("TG_CCUST")
                   If IsBlank(VSDGPLCONTA2)
                        Then Campo="TG_PLCONTA"
                        Else Campo="TG_PLCONTA2"
                   EndIf
            Case Campo="TG_CCUST2"        : Campo="TG_CCUST"
            Case Campo="TG_DTINI"         : 
                 If IsBlank(VSDGCCUST2)
                    Then Campo="TG_CCUST"
                    Else Campo="TG_CCUST2"
                 EndIf
            Case Campo="TG_DTFIM"         : Campo="TG_DTINI"
            Case Campo="TG_DESTINAT"      : Campo="TG_DTFIM"
            Case Campo="TG_OPCOES"        : Campo="TG_DESTINAT"
            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_PLCONTA"
                    Case Campo="TG_PLCONTA"    :
                         VSDGPLCONTA=ControlValue("TG_PLCONTA")
                         If IsBlank(VSDGPLCONTA)
                            Then VSDGNOMPLCONTA  =""
                                 VSDGNOMPLCONTA2 =""
                                 VSDGPLCONTA2    =""
                                 Campo="TG_CCUST"
                            Else View NOWINDOW "\\Sistemas\\Ctacor\\PlContas"
                                 Moveto [Codigo Plano_Conta]
                                 Locate VSDGPLCONTA
                                 If Not Retval
                                        Then MENSAGEM("Conta do Plano n„o Cadastrado!")
                                             VSDGNOMPLCONTA  =""
                                             Campo="TG_PLCONTA2"
                                 Else VSDGNOMPLCONTA=LTrim([Descricao Plano_Conta])
                                      Campo="TG_PLCONTA2"
                                 EndIf 
                         EndIf
                         
                     Case Campo="TG_PLCONTA2"   : 
                     VSDGPLCONTA2=ControlValue("TG_PLCONTA2")
                     If IsBlank(VSDGPLCONTA2)
                        Then VSDGNOMPLCONTA2 = ""
                             MENSAGEM("Informe o Novo Plano de Conta")
                        Else View NOWINDOW "\\Sistemas\\Ctacor\\PlContas"
                             Moveto [Codigo Plano_Conta]
                             Locate VSDGPLCONTA2
                             If Not Retval
                                    Then VSDGNOMPLCONTA2 = "" 
                                         MENSAGEM("Conta do Plano n„o Cadastrado!")
                                    Else VSDGNOMPLCONTA2=LTrim([Descricao Plano_Conta])
                                         If VSDGPLCONTA2 = VSDGPLCONTA
                                            Then MENSAGEM("Novo Plano de Conta Igual ao Plano de Conta Atual ")
                                            Else Campo="TG_CCUST"
                                         EndIf
                            EndIf
                     EndIf
                     
                     Case Campo="TG_CCUST"      :
                          VSDGCCUST=ControlValue("TG_CCUST")
                          If IsBlank(VSDGCCUST)
                             Then VSDGNOMCUS  =""
                                  VSDGNOMCUS2 =""
                                  VSDGCCUST2   =""
                                  Campo="TG_DTINI"
                             Else View NOWINDOW "\\Sistemas\\Ctacor\\Ccusto"
                                  Moveto [Codigo CCusto]
                                  Locate VSDGCCUST
                                  If Not Retval
                                         Then VSDGNOMCUS  =""
                                              MENSAGEM("Centro de Custo n„o Cadastrado!")
                                              Campo="TG_CCUST2"
                                  Else VSDGNOMCUS=LTrim([Descricao CCusto])
                                       Campo="TG_CCUST2"
                                  EndIf
                          EndIf
                     Case Campo="TG_CCUST2"     :
                          VSDGCCUST2=ControlValue("TG_CCUST2")
                          If IsBlank(VSDGCCUST2)
                             Then VSDGNOMCUS2 =""
                                  MENSAGEM("Informe o Novo Centro de Custo")
                          Else View NOWINDOW "\\Sistemas\\Ctacor\\Ccusto"
                               Moveto [Codigo CCusto]
                               Locate VSDGCCUST2
                               If Not Retval
                                      Then VSDGNOMCUS2 = "" 
                                           MENSAGEM("Centro de Custo n„o Cadastrado!")
                               Else VSDGNOMCUS2=LTrim([Descricao CCusto])
                                    If VSDGCCUST2 = VSDGCCUST
                                       Then MENSAGEM("Novo Centro de Custo Igual ao Centro de Custo Atual ")
                                       Else Campo="TG_DTINI"
                                    EndIf 
                               EndIf     
                          EndIf
                     Case Campo="TG_DTINI"       : Campo="TG_DTFIM"
                     Case Campo="TG_DTFIM"       : Campo="TG_DESTINAT"
                     Case Campo="TG_DESTINAT"    : Campo="TG_OPCOES"
                     Case Campo="TG_OPCOES"      : Campo="YES"
                   EndSwitch
           EndIf
           RefreshDialog
   EndSwitch
EndIf
Switch
  Case Campo="TG_DTINI":
     MSG_CAMPO="Informe a Data Inicial"
  Case Campo="TG_DTFIM":
     MSG_CAMPO="Informe a Data Final"
  Case Campo="TG_OPCOES":
     MensagemCheckBoxes()
  Case Campo="TG_PLCONTA" :
     MSG_CAMPO="Informe o Plano de Conta Atual a Ser Substitu¡do"   
  Case Campo="TG_PLCONTA2" :
     MSG_CAMPO="Informe o Novo Plano de Conta"   
  Case Campo="TG_CCUST" :
     MSG_CAMPO="Informe o Centro de Custo Atual a Ser Substitu¡do" 
  Case Campo="TG_CCUST2" :
     MSG_CAMPO="Informe o Novo Centro de Custo"   
Endswitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc

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

VSDGEMPRESA  =""
VSDGPLCONTA  =""
VSDGPLCONTA2 =""
VSDGCCUST    =""
VSDGCCUST2   =""
VSDGDTINI    =BlankDate()
VSDGDTFIM    =BlankDate()
VSDGDESTINAT=""

Array VSDGOPCAO[5]
;VSDGOPCAO[5]=True

COR_MENSAGEM="1"
MSG="- Antes de efetuar esta opera‡„o de altera‡„o de dados,     //"
MSG=MSG+"  recomendamos que seja feito um backup do sistema.         //"
MSG=MSG+"- Caso a altera‡„o de dados fique errada ‚ poss¡vel retornar//"
MSG=MSG+"  aos valores anteriores com a restaura‡„o do backup.       //"
MSG=MSG+"- Recomendamos tamb‚m que durante este processo ningu‚m     //"
MSG=MSG+"  esteja usando o sistema.                                  //"
Mensagem(MSG)

While True

  ShowDialog "Altera‡„o de lan‡amentos - Centro de Custo/Plano de Conta" 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 19 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 "Plano de Contas a substituir" For "TG_PLCONTA"
    Accept @ 03,01 Width 33 "A13"  Picture "!*!" Tag "TG_PLCONTA" To VSDGPLCONTA
    Accept @ 04,01 Width 33 "A40" Picture "!*!" Tag "TG_NOMPLCONTA"  To VSDGNOMPLCONTA

    Label  @ 02,35 "Novo Plano de Contas" For "TG_PLCONTA2"
    Accept @ 03,36 Width 33 "A13"  Picture "!*!" Tag "TG_PLCONTA2" To VSDGPLCONTA2
    Accept @ 04,36 Width 33 "A40" Picture "!*!" Tag "TG_NOMPLCONTA2"  To VSDGNOMPLCONTA2

    Label  @ 05,00 "Centro de Custo a substituir" For "TG_CCUST"
    Accept @ 06,01 Width 33 "A7"  Picture "###.###" Tag "TG_CCUST" To VSDGCCUST
    Accept @ 07,01 Width 33 "A20" Picture "!*!" Tag "TG_NOMCUS"  To VSDGNOMCUS

    Label  @ 05,35 "Novo Centro de Custo" For "TG_CCUST2"
    Accept @ 06,36 Width 33 "A7"  Picture "###.###" Tag "TG_CCUST2" To VSDGCCUST2
    Accept @ 07,36 Width 33 "A20" Picture "!*!" Tag "TG_NOMCUS2"  To VSDGNOMCUS2

    Label  @ 08,00 "Per¡odo Referente de" For "TG_DTINI"
    Accept @ 09,03 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTINI" To VSDGDTINI
    Label  @ 09,16 "at‚" For "TG_DTFIM"
    Accept @ 09,21 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTFIM" To VSDGDTFIM

    Label  @ 10,00 "Pessoa"  For "TG_DESTINAT"
    Accept @ 11,01 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_DESTINAT" To VSDGDESTINAT
    Accept @ 11,09 Width 25 "A20" Picture "!*!" Tag "TG_NOMDEST"  To VSDGNOMDEST

    Label @ 08,35 "Op‡äes de Movimentos " For "TG_OPCOES"
    CheckBoxes @09,35 Height 5 Width 33 Tag "TG_OPCOES"
    "Contas a Pagar  /Dt.Emiss„o " to VSDGOPCAO[1],
    "Contas a Receber/Dt.Emiss„o " to VSDGOPCAO[2],
    "Caixa/Banco     /Dt.Opera‡„o" to VSDGOPCAO[3],
    "Notas de Entrada/Dt.Entrada " to VSDGOPCAO[4],
    "Todos               " to VSDGOPCAO[5]

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

  EndDialog
  If Not RetVal Then QuitLoop EndIf

  If Not Verifica_Usuario()
     Then Loop
  EndIf

  If IsBlank(VSDGDTINI)
     Then Mensagem("Data Inicial Invalida !")
          Loop
  EndIf
  If IsBlank(VSDGDTFIM)
     Then Mensagem("Data Final Invalida !")
          Loop
  EndIf

  If IsBlank(VSDGCCUST) And IsBlank(VSDGPLCONTA)
     Then Mensagem("Informe o plano de conta e/ou centro de custo, //a ser realizado as altera‡äes!")
          Loop
  EndIf
  
  AGUARDE("Aguarde, processando dados")

  Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
  While Novo_Dir_Trab()
    If VSDGOPCAO[1]=True or VSDGOPCAO[5]=True
       Then CTAPAG()
    EndIf
    If VSDGOPCAO[2]=True or VSDGOPCAO[5]=True
       Then CTAREC()
    EndIf
    If VSDGOPCAO[3]=True or VSDGOPCAO[5]=True
       Then CTACOR()
    EndIf
    If VSDGOPCAO[4]=True or VSDGOPCAO[5]=True
       Then ENTRADAS()
    EndIf
  EndWhile
  LimpAguarde()

  Mensagem("Fim do processo!")
EndWhile
ClearAll
Release Vars All
Release Procs All
