;** ContrDia *******************************************************************
;*  Programa p/ Controle de Dia                                                *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 28/07/2004 por Anivel Augusto Rodrigues
;Ultima Alteracao: 22/08/2006 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Atualiza_Controle()
;Ultima Alteracao: 04/01/2011 por Bruno Carvalho
;Motivo Alteracao: Ajustes Novo Layout de Teclas 
;Ultima Alteracao: 08/06/2011 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes SetaCorRegistro("Editar")
;Ultima Alteracao: 05/01/2013 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes SYS_TITULO_MENU
;Ultima Alteracao: 15/12/2014 por Bruno Carvalho
;Motivo Alteracao: Adicionado fun‡Æo para bloqueio/libera‡Æo atrav‚s de filtro 
;Ultima Alteracao: 16/09/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Modelo do Sistema                     
;Ultima Alteracao: 14/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog
;Ultima Alteracao: 03/01/2017 por Rafael Matos
;Motivo Alteracao: Ajustes showdialog MensagemRadioButtons()                   

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

  End
  SEQ=[Numero_Controle_Dia]
  Down

  Moveto [Numero_Controle_Dia]

  TECLA="F5=Parƒmetros"
  AguardaTeclasPadrao()

  If RetVal=-33 
     Then TabAnt = Table()
          
          VSDGDTINI      = BlankDate()
          VSDGDTFIM      = BlankDate()
          VSDGUSUARIO    = ""
          VSDGNOMUSUARIO = ""
          VSDGMODULO     = ""
          Usu_Mod        = "Geral"
          While True
            TELA = "FILTRO" 
            
            ShowDialog "Ajustes" Proc "SD_SDialog"
            Trigger "OPEN","ARRIVE"
            Key "F1","ENTER","ESC",
                -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140  
             @ 05,12   Height 14 Width 72
          
              Label  @ 00,00 "Usu rio"  For "TG_USUARIO"
              Accept @ 01,01 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_USUARIO" To VSDGUSUARIO
              Accept @ 01,09 Width 25 "A23"  Picture "!*!" Tag "TG_NOMCHAPA" To VSDGNOMUSUARIO

              Label  @ 02,00 "Modulo"  For "TG_MODULO"
              Accept @ 03,01 Width 33 "A15"  Picture "!*!" Tag "TG_MODULO" To VSDGMODULO              
              
              Label  @ 04,00 "Per¡odo Referente de" For "TG_DTINI"
              Accept @ 05,03 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTINI" To VSDGDTINI
              Label  @ 05,16 "at‚" For "TG_DTFIM"
              Accept @ 05,21 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTFIM" To VSDGDTFIM
              
              RadioButtons @ 07,00 Height 2 Width 28
                "~1~ Liberar",
                "~2~ Bloquear"
                  Tag "TG_OPCAO"
                  To VSDGOPCAO

              Pushbutton @ 10,22 width 11 "~O~k"      OK     Default Value "Ok" Tag "YES" To BottonValue
              Pushbutton @ 10,36 width 11 "~C~ancela" CANCEL                    Tag "NO"  To BottonValue
          
            EndDialog
            If Not RetVal Then QuitLoop EndIf
            
            If Not Checa_Supervisor()
               Then Loop
            EndIf
            Do_It!
            
            {Ask} {ContrDia} TypeIn "Fast" Enter
            If VSDGUSUARIO <> "" And VSDGNOMUSUARIO <> "TODOS"
               Then Moveto [Chapa ] TypeIn "~VSDGUSUARIO.."
            EndIf     
            If VSDGMODULO<>"TODOS" And VSDGMODULO<>""
               Then Moveto [Modulo] TypeIn "~VSDGMODULO.."
            EndIf   
            Moveto [Data                 ] TypeIn  ">=~VSDGDTINI ,<=~VSDGDTFIM"
            Moveto [Situacao_Controle_Dia]
            Switch
              Case VSDGOPCAO = 1 : TypeIn "Changeto L"
              Case VSDGOPCAO = 2 : TypeIn "Changeto B" 
            EndSwitch
            Do_iT!
            ClearAll
            
            View NoWindow "Usuarios"
            CoEdit "ContrDia"
            CoeditKey
            FormKey
            
            QuitLoop
         EndWhile 
         Loop  
  EndIf    

  Switch
  Case RetVal="F3": SemFicha()
  Case RetVal=-94 : MsgTeclasPadrao()
  Case RetVal="F7" Or RetVal="UP" Or RetVal="PGUP" Or RetVal="HOME":
       While True
         PAGINA("ContrDia","MR")
         If EDITAR="S"
            Then CHAVE=0
                 Checagem()
            Else If EXCLUIR="S"
                    Then Mensagem("Opera‡„o n„o permitida !")
                         unlockrecord
                    Else QuitLoop
                 EndIf
         EndIf
       EndWhile
  Case Retval="ESC":
       CHAVE=9
       Del
       QuitLoop
  Case RetVal="F5":
       Play "P_Contrd"

  Case RetVal="ENTER":
       If IsBlank([])
          Then If IsBlank(SEQ)
                  Then []="1"
                  Else []=StrVal(NumVal(SEQ)+1)
               EndIf
       EndIf
       []=Alinh()
       CODIGO=[]
       Del
       Locate CODIGO
       If Retval
          Then CHAVE=0
          Else CHAVE=1
               End Down
               [Numero_Controle_Dia]=CODIGO
       EndIf
       If IsLockRecord()
          Then Loop
       EndIf
       Quitloop
  EndSwitch
