;** Agenc **********************************************************************
;*  Manutencao da Tabela de Preco                                              *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 13/12/2010 por Anivel Augusto Rodrigues
;Ultima Alteracao: 29/12/2010 por Bruno Carvalho
;Motivo Alteracao: Ajustes Novo Layout de Teclas
;Ultima Alteracao: 14/06/2012 por Bruno Carvalho
;Motivo Alteracao: Ajustado ASK "Destinat" que estrar  filtrando representante al‚m dos NOTAS
;Ultima Alteracao: 04/02/2013 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes LimpaRodape()                  
;Ultima Alteracao: 21/08/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes "Situacao do Cliente" p/ permitir situa‡Æo como OTIMO
;Ultima Alteracao: 27/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: 26/04/2018 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ [Data de Nascimento] ser consultada/armazenada pela Destinat                   

;*******************************************************************************
;* Rotina para Localizar Registro                                              *
;*******************************************************************************
Proc CHAVE()
While True
  End
  Moveto [Ordem_Agendamento]
  TABELA=[Ordem_Agendamento]

  NCLIENTES =BlankNum()

  If OPCAO_FORM="F"
    Then Down
    Else PgDn PgDn
  EndIf
  SetaCorRegistro("Editar")
  While True

  TECLA=""
  AguardaTeclasPadrao()

  Switch
    Case RetVal=-33 : SemFuncoes()
    Case RetVal=-94 : MsgTeclasPadrao()
    Case RetVal="F3":
         If OPCAO_FORM="F"
            Then OPCAO_FORM="1"
            Else OPCAO_FORM="F"
         EndIf
         Del
         CHAVE=5
         Return
    Case RetVal="F7" Or RetVal="UP" Or RetVal="PGUP" Or RetVal="HOME":
         Del
         While True
           NCLIENTES =BlankNum()
           If OPCAO_FORM="F"
              Then PAGINA("AgencC","MR")
              Else PAGINA("AgencC","MT")
           EndIf
           TABELA=[Ordem_Agendamento]
           If EDITAR="S"
              Then CHAVE=0
                   If OPCAO_FORM="F"
                      Then PickForm "1"
                   EndIf
                   Controla_EdicaoC()
              Else If EXCLUIR="S"
                      Then CONFGERAL("Exclui Tabela")
                           If OK="S"
                              Then If OPCAO_FORM="F"
                                      Then PickForm "1"
                                   EndIf
                                   EXCLUSAO("Cabeca")
                                   If OPCAO_FORM="F"
                                      Then PickForm "F"
                                   EndIf
                              Else UnLockRecord
                           EndIf
                      Else QuitLoop
                   EndIf
           EndIf
           SetaPosForm()
         EndWhile
         QuitLoop
    Case Retval="ESC":
         CHAVE=9
         Del
         Return
    Case Retval="ENTER":
         If IsBlank([])
            Then If IsBlank(TABELA)
                    Then []=1
                    Else []=TABELA+1
                 EndIf
         EndIf
         TABELA=[]
         Del
         If OPCAO_FORM="F"
            Then PickForm "1"
         EndIf
         Locate TABELA
         If Retval
            Then CHAVE=0
            Else CHAVE=1
                 End
                 PgDn PgDn
                 Moveto [Ordem_Agendamento]
                 [Ordem_Agendamento ]=TABELA
                 [Status_Agendamento]="ABERTO"
         EndIf
         If IsLockRecord()
            Then If OPCAO_FORM="F"
                    Then PickForm "F"
                 EndIf
                 QuitLoop
         EndIf
         Return
    EndSwitch
  EndWhile
EndWhile
EndProc   ; (Chave)

