;** Feriados *******************************************************************
;*  Manutencao Cadastro de Feriados                                            *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 05/12/95 por Anivel Augusto Rodrigues
;Ultima Alteracao: 31/07/09 por Bruno Carvalho
;Motivo Alteracao: Corre‡Æo de Campo em Branco "Dias a Receber" e "Dias a Pagar"
;Ultima Alteracao: 29/12/2010 por Bruno Carvalho
;Motivo Alteracao: Ajustes Novo Layout de Teclas
;Ultima Alteracao: 01/01/2013 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes SetaCorRegistro("Editando") e outros controles

;*******************************************************************************
;* Rotina para Localizar Registro                                              *
;*******************************************************************************
Proc CHAVE()
While True
  SetaCorRegistro("Editar")

  Moveto [Data do Feriado]
  End Down
  While true                                                      
  
    TECLA=""
    AguardaTeclasPadrao()
  
    Switch
    Case RetVal=-33 : SemFuncoes()
    Case RetVal="F3": SemFicha()
    Case RetVal=-94 : MsgTeclasPadrao()
    Case RetVal="F7" Or RetVal="UP" Or RetVal="PGUP" Or RetVal="HOME":
         While True
           PAGINA("Feriados","MR")
           If EDITAR="S"
              Then CHAVE=0
                   Controla_EdicaoC()
              Else If EXCLUIR="S"
                      Then If QuerExcluir("")
                              Then DEL
                              Else UnLockRecord
                           EndIf
                      Else QuitLoop
                   EndIf
           EndIf
           SetaPosForm()
         EndWhile
         QuitLoop
    Case Retval="ESC":
         CHAVE=9
         Del
         Return
    Case Retval="ENTER":
         If IsBlank([]) Then Loop EndIf
         DATAFERIADO=[]
         Semana(Dow([]))
         Del
         Locate DATAFERIADO
         If Retval
            Then CHAVE=0
            Else CHAVE=1
                 End Down
                 [Data do Feriado]=DATAFERIADO
         EndIf
         If IsLockRecord()
            Then If CHAVE=1 Then Del EndIf
                 QuitLoop
         EndIf
         Return  
    EndSwitch
  EndWhile
EndWhile
EndProc

;*******************************************************************************
;* Rotina para Digitacao das Informacoes                                       *
;*******************************************************************************
Proc DIGITA()

Moveto [Descricao do Feriado]
While True

  TECLA=" Esc=Retornar  "

  If CHAVE=0
     Then TECLA=TECLA+"Del=Excluir  "
  EndIf

  Prompt TECLA
  SetaCorRegistro("Editando")
  Wait Field
       Until "ESC","ENTER","DEL","FIELDVIEW","F35"


  Switch
  Case Retval="ESC":
       If Field()="Descricao do Feriado"
          Then If CHAVE=1
                  Then Del
               EndIf
               CHAVE=9
               QuitLoop
          Else Left
       EndIf
  Case Retval="ENTER":
       Switch
         Case Field() = "Dias a Pagar":
              If IsBlank([])
                 Then []=0
              EndIf
              QuitLoop
         Case Field() = "Dias a Receber":
              If IsBlank([])
                 Then []=0
              EndIf
              Right
         OtherWise: Right
       EndSwitch
  Case Retval="FIELDVIEW" or Retval="F35":
       EDITFIELD()
  Case Retval="DEL":
       If CHAVE=0
          Then If QuerExcluir("")
                  Then DEL
                       QuitLoop
               EndIf
       EndIf
  EndSwitch
EndWhile
EndProc

;*******************************************************************************
;* Rotina P/ Dias da Semana                                                    *
;*******************************************************************************
Proc SEMANA(DIAS)
Private DIAS,DIA
Switch
Case DIAS="Sun":
     DIA="Domingo"
Case DIAS="Mon":
     DIA="Segunda Feira"
Case DIAS="Tue":
     DIA="Ter‡a Feira"
Case DIAS="Wed":
     DIA="Quarta Feira"
Case DIAS="Thu":
     DIA="Quinta Feira"
Case DIAS="Fri":
     DIA="Sexta Feira"
Case DIAS="Sat":
     DIA="S bado"
EndSwitch
MENSAGEM(DIA)
EndProc ; (Semana)

;*******************************************************************************
;* Rotina para controlar Edicao do registro                                    *
;*******************************************************************************
Proc Controla_EdicaoC()
DIGITA()
If RecordStatus("Locked") Then UnLockRecord EndIf         
EndProc

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"
CoEdit "Feriados"
PickForm "F"
While True
  CHAVE()
  If CHAVE=9
     Then QuitLoop
  EndIf
  Controla_EdicaoC()
EndWhile
Do_It!
ClearAll
Release Vars All
Release Procs All