EndWhile

EndProc

;*******************************************************************************
;* Atualiza Dados de Controle                                                  *
;*******************************************************************************
Proc Funcao(Usu_Mod)
Private TIT_PARAM

Switch                                               
  Case Usu_Mod = "Usuario" : Switch
                               Case Not IsAssigned(Chapa) : Mensagem("N„o h  usu rio nessta listagem p/ realizar a opera‡„o !")
                                                            Return False
                               Case ArraySize(Chapa) = 0  : Mensagem("N„o h  usu rio nessta listagem p/ realizar a opera‡„o !")
                                                            Return False
                             EndSwitch
                             If Not IsAssigned(Chapa)  Then Return False EndIf
                             TIT_PARAM = "Selecione o Usu rio"
                             Array Array_Lista[ArraySize(Chapa)]
                             For i From 1 To ArraySize(Chapa)
                               Array_Lista[i] = Chapa[i]
                             Endfor
                           
  Case Usu_Mod = "Modulo"  : Switch
                               Case Not IsAssigned(Modulo) : Mensagem("N„o h  modulo p/ realizar a opera‡„o !")
                                                             Return False
                               Case ArraySize(Modulo) = 0  : Mensagem("N„o h  modulo p/ realizar a opera‡„o !")
                                                             Return False
                             EndSwitch
                             TIT_PARAM = "Selecione o Modulo"
                             Array Array_Lista[ArraySize(Modulo)]
                             For i From 1 To ArraySize(Modulo)
                               Array_Lista[i] = Modulo[i]
                             Endfor
EndSwitch
                            
While True
  TELA = "SELECAO"
  Temp = True
  
  ShowDialog TIT_PARAM Proc "SD_SDialog"
  Trigger "OPEN","ARRIVE","UPDATE","CLOSE","SELECT"
  Key "F1","ENTER","ESC",
     -75, -77, -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140, -147  
     @ 00,10   Height 12 Width 72
   
    PickArray @00,01 Height 7 width 67
    Columns 1
     Array_Lista
      Tag "TG_TAB"
       To ArrayElement
  
    Pushbutton @ 08,22 width 11 "~O~k"      OK     Default Value "Ok" Tag "YES" To BottonValue
    Pushbutton @ 08,36 width 11 "~C~ancela" CANCEL                    Tag "NO"  To BottonValue
    
  EndDialog
  If Not RetVal Then Temp = False QuitLoop EndIf
  QuitLoop
EndWhile

Return Temp

EndProc ;Funcao()

;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc SD_SDialog(Disparo,Campo,Evento,Elemento)
Private Disparo,Campo,Evento,Elemento

Temp=True
MSG_CAMPO=""                              
TECLA=""
                 
If Disparo="OPEN"  Then AoCriarShowDialog() EndIf

If Disparo="CLOSE"
   Then Switch
          Case Campo="YES": AcceptDialog
          Case Campo="NO" : CancelDialog
        EndSwitch
        Return Temp
