;** Empregad *******************************************************************
;*  Manutencao Cadastro de Empregados                                          *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 05/12/1995 por Anivel Augusto Rodrigues
;Ultima Alteracao: 12/04/2004 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes
;Ultima Alteracao: 23/05/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Controla_Edicao
;Ultima Alteracao: 14/10/2010 por Bruno Carvalho
;Motivo Alteracao: Ajustes Edita_Memo
;Ultima Alteracao: 03/01/2011 por Bruno Carvalho
;Motivo Alteracao: Ajustes Novo Layout de Teclas   

;*******************************************************************************
;* Rotina para Localizar Registro                                              *
;*******************************************************************************
Proc CHAVE()
While True
  Moveto [Codigo da Empresa]
  End
  If OPCAO_FORM="F"
     Then Down
     Else PgDn
  Endif
  [Codigo da Empresa   ]=SYS_EMPRESA_DEFAULT

  SetaCorRegistro("Editar")
  While True

  If Field()="Codigo da Empresa"
     Then TECLA="F1=Tabela"
     Else TECLA=""
  Endif
 
  AguardaTeclasPadrao()

  Switch
    Case RetVal=-33 : SemFuncoes()
    Case RetVal=-94 : MsgTeclasPadrao()
    Case RetVal="F1":
         If Field()="Codigo da Empresa"
            Then ConsultaF1()
         EndIf
    Case RetVal="F3":
         Del
         If OPCAO_FORM="F"
            Then OPCAO_FORM="1"
            Else OPCAO_FORM="F"
         Endif
         CHAVE=5
         Return
    Case RetVal="F7" Or RetVal="UP" Or RetVal="PGUP" Or RetVal="HOME":
         While True
            If OPCAO_FORM="F"
               Then PAGINA("Empregad","MR")
               Else PAGINA("Empregad","MT")
            Endif
            If EDITAR="S"
               Then CHAVE=0
                    EMPRESA =[Codigo da Empresa]
                    REGISTRO=[Numero_Registro]
                    If OPCAO_FORM="F"
                       Then PickForm "1"
                    EndIf
                    Controla_EdicaoC()
               Else If EXCLUIR="S"
                       Then If QuerExcluir("")
                               Then DEL
                               Else UnLockRecord
                            EndIf
                       Else QuitLoop
                    EndIf
            EndIf
            SetaPosForm()
         EndWhile
         QuitLoop
    Case Retval="ESC":
         If Field()="Codigo da Empresa"
            Then CHAVE=9
                 Del
                 Return
         EndIf
         Left
    Case Retval="ENTER":
         If IsBlank([]) Then Loop EndIF
         If Field()="Codigo da Empresa"
            Then EMPRESA=[]
         EndIf
         If Field()="Numero_Registro"
            Then REGISTRO=[]
                 Del

                 PickForm "1"
                 Moveto [Codigo da Empresa]
                 Locate EMPRESA,REGISTRO
                 If Retval
                    Then CHAVE=0
                    Else CHAVE=1
                         End PgDn
                         [Codigo da Empresa]=EMPRESA
                         [Numero_Registro  ]=REGISTRO
                 EndIf
                 If IsLockrecord()
                    Then If OPCAO_FORM="F"
                            Then PickForm "F"
                         EndIf
                         QuitLoop
                 EndIf
                 Return
         EndIf
         Right
    EndSwitch
  EndWhile
EndWhile
EndProc


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

Moveto [Nome_Empregado]
While True
  TECLA=" Esc=Retornar  F5=Observa‡„o  "
  If CHAVE=0
     Then TECLA=TECLA + "Del=Excluir  "
  EndIf

  MSGCAMPO=""
  If Field()="Situacao"
     Then MSGCAMPO="ATIVO, DEMITIDO"
  EndIf
  
  Switch
    Case Field()="Nome_Empregado"     : MSGCAMPO="Nome do Empregado"
    Case Field()="CPF"                : MSGCAMPO="Formato = ###.###.###-##"  
    Case Field()="Data_Nascimento"    : MSGCAMPO="Formato = dd/mm/aaaa"   
    Case Field()="Endereco_Empregado" : MSGCAMPO= "Endere‡o: Logradouro, Numero, Complemento" 
    Case Field()="Bairro_Empregado"   : MSGCAMPO= "Bairro" 
    Case Field()="CEP_Empregado"      : MSGCAMPO="CEP"
    Case Field()="Cidade_Empregado"   : MSGCAMPO="Cidade"
    Case Field()="Estado_Empregado"   : MSGCAMPO="UF"
    Case Field()="Telefone_Empregado" : MSGCAMPO="Telefones p/ Contato"
  EndSwitch
  
  Prompt TECLA

  Wait Field
       Message(MSGCAMPO)
       Until "ESC","ENTER","DEL","FIELDVIEW","F35","F5"

  Switch
  Case Retval="ESC":
       If Field()="Nome_Empregado"
          Then If QuerDesfazer("")
                  Then If CHAVE=1
                          Then Del
                          Else Undo
                       EndIf
                       CHAVE=9
                       QuitLoop
               EndIf
          Else Left
       EndIf
  Case Retval="ENTER":
       If Field()="CPF"
          Then If IsBlank([]) Then Loop EndIf
               If Not Checa_CGC_CPF_Formatado([]) Then Loop EndIf
       EndIf
       If Field() = "Hora_Saida"
          Then QuitLoop
          Else Right
       EndIf
  Case Retval="FIELDVIEW" or Retval="F35":
       EDITFIELD()
  Case Retval="F5":
       Edita_Memo("Observacao",10,01,13,76,"Observa‡”es")
  Case Retval="DEL":
       If CHAVE=0
          Then If QuerExcluir("")
                  Then DEL
                       QuitLoop
               EndIf
       EndIf
  EndSwitch
EndWhile
EndProc

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

;*******************************************************************************
;* Rotina Princial                                                             *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"
If Not IsAssigned(SYS_EMPRESA_DEFAULT) Then SYS_EMPRESA_DEFAULT="" EndIf
CoEdit "Empregad"
OPCAO_FORM="F"
PickForm "F"
While True
  CHAVE()
  If CHAVE=5
     Then If OPCAO_FORM="F"
             Then PickForm "F"
             Else PickForm "1"
          Endif
          Loop
  Endif
  If CHAVE=9
     Then QuitLoop
  EndIf
  Controla_EdicaoC()
EndWhile
Do_It!
ClearAll
Release Vars All
Release Procs All