;*******************************************************************************
;* Rotina para Localizar Registro                                              *
;*******************************************************************************
Proc DIGITA()
OpContinuar="Itens"
Moveto [Titulo_Agendamento]
While True

  TECLA=" Esc=Retornar  "
  If CHAVE=0
     Then TECLA=TECLA+"Del=Excluir   "
     Else TECLA=TECLA+"              "
  EndIf
  If Field()="Codigo_Usuario" Or
     Field()="Status_Agendamento"   
     Then TECLA=TECLA+"F1=Consulta  "
     Else TECLA=TECLA+"             "
  EndIf
  Switch
     Case Field()=""                   : MSGCAMPO=""
     Case Field()="Codigo_Usuario"     : MSGCAMPO="Operador"
     Case Field()="Status_Agendamento" : MSGCAMPO="Status agendadmento, Consulte [F1]"
     OtherWise                         : MSGCAMPO=Field()
  EndSwitch
  TECLA=TECLA + "Alt+F=Fun‡”es  "
  Prompt TECLA

  Wait Field
       Message MSGCAMPO
       Until "ESC","ENTER","DEL","F4","F5","F6","FIELDVIEW","F35",-33,"F1"

  If RetVal=-33
     Then Echo Normal
          Echo Off
          ShowPopup " Fun‡”es " CENTERED
             "F4  ~L~impa             " : " Limpa rela‡Æo de clientes       "   : "F4",
             "F5  ~O~bserva‡äes       " : " Observa‡äes                     "   : "F5",
             "F6  ~S~ele‡Æo           " : " Sele‡Æo de Clientes             "   : "F6",
             "~C~ancelar              " : " Cancelar a Opera‡„o             "   : "CANCELAR"
          EndMenu
          To MenuVar

          echo off
          If MenuVar="CANCELAR" or MenuVar="Esc"
             Then Loop
          EndIf

          RetVal=MenuVar
  EndIf

  Switch
    Case RetVal="F1":
         If Field()="Codigo_Usuario"
            Then If CONSULTAF1()
                    Then If Busca_Lookup("Chapa",[Codigo_Usuario],"SM")
                           Then [Nome_Usuario]=Reg_Busca_Lookup["Nome"]
                         EndIf   
                EndIf   
         EndIf
         
         If Field()="Status_Agendamento"
              Then ShowPopup " Tipo do Frete " CENTERED
                    "~A~berto    " : " Agendamento em aberto " : "ABERTO",
                    "~S~uspenso  " : " Agendamento suspenso  " : "SUSPENSO",
                    "~F~inalizado" : " Agendamento finalizado" : "FINALIZADO",
                    "Cancela~r~  " : " Cancelar a Opera‡„o"    : "CANCELAR"
                   EndMenu
                    To MenuVar

                   If MenuVar<>"CANCELAR" And MenuVar<>"Esc"
                       Then []=MenuVar
                   EndIf
           EndIf
    Case Retval="FIELDVIEW" or Retval="F35":
         EDITFIELD()
    Case RetVal="F4":
         LimpaClie()
    Case RetVal="F5":
         Observacao()
    Case RetVal="F6":
         Do_It!
         ClearAll

         Selecao()

         CoEdit "AgencC"
         PickForm "1"
         Moveto [Ordem_Agendamento]
         Locate TABELA

         Moveto [Titulo_Agendamento]
    Case RetVal="DEL":
         If CHAVE=0
            Then CONFIRMA()
                 If OK="S"
                    Then EXCLUSAO("Cabeca")
                         CHAVE=9
                         QuitLoop
                 EndIf
         Endif
    Case RetVal="ESC":
         Switch
           Case Field()="Titulo_Agendamento":
                If CHAVE=1
                   Then Del
                   Else If RecordStatus("Modified")
                           Then Undo
                        EndIf
                EndIf
                CHAVE=9
                QuitLoop
           OtherWise:
                Left
         EndSwitch
    Case RetVal="ENTER":
         Switch
           Case Field()="Titulo_Agendamento":
                If IsBlank([])
                   Then Loop
                EndIf
                Moveto [Status_Agendamento]
           Case Field()="Status_Agendamento":
                If IsBlank([])
                   Then Loop
                EndIf
                Moveto [Data_Inicio]
           Case Field()="Data_Inicio":
                If IsBlank([])
                   Then Loop
                EndIf
                Moveto [Hora_Inicio]
           Case Field()="Hora_Fim":
                Moveto [Codigo_Usuario]
           Case Field()="Codigo_Usuario":
                If IsBlank([])
                   Then Loop
                EndIf
                If Busca_Lookup("Chapa",[Codigo_Usuario],"SM")
                   Then [Nome_Usuario]=Reg_Busca_Lookup["Nome"]
                EndIf   
                QuitLoop
           OtherWise:
                Right
         EndSwitch
  EndSwitch
EndWhile
EndProc   ; (Digita)

;*******************************************************************************
;* Rotina Observa‡äes                                                          *
;*******************************************************************************
Proc Observacao()
TabelaAnt=Table()
CampoAnt=Field()

