;** P_Modulo *******************************************************************
;*  Configuracao de Paramentos p/ Modulos do Sistema                           *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 12/09/2014 por Kamila Gomes            
;Ultima Alteracao: 29/10/2014 por Kamila Gomes
;Motivo Alteracao: Adicionados novos campos Data_Inicio_Lancto e Data_Fim_Lancto  


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

While True
  SetaCorRegistro("Editar")
  End
  Down
  Moveto [Modulo]
  
  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("P_Modulo","MR")
         If EDITAR="S"
            Then CHAVEC=0 
                 Controla_EdicaoC() 
            Else If EXCLUIR="S"
                    Then Mensagem("Exclusao de tipo n„o permitida !")
                         UnLockRecord
                    Else QuitLoop
                 EndIf
         EndIf
         SetaPosForm()
       EndWhile
  Case Retval="ESC":
       If Field()="Modulo" 
          Then CHAVEC=9
               Del
               QuitLoop
          Else Left
       EndIf 
  Case RetVal="ENTER":
       CAMPO=[]
       Del
       Locate CAMPO

       If Retval
          Then CHAVE=0
          Else Mensagem(" N„o ‚ poss¡vel criar novo Modulo ! ")
               end
               Down
               Loop
       EndIf
       If IsLockRecord()
          Then Loop
       EndIf
       Quitloop
  EndSwitch
EndWhile
EndProc
;*******************************************************************************
;* Rotina para Digitacao das Informacoes                                       *
;*******************************************************************************
Proc DIGITA()

Moveto [Fechamento_Automatico]
While True

      TECLA=" Esc=Retornar  "
          
      MSGCAMPO=""
      Switch
         Case Field()="Fechamento_Automatico"   : MSGCAMPO="Fecha Controle do Dia Automaticamente S/N"
         Case Field()="Dias_Controle_Aberto"    : MSGCAMPO="Numero de dias em Aberto"
         Case Field()="Data_Inicio_Lancto"      : MSGCAMPO="Data inicial para intervalo de lan‡amentos"
         Case Field()="Data_Fim_Lancto"         : MSGCAMPO="Data final para intervalo de lan‡amentos"
         
      EndSwitch      

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

      Switch
        Case Retval="FIELDVIEW" or Retval="F35":
             EDITFIELD()
  
        Case Retval="ESC":
             If Field()="Fechamento_Automatico"
                Then If QuerDesfazer("")
                       Then Undo
                            CHAVEC=9
                            QuitLoop
                    EndIf
                Else Left
             EndIf
             
        Case Retval="ENTER": 
             Switch
                 Case Field()="Fechamento_Automatico"    : 
                      If []= "N" 
                         Then [Dias_Controle_Aberto] = 0 
                              Moveto [Dias_Controle_Aberto]
                              QuitLoop
                         Else Moveto [Dias_Controle_Aberto]
                      EndIf
                 Case Field()="Dias_Controle_Aberto"      : 
                      If Not IsBlank([])
                         Then Moveto [Data_Inicio_Lancto] 
                      EndIf 
                Case  Field()="Data_Inicio_Lancto"        : 
                      If Not IsBlank([])
                         Then Moveto [Data_Fim_Lancto]
                      EndIf    
                Case  Field()="Data_Fim_Lancto"           : 
                      If Not IsBlank([])
                         Then QuitLoop 
                      EndIf
             EndSwitch
             
      EndSwitch
EndWhile
EndProc

;*******************************************************************************
;* 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 "P_Modulo"
PickForm "F"

While True
  CHAVE()
  If CHAVEC=9
     Then QuitLoop
  EndIf
  Controla_EdicaoC()
EndWhile
Do_It!

ClearAll
Release Vars All
Release Procs All