EndIf       

If Disparo="UPDATE"
   Then Switch
          Case Campo="YES"        :  
               If TELA = "SELECAO"          
                  Then Temp = False
                       Switch                                               
                         Case Usu_Mod = "Usuario" : VSDGUSUARIO    = Format("W04",SubStr(Array_Lista[ControlValue("TG_TAB")],1,4))
                                                    VSDGNOMUSUARIO = Format("W20",SubStr(Array_Lista[ControlValue("TG_TAB")],6,20))                
                         Case Usu_Mod = "Modulo"  : VSDGMODULO = Array_Lista[ControlValue("TG_TAB")]     
                       EndSwitch
               EndIf              
               AcceptDialog
          Case Campo="NO"         : Temp = False 
                                    CancelDialog
          OtherWise               : Return Temp
        EndSwitch
EndIf

If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] = 9   : Temp=False
     Case Evento["KeyCode"] = -59 :  
          Switch
            Case Campo="TG_USUARIO"  : Funcao("Usuario")
            Case Campo="TG_MODULO"   : Funcao("Modulo")
            OtherWise                : Dialog_F1() 
          EndSwitch
     Case Evento["KeyCode"] =  27 :
          Temp=False
          Switch
            Case Campo="TG_TAB"      : Campo="NO"
            Case Campo="TG_USUARIO"  : Campo="NO" 
            Case Campo="TG_MODULO"   : Campo="TG_USUARIO" 
            Case Campo="TG_DTINI"    : Campo="TG_MODULO"
            Case Campo="TG_DTFIM"    : Campo="TG_DTINI"
            Case Campo="TG_OPCAO"    : Campo="TG_DTFIM"    
            Case Campo="YES" Or Campo="NO" : 
                 If Usu_Mod = "Geral"
                    Then Campo="TG_USUARIO"
                    Else Campo="TG_TAB"
                 EndIf       
          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_USUARIO" : Campo="TG_MODULO" 
                         VSDGUSUARIO=ControlValue("TG_USUARIO")
                         If VSDGUSUARIO = "" 
                            Then If VSDGNOMUSUARIO <> "TODOS"
                                    Then ConfGeral("Deseja realizar o processo para todos os usu rios ?")
                                         If OK<>"S"
                                            Then Campo="TG_USUARIO"
                                                 VSDGNOMUSUARIO = ""
                                            Else VSDGNOMUSUARIO = "TODOS" 
                                         EndIf  
                                 EndIf
                            Else VSDGUSUARIO = AlinhM(VSDGUSUARIO,4)
                                 If VSDGNOMUSUARIO = "" 
                                    Then For i From 1 To ArraySize(Chapa)
                                           If VSDGUSUARIO = Format("W04",SubStr(Chapa[i],1,4)) 
                                              Then VSDGNOMUSUARIO = Rtrim(Format("W20",SubStr(Chapa[i],6,20)))    
                                                   QuitLoop
                                           EndIf        
                                         EndFor
                                 EndIf        
                                 ACHOU = False
                                 For i From 1 To ArraySize(Chapa)
                                   If VSDGUSUARIO           = Format("W04",SubStr(Chapa[i],1,4)) And
                                      Rtrim(VSDGNOMUSUARIO) = Rtrim(Format("W20",SubStr(Chapa[i],6,20)))    
                                      Then ACHOU = True
                                           QuitLoop
                                   EndIf
                                 EndFor
                                 If Not ACHOU 
                                    Then Mensagem("Usu rio n„o encontrado !")
                                         Campo="TG_USUARIO"
                                 EndIf
                         EndIf
                    Case Campo="TG_NOMCHAPA" : Campo="TG_USUARIO"
                         VSDGNOMUSUARIO = ControlValue("TG_NOMCHAPA")
                    Case Campo="TG_MODULO"   : Campo="TG_DTINI"  
                         VSDGMODULO=ControlValue("TG_MODULO")
                         If VSDGMODULO = ""
                            Then ConfGeral("Deseja realizar o processo para todos os Modulos ?")
                                 If OK<>"S"
                                    Then Campo="TG_MODULO" 
                                    Else VSDGMODULO = "TODOS"
                                 EndIf   
                            Else If VSDGMODULO = "TODOS"
                                    Then ACHOU = True
                                    Else ACHOU = False   
                                         For i From 1 To ArraySize(Modulo)
                                           If Rtrim(VSDGMODULO) = Rtrim(Modulo[i])   
                                              Then ACHOU = True
                                                   QuitLoop
                                           EndIf
                                         EndFor
                                         If Not ACHOU 
                                            Then Mensagem("Modulo n„o encontrado !")
                                                 Campo="TG_MODULO"
                                         EndIf
                                 EndIf
                         EndIf 
                    Case Campo="TG_DTINI"  : Campo="TG_DTFIM"
                    Case Campo="TG_DTFIM"  : Campo="TG_OPCAO"
                    Case Campo="TG_OPCAO"  : Campo="YES"
                         VSDGOPCAO = ControlValue("TG_OPCAO")
                    Case Campo="TG_TAB"    : Campo="YES"
                         VSDGTA = ControlValue("TG_TAB")
                         Switch                                               
                           Case Usu_Mod = "Usuario" : VSDGUSUARIO    = Format("W04",SubStr(Array_Lista[VSDGTA],1,4))
                                                      VSDGNOMUSUARIO = Format("W20",SubStr(Array_Lista[VSDGTA],6,20))                
                           Case Usu_Mod = "Modulo"  : VSDGMODULO = Array_Lista[VSDGTA]     
                         EndSwitch
                         Usu_Mod = "Geral"
                    Case Campo="YES"       : AcceptDialog
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf

Switch
  Case Campo="":
     MSG_CAMPO=""
  Case Campo="TG_TAB"    :
       Switch                                               
         Case Usu_Mod = "Usuario" : MSG_CAMPO="Selecione o Usu rio"                           
         Case Usu_Mod = "Modulo"  : MSG_CAMPO="Selecione o M¢dulo" 
       EndSwitch
       TECLA=TECLA+" [ENTER]=Selecionar"
  Case Campo="TG_OPCAO":
       MensagemRadioButtons()    
Endswitch

Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp

EndProc ;SD_SDialog() 

;*******************************************************************************
;* Atualiza Dados de Controle                                                  *
;*******************************************************************************
Proc Atualiza_Controle(Usuario,Opcao)
Private s

UnLockRecord
FormKey
Moveto "Usuarios"
Moveto [Chapa]
Locate Usuario
If Not RetVal
   Then ;;Mensagem("Usu rio n„o cadastrado !")
   Else Switch
          Case Opcao="Criar" Or Opcao="Liberar":
               [Numero_Controle_Dia]=[ContrDia->Numero_Controle_Dia]
          Case Opcao="Finalizar":
               [Numero_Controle_Dia]="??????"
        EndSwitch
        UnLockRecord
EndIf

Moveto "ContrDia"
Switch
  Case Opcao="Criar":
       [Situacao_Controle_Dia]="L"
       [Chapa                ]=SYS_CHAPA_USUARIO
       [Nome                 ]=SYS_NOME_USUARIO
       [Data                 ]=Today()
       [Hora                 ]=Time()
  Case Opcao="Liberar":
       [Situacao_Controle_Dia]="L"
  Case Opcao="Finalizar":
       [Situacao_Controle_Dia]="B"
EndSwitch
If IsBlank(SYS_CHAPA_SUPERVISOR)
   Then Log_Obs(Opcao+": "+SYS_CHAPA_USUARIO)
   Else Log_Obs(Opcao+": "+SYS_CHAPA_SUPERVISOR)
EndIf
UnLockRecord

If Usuario=SYS_CHAPA_USUARIO
   Then SYS_CONTROLE_DIA=[\Sistemas\Cadastro\Usuarios->Numero_Controle_Dia]
        s=SYS_TITULO_MENU
        SYS_TITULO_MENU=SubStr(s,1,61)+SYS_CONTROLE_DIA+SubStr(s,68,10)

        Editor Open "Savevars.sc"
        Editor Find "SYS_CONTROLE_DIA"
        If RetVal
           Then DELETELINE
                ENTER
                UP
                TypeIn "SYS_CONTROLE_DIA = \""
                TypeIn SYS_CONTROLE_DIA
                TypeIn "\""
                DOWN
        EndIf
        Home
        Editor Find "SYS_TITULO_MENU"
        If RetVal
           Then DELETELINE
                ENTER
                UP
                TypeIn "SYS_TITULO_MENU = \""
                TypeIn SYS_TITULO_MENU
                TypeIn "\""
                DOWN
        EndIf
        Do_It!

        ShowPullDown
           SYS_TITULO_MENU : "" : ""
        EndMenu