Moveto "AgencC"
Edita_Memo("Observacoes_Agendamento",08,01,15,76,"Observa‡”es")

Moveto TabelaAnt
Moveto Field CampoAnt
EndProc  ; (Observacao)

;*******************************************************************************
;* Rotina para Localizar Registro                                              *
;*******************************************************************************
Proc CHAVEI()

While True
  Moveto [Codigo]   NCLIENTES =NImageRecords()
  End
  Down
  While true

      SetaCorRegistro("Editar")
      TECLA=" Esc=Retornar  "

      If Field()="Codigo"
         Then TECLA=TECLA+"F1=Tabelas  "
         Else TECLA=TECLA+"            "
      EndIf
      TECLA=TECLA+"F7=Paginar  Alt+F=Fun‡”es  PgDn=Finalizar  "

      Prompt TECLA

      Wait Field
           Until "ESC","ENTER","F7","HOME","UP","PGUP","F1","PGDN",-33,
                 "F4","F5","F6"

  If RetVal=-33
     Then Echo Normal
          Echo Off
          ShowPopup " Fun‡”es " CENTERED
             "F4  ~L~impa             " : " Limpa rela‡Æo de clientes       "   : "F4",
             "F5  ~O~bserva‡äes       " : " Observa‡äes                     "   : "F5",
             "F6  ~S~ele‡Æo           " : " Sele‡Æo de Clientes             "   : "F6",
             "~C~ancelar              " : " Cancelar a Opera‡„o             "   : "CANCELAR"
          EndMenu
          To MenuVar

          echo off
          If MenuVar="CANCELAR" or MenuVar="Esc"
             Then Loop
          EndIf

          RetVal=MenuVar
  EndIf

      Switch
      Case RetVal="F1":
           If Field()="Codigo"
              Then CONSULTAF1()
           EndIf
      Case RetVal="F7" Or RetVal="UP" Or RetVal="PGUP" Or RetVal="HOME":
           Del
           While True
             Moveto [Codigo]   NCLIENTES =NImageRecords()
             PAGINA("AgencI","MR")
             If EDITAR="S"
                Then CHAVEI=0
                     CODIGO=[Codigo]
                    ;Controla_EdicaoI()
                Else If EXCLUIR="S"
                        Then CONFIRMA()
                             If OK="S"
                                Then DEL
                                Else UnLockRecord
                             EndIf
                        Else Moveto [Codigo]
                             End Down
                             QuitLoop
                     EndIf
             EndIf
             SetaPosForm()
           EndWhile
           QuitLoop
      Case Retval="ESC":
           Del
           CHAVEI=9
           Continuar=False
           Return
      Case RetVal="F4":
           Del
           LimpaClie()
           QuitLoop
      Case RetVal="F5":
           Del
           Observacao()
           QuitLoop
      Case RetVal="F6":
           Del
           Do_It!
           ClearAll

           Continuar=True
           CHAVEI=1
           Selecao()

           CoEdit "AgencC"
           PickForm "1"
           Moveto [Ordem_Agendamento]
           Locate TABELA

           Moveto "AgencI"
           QuitLoop

      Case Retval="PGDN":
           Del
           CHAVEI=9
           Continuar=False
           Digitar  =False
           Return
      Case Retval="ENTER":
           If IsBlank([]) Then Loop EndIf
           CODIGO=[]

           Moveto [Codigo]
           Del
           Locate TABELA, CODIGO
           If RetVal
              Then CHAVEI = 0
              Else CHAVEI = 1
                   End Down
                   [Codigo ] = CODIGO
           EndIf
           If IsLockRecord()
              Then End Down
                   Moveto [Codigo]
                   QuitLoop
           EndIf
           Return
      EndSwitch
  EndWhile
EndWhile
EndProc  ; (ChaveI)

;*******************************************************************************
;*                                                                             *
;*******************************************************************************
Proc EXCLUSAO(TIPO)
Private TIPO
Switch
Case TIPO="Cabeca":
     Aguarde("Excluindo")
     Moveto "AgencI"
     While RecordStatus("New")=False
        Del
     EndWhile

     Moveto "AgencC"
     Del
     LimpAguarde()
Case TIPO="Item":
     Del
EndSwitch
EndProc

;*******************************************************************************
;* Rotina Limpa Clientes                                                       *
;*******************************************************************************
Proc LimpaClie()
TabelaAnt=Table()
CampoAnt=Field()

If Not ConfGeral("Confirma exclusÆo dos clientes deste agendamento ?")
   Then Return
EndIF

     Aguarde("Excluindo")
     Moveto "AgencI"
     While RecordStatus("New")=False
        Del
     EndWhile

     LimpAguarde()

Moveto TabelaAnt
Moveto Field CampoAnt
EndProc  ; (Observacao)

;*******************************************************************************
;* Rotina para Selecionar Registros                                            *
;*******************************************************************************
Proc Seleciona1()
ClearAll

{Ask} {\\Sistemas\\Cadastro\\Destinat}
Moveto [Codigo                 ] Check
Moveto [Tipo                   ] TypeIn "C"
Moveto [Cidade                 ] TypeIn CIDADE
Moveto [UF                     ] TypeIn "~VSDGESTADO.."
Moveto [Codigo do Representante] TypeIn "~VSDGREPRESEN.."
Moveto [Codigo da Area         ] TypeIn "~VSDGAREA.."
Moveto [Codigo Atividade       ] TypeIn "~VSDGATIVIDADE.."
Moveto [Data de Nascimento     ] Check
Moveto [Inativo                ]
Switch
  Case VSDGSTATUS="1": TypeIn "N"
  Case VSDGSTATUS="2": TypeIn "S"
EndSwitch
If Not IsBlank(VSDGSITUACAO)
   Then Moveto [Situacao do Cliente] TypeIn "~VSDGNOMSITUACAO.."
EndIf
If VSDGOPDT=2
	 Then Moveto [Data_Cadastro] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
EndIf

Do_It!
ClearAll

wc=NRecords("Answer")
EndProc    ; (Seleciona)

;*******************************************************************************
;* Rotina para Selecionar Registros                                            *
;*******************************************************************************
Proc Seleciona2()
ClearAll

Seleciona1()
wc=0

CoEdit "Answer"
Scan
  cliok=false
  If Not IsBlank([Data de Nascimento])
     Then datai=DateVal(StrVal(Month([Data de Nascimento]))+"/"+StrVal(Day([Data de Nascimento]))+"/"+StrVal(Year(VSDGDTINI)))
          dataf=DateVal(StrVal(Month([Data de Nascimento]))+"/"+StrVal(Day([Data de Nascimento]))+"/"+StrVal(Year(VSDGDTFIM)))
          If Datai>=VSDGDTINI And Dataf<=VSDGDTFIM
             Then cliok=true
          EndIf
  EndIf
  Moveto "Answer"     
  If not cliok
     Then [Codigo]=""
  EndIf   
EndScan
Do_It!
ClearAll

{Ask}{Answer} Check
Moveto [Codigo] TypeIn "Not Blank"
Do_It!
ClearAll
wc=NRecords("Answer")
EndProc    ; (Seleciona)

;*******************************************************************************
;* Rotina para Selecionar Registros                                            *
;*******************************************************************************
Proc Seleciona3()
ClearAll