EndIf

FormKey
Endproc

;*******************************************************************************
;* Bloquear Controle                                                           *
;*******************************************************************************
Proc Bloquear()
MSG=    "Controle N§ "+[Numero_Controle_Dia]+".//"
MSG=MSG+"Do usu rio "+[Chapa]+"/"+[Nome]+" !// //"
MSG=MSG+"Confirma finalizar os lan‡amentos deste controle ?"
CONFGERAL(MSG)
If OK="S"
   Then Atualiza_Controle([Chapa],"Finalizar")
EndIf
Endproc

;*******************************************************************************
;* Liberar Controle                                                            *
;*******************************************************************************
Proc Liberar()
MSG=    "Controle N§ "+[Numero_Controle_Dia]+".//"
MSG=MSG+"Do usu rio "+[Chapa]+"/"+[Nome]+" !// //"
MSG=MSG+"Deseja que os lan‡amentos efetuados com este controle//"
MSG=MSG+"sejam liberados e que novos lan‡amentos//"
MSG=MSG+"sejam controlados por este n£mero !// //"
MSG=MSG+"Confirma liberar este controle ?"
CONFGERAL(MSG)
If OK="S"
   Then Atualiza_Controle([Chapa],"Liberar")
EndIf
Endproc

;*******************************************************************************
;* Liberar Controle                                                            *
;*******************************************************************************
Proc LiberarNovo()
MSG=    "Controle N§ "+[Numero_Controle_Dia]+".//"
MSG=MSG+"Do usu rio "+[Chapa]+"/"+[Nome]+" !// //"
MSG=MSG+"Deseja que os lan‡amentos efetuados com este controle//"
MSG=MSG+"sejam liberados e que novos lan‡amentos//"
MSG=MSG+"sejam controlados por este n£mero !// //"
MSG=MSG+"Confirma liberar este controle para Vocˆ ?"
CONFGERAL(MSG)
If OK="S"
   Then Atualiza_Controle(SYS_CHAPA_USUARIO,"Liberar")
EndIf
Endproc

;*******************************************************************************
;* Liberar Controle                                                            *
;*******************************************************************************
Proc Log_Obs(Param)
MSG=Param+" "+Format("D13",Today())+" "+Time()+" "
[Observacao]=[Observacao]+MSG+"; "
Endproc

;*******************************************************************************
;* Rotina p/ Montar Fun‡Æo                                                     *
;*******************************************************************************
Proc Monta_Funcao()
Private Array_Temp,i

{Ask} {\\Sistemas\\Cadastro\\ContrDia}
Moveto [Chapa] Check
Moveto [Nome] Check
Do_It!
ClearAll

If Not IsEmpty("Answer")
   Then DynArray Array_Temp[]
        i = 0
        View "Answer"
        Scan
          If [Chapa] <> "" And Len([Chapa]) = 4
             Then i = i + 1
                  Array_Temp[i] = Format("W4",[Chapa])+" "+Format("W20",[Nome])
          EndIf
        EndScan
        ClearAll
        
        If i > 0 
           Then Array Chapa[i]
                For i From 1 To ArraySize(Chapa) 
                  Chapa[i] = Array_Temp[i] 
                EndFor
           Else Release Vars Chapa          
        EndIf        
        ClearAll
   Else Release Vars Chapa     
EndIf        

{Ask} {\\Sistemas\\Cadastro\\ContrDia}
Moveto [Modulo] Check
Do_It!
ClearAll