Tabela2=Cria_Temp(PrivDir())
Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
While Novo_Dir_Trab()
  If IsTable("Answer")     Then Delete "Answer" EndIf
  If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC")
    Then {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC" Enter
          Moveto [Codigo                 ] Check
          Moveto [Data de Emissao        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
          Moveto [Descricao da Destinacao] TypeIn "..VEND.. or ..SERV.. or ..SAIDA.."
          Moveto [Tipo Movimento Estoque ] TypeIn "S"
          Moveto [Situacao               ] TypeIn "Not C"
          Moveto [Codigo do Representante] TypeIn "~VSDGREPRESEN.."
          Do_It!
          ClearAll
  EndIf
  If Not IsTable("Answer") Then Loop EndIf
  If IsTable(Tabela2)
     Then Add "Answer" Tabela2
     Else Rename "Answer" Tabela2
  EndIf
EndWhile
ClearAll

{Ask} {\\Sistemas\\Cadastro\\Destinat}
Moveto [Codigo                 ] Check Example "cli"
Moveto [Tipo                   ] TypeIn "C"
Moveto [Cidade                 ] TypeIn CIDADE
Moveto [UF                     ] TypeIn "~VSDGESTADO.."
Moveto [Codigo do Representante] TypeIn "~VSDGREPRESEN.." 
Moveto [Codigo da Area         ] TypeIn "~VSDGAREA.."   
Moveto [Codigo Atividade       ] TypeIn "~VSDGATIVIDADE.."
Moveto [Inativo]
Switch
  Case VSDGSTATUS="1": TypeIn "N"
  Case VSDGSTATUS="2": TypeIn "S"
EndSwitch
If Not IsBlank(VSDGSITUACAO)
   Then Moveto [Situacao do Cliente] TypeIn "~VSDGNOMSITUACAO.."
EndIf
{Ask} TypeIn Tabela2 Enter
Moveto [Codigo                 ] Example "cli"
Do_It!
ClearAll

Delete Tabela2
wc=NRecords("Answer")
EndProc    ; (Seleciona)

;*******************************************************************************
;* Rotina para Selecionar Registros                                            *
;*******************************************************************************
Proc Seleciona4()
ClearAll

Tabela2=Cria_Temp(PrivDir())
Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
While Novo_Dir_Trab()
  If IsTable("Answer")     Then Delete "Answer" EndIf
  If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC")
    Then {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC" Enter
          Moveto [Codigo                 ] Check
          Moveto [Data de Emissao        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
          Moveto [Descricao da Destinacao] TypeIn "..VEND.. or ..SERV.. or ..SAIDA.."
          Moveto [Tipo Movimento Estoque ] TypeIn "S"
          Moveto [Situacao               ] TypeIn "Not C"
          Moveto [Codigo do Representante] TypeIn "~VSDGREPRESEN.."
          Do_It!
          ClearAll
  EndIf
  If Not IsTable("Answer") Then Loop EndIf
  If IsTable(Tabela2)
     Then Add "Answer" Tabela2
     Else Rename "Answer" Tabela2
  EndIf
EndWhile
ClearAll


{Ask} {\\Sistemas\\Cadastro\\Destinat}
Moveto [Codigo                 ] Check
Moveto [Tipo                   ] TypeIn "C"
Moveto [Cidade                 ] TypeIn CIDADE
Moveto [UF                     ] TypeIn "~VSDGESTADO.."
Moveto [Codigo do Representante] TypeIn "~VSDGREPRESEN.."
Moveto [Codigo da Area         ] TypeIn "~VSDGAREA.."
Moveto [Codigo Atividade       ] TypeIn "~VSDGATIVIDADE.."
Moveto [Inativo]
Switch
  Case VSDGSTATUS="1": TypeIn "N"
  Case VSDGSTATUS="2": TypeIn "S"
EndSwitch
If Not IsBlank(VSDGSITUACAO)
   Then Moveto [Situacao do Cliente] TypeIn "~VSDGNOMSITUACAO.."
EndIf
Do_It!
ClearAll

{Ask} TypeIn Tabela2 Enter
Moveto [Codigo                 ] Example "cli"
{Ask} {Answer} TypeIn "Fast Delete"
Moveto [Codigo                 ] Example "cli"
Do_It!
ClearAll

Delete Tabela2
wc=NRecords("Answer")
EndProc    ; (Seleciona)

;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc SD_Dialog(Disparo,Campo,Evento,Elemento)
Temp=True
MSG_CAMPO=""
TECLA=""
If Disparo="OPEN"  Then AoCriarShowDialog() EndIf
If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] = 9: Temp=False
     Case Evento["KeyCode"] = -59: Dialog_F1()
     Case Evento["KeyCode"] =  27:
          Temp=False
          Switch
            ;** Selecao **
            Case Campo="TG_STATUS"         : Campo="NO"
            Case Campo="TG_SITUACAO"       : Campo="TG_STATUS"
            Case Campo="TG_REPRESEN"       : Campo="TG_SITUACAO"
            Case Campo="TG_AREA"           : Campo="TG_REPRESEN"
            Case Campo="TG_ATIVIDADE"      : Campo="TG_AREA"
            Case Campo="TG_ESTADO"         : Campo="TG_ATIVIDADE"
            Case Campo="TG_CIDADE"         : Campo="TG_ESTADO"
            Case Campo="TG_OPDT"           : Campo="TG_CIDADE"
            Case Campo="TG_DTINI"          : Campo="TG_OPDT"
            Case Campo="TG_DTFIM"          : Campo="TG_DTINI"
            Case Campo="YES" or Campo="NO" : Campo="TG_STATUS"
          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
                    ;** Selecao **
                    Case Campo="TG_STATUS"      : Campo="TG_SITUACAO"
                    Case Campo="TG_SITUACAO"    : Campo="TG_REPRESEN"
                        VSDGSITUACAO=ControlValue("TG_SITUACAO")
                        Switch
                          Case VSDGSITUACAO="O": VSDGNOMSITUACAO="OTIMO"
                          Case VSDGSITUACAO="B": VSDGNOMSITUACAO="BOM"
                          Case VSDGSITUACAO="R": VSDGNOMSITUACAO="REGULAR"
                          Case VSDGSITUACAO="P": VSDGNOMSITUACAO="PESSIMO"
                          Case VSDGSITUACAO="E": VSDGNOMSITUACAO="RECADASTRO"
                          Case VSDGSITUACAO="" : VSDGNOMSITUACAO="TODOS"
                        EndSwitch
                    Case Campo="TG_REPRESEN" : Campo="TG_AREA"
                    Case Campo="TG_AREA"     : Campo="TG_ATIVIDADE"
                    Case Campo="TG_ATIVIDADE": Campo="TG_ESTADO"
                    Case Campo="TG_ESTADO"   : Campo="TG_CIDADE"
                    Case Campo="TG_CIDADE"   : Campo="TG_OPDT"
                         If Upper(VSDGCIDADE)="TODAS"
                            Then CIDADE=""
                            Else CIDADE=VSDGCIDADE
                         EndIf
                    Case Campo="TG_OPDT"  : Campo="TG_DTINI"
                         VSDGOPDT=ControlValue("TG_OPDT")
                         If VSDGOPDT=5 Then Campo="YES" EndIf
                    Case Campo="TG_DTINI"   : Campo="TG_DTFIM"
                    Case Campo="TG_DTFIM"   : Campo="YES"
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf
Switch
  Case Campo="TG_SITUACAO":
     MSG_CAMPO="Informe(O=Otimo  B=Bom  R=Regular  P=Pessimo  E=Recadastro  Em Branco=Todos)"
  Case Campo="TG_OPETIQUETA" or Campo="TG_OPDT" :
     MensagemRadioButtons()
EndSwitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc

;*******************************************************************************
;* Rotina Filtrar Registros                                                    *
;*******************************************************************************
Proc Selecao()
LimpAguarde()
Do_It!
ClearAll
Echo Normal
Echo Off

VSDGREPRESEN =""
VSDGNOMREPR  =""
VSDGATIVIDADE=""
VSDGNOMATIV  =""
VSDGAREA     =""
VSDGNOMAREA  =""
VSDGESTADO  = ""
VSDGCIDADE   =""
VSDGDTINI   =BlankDate()
VSDGDTFIM   =BlankDate()
VSDGSTATUS   =""
VSDGOPDT     =5
VSDGSITUACAO =""

OP_SHOW="S"
ShowDialog "Sele‡„o de Registros a Incluir" Proc "SD_Dialog"
Trigger "OPEN","ARRIVE"
Key "F1","ENTER","ESC","TAB",
    -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140
 @ 01,01 Height 21 Width 70

  Label  @ 00,00 "Status"  For "TG_STATUS"
  Accept @ 01,01 Width 04 "A1"  Picture "1,2,3" Tag "TG_STATUS" To VSDGSTATUS
  Accept @ 01,06 Width 23 "A12" Picture "!*!" Tag "TG_NOMSTATUS" To VSDGNOMSTATUS

  Label  @ 00,34 "Situacao do Cliente" For "TG_SITUACAO"
  Accept @ 01,35 Width 04 "A1"  Picture "O,B,R,P" Tag "TG_SITUACAO"  To VSDGSITUACAO
  Accept @ 01,40 Width 23 "A12" Picture "!*!" Tag "TG_NOMSITUACAO" To VSDGNOMSITUACAO

  Label  @ 02,00 "Representante"  For "TG_REPRESEN"
  Accept @ 03,01 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_REPRESEN"   To VSDGREPRESEN
  Accept @ 03,09 Width 33 "A30" Picture "!*!" Tag "TG_NOMREPR" To VSDGNOMREPR

  Label  @ 04,00 "Area"  For "TG_AREA"
  Accept @ 05,01 Width 07 "A2"  Picture "#*#" Tag "TG_AREA"  To VSDGAREA
  Accept @ 05,09 Width 33 "A30" Picture "!*!" Tag "TG_NOMAREA" To VSDGNOMAREA

  Label  @ 06,00 "Atividade"  For "TG_ATIVIDADE"
  Accept @ 07,01 Width 07 "A4"  Picture "#*#" Tag "TG_ATIVIDADE"  To VSDGATIVIDADE
  Accept @ 07,09 Width 22 "A20" Picture "!*!" Tag "TG_NOMATIV" To VSDGNOMATIV

  Label  @ 08,00 "Estado"  For "TG_ESTADO"
  Accept @ 09,01 Width 07 "A2"  Picture "!*!" Tag "TG_ESTADO" To VSDGESTADO
  Accept @ 09,09 Width 23 "A20" Picture "!*!" Tag "TG_NOMESTADO"  To VSDGNOMESTADO

  Label  @ 08,34 "Cidade"  For "TG_CIDADE"
  Accept @ 09,35 Width 23 "A20"  Picture "!*!" Tag "TG_CIDADE"  To VSDGCIDADE

  Label  @ 10,00 "Op‡”es de Datas"  For "TG_OPDT"
  RadioButtons @ 11,01 Height 2 Width 65
   "~A~nivers rio",
   "Ca~d~astro",
   "~C~om Compras",
   "~S~em Compras",
   "~I~gnorar"
   Tag "TG_OPDT"
   To VSDGOPDT

  Label  @ 14,00 "Per¡odo Referente" For "TG_DTINI"
  Label  @ 15,00 "de" For "TG_DTINI"
  Accept @ 15,04 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTINI" To VSDGDTINI
  Label  @ 15,17 "at‚" For "TG_DTFIM"
  Accept @ 15,22 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTFIM" To VSDGDTFIM

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

EndDialog
If Not RetVal
   Then ClearAll
        Return
EndIf        

  
LimpaRodape(0)
Aguarde("Aguarde, Selecionando registros")
wc=0
Switch
  Case VSDGOPDT=1: Seleciona2()
  Case VSDGOPDT=3: Seleciona3()
  Case VSDGOPDT=4: Seleciona4()
  OtherWise      : Seleciona1()
EndSwitch
If wc=0
   Then Mensagem("N„o existe registro conforme sele‡„o !")
   Else

   {Ask} {Answer}
   Moveto [Codigo           ] Example "clie"
   {Ask} {AgencI} TypeIn "Fast Delete"
   Moveto [Ordem_Agendamento] TypeIn "~TABELA"
   Moveto [Codigo           ] Example "clie"
   Do_It!
   ClearAll

  View "AgencI"
  CoEdit "Answer"
  Scan
    Moveto "AgencI"
    End Down
    [Ordem_Agendamento]=TABELA
    [Codigo           ]=[Answer->Codigo]
    Moveto "Answer"
  EndScan
  Do_It!
  ClearAll
EndIf

EndProc

;*******************************************************************************
;* Rotina para controlar Edicao do registro                                    *
;*******************************************************************************
Proc Controla_EdicaoC()
Digitar=True
While Digitar
  DIGITA()
  If CHAVE=9
     Then QuitLoop
  EndIf
  Continuar=True
  While Continuar
    Switch
      Case OpContinuar="Itens":
           Moveto "AgencI"
           While True
             CHAVEI()
             If CHAVEI=9
                Then QuitLoop
             EndIf
           ;;Controla_EdicaoI()
           EndWhile
    EndSwitch

  EndWhile

  Moveto "AgencC"
EndWhile
If RecordStatus("Locked") Then UnLockRecord EndIf
If OPCAO_FORM="F"
   Then PickForm "F"
EndIf
EndProc

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"

CoEdit "AgencC"
PickForm "F"

NCLIENTES =BlankNum()

OPCAO_FORM="F"
TABELA=""
CABECA=""
CHAVE =""
CodTab=""
SAIR=False
While True
  CHAVE()
  If CHAVE=9
     Then QuitLoop
  EndIf
  If CHAVE=5
     Then If OPCAO_FORM="1"
             Then PickForm "1"
             Else PickForm "F"
          EndIf
          Loop
  EndIf
  Controla_EdicaoC()
EndWhile
Do_It!
ClearAll
Release Vars All
Release Procs All