If Not IsEmpty("Answer")
   Then DynArray Array_Temp[]
        i = 0
        View "Answer"
        Scan
          If Rtrim([Modulo]) <> ""
             Then i = i + 1
                  Array_Temp[i] = Rtrim([Modulo])
          EndIf
        EndScan
        ClearAll
        
        If i > 0 
           Then Array Modulo[i]
                For i From 1 To ArraySize(Modulo) 
                  Modulo[i] = Array_Temp[i] 
                EndFor
           Else Release Vars Modulo          
        EndIf        
        ClearAll
   Else Release Vars Modulo     
EndIf    

EndProc ;Monta_Funcao()

;*******************************************************************************
;* Liberar Controle                                                            *
;*******************************************************************************
Proc Checagem()
private result

result=true
Switch
  Case CHAVE=9: result=false

  Case CHAVE=0:
       SYS_CHAPA_SUPERVISOR=""
       If [Situacao_Controle_Dia]="L"
          Then
               msg2="["+SYS_NOME_USUARIO+"/"+SYS_CHAPA_USUARIO+"]"

               If SYS_CHAPA_USUARIO=[Chapa]
                  Then ShowPopup " Op‡”es " CENTERED
                         "~A~tivar"    : " Ativar este n£mero de Controle"    : "Ativar",
                         "~F~inalizar" : " Finalizar este n£mero de Controle" : "Finalizar",
                         "~C~ancelar"  : " Cancelar procedimento"             : "Cancelar"
                       EndMenu
                       To Opcaoc
                  Else If (SYS_NIVEL_USUARIO="S" or SYS_NIVEL_USUARIO="E")
                          Then
                               ShowPopup " Op‡”es " CENTERED
                                 "~2~ - Ativar para "+msg2  : " Ativar este n£mero de Controle para vocˆ "+msg2 : "AtivarNovo",
                                 "~F~inalizar" : " Finalizar este n£mero de Controle" : "Finalizar",
                                 "~C~ancelar"  : " Cancelar procedimento"             : "Cancelar"
                               EndMenu
                               To Opcaoc
                          Else
                               ShowPopup " Op‡”es " CENTERED
                                 "~2~ - Ativar para "+msg2  : " Ativar este n£mero de Controle para vocˆ "+msg2 : "AtivarNovo",
                                 "~C~ancelar"  : " Cancelar procedimento"             : "Cancelar"
                               EndMenu
                               To Opcaoc
                       EndIf
               EndIf

               If Opcaoc="Ativar"     Then Liberar()     EndIf
               If Opcaoc="AtivarNovo" Then LiberarNovo() EndIf
               If Opcaoc="Finalizar"  Then Bloquear()    EndIf

          Else If Checa_Supervisor()
                  Then Liberar()
               EndIf
       EndIf
       
  Case CHAVE=1:
			 MSG= 	 "Caso tenha algun controle em aberto e concluido,//"
       MSG=MSG+"n„o esque‡a de FINALIZA-LO primeiro !// //"
       MSG=MSG+"Novo controle N§ "+[Numero_Controle_Dia]+".//"
       MSG=MSG+"Todos lan‡amentos efetuados no sistema por vocˆ//"
       MSG=MSG+"a partir deste momento, ser„o controlados por este n£mero !// //"
       MSG=MSG+"Confirma este controle "+SYS_NOME_USUARIO+" ?"
       if not CONFGERAL(MSG)
          Then Del
          else Atualiza_Controle(SYS_CHAPA_USUARIO,"Criar")
       EndIf
       
EndSwitch

return result
Endproc

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

If Not IsAssigned(SYS_TITULO_MENU)      Then SYS_TITULO_MENU  ="."      EndIf
If Not IsAssigned(SYS_CHAPA_USUARIO)    Then SYS_CHAPA_USUARIO="9999"   EndIf
If Not IsAssigned(SYS_NIVEL_USUARIO)    Then SYS_NIVEL_USUARIO="C"      EndIf
If Not IsAssigned(SYS_NOME_USUARIO)     Then SYS_NOME_USUARIO ="."      EndIf
If Not IsAssigned(SYS_CHAPA_SUPERVISOR) Then SYS_CHAPA_SUPERVISOR =""   EndIf

Monta_Funcao()

View NoWindow "Usuarios"
CoEdit "ContrDia"
PickForm "F"
While True
  CHAVE()
  if not Checagem()
     then QuitLoop
  endif   
EndWhile
Do_It!
ClearAll
Release Vars All
Release Procs All
