;** Depart *********************************************************************
;*  Manutencao Cadastro de Marcas                                              *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 05/12/1995 por Anivel Augusto Rodrigues
;Ultima Alteracao: 10/08/2004 por Davi Pereira Carrano
;Motivo Alteracao: Inclusao de novos Campos na tabela e formulario
;Ultima Alteracao: 23/05/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Controla_Edicao
;Ultima Alteracao: 03/01/2011 por Bruno Carvalho
;Motivo Alteracao: Ajustes Novo Layout de Teclas 

;*******************************************************************************
;* Rotina para Localizar Registro                                              *
;*******************************************************************************
Proc CHAVE()
Moveto [Codigo do Departamento]
End
SEQ  = [Codigo do Departamento]
Down

While true
  SetaCorRegistro("Editar")
  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("Depart","MR")
             If EDITAR="S"
                Then CHAVE=0
                     Controla_EdicaoC()
                Else If EXCLUIR="S"
                        Then If QuerExcluir("")
                                Then DEL
                                Else UnLockRecord
                             EndIf
                        Else Moveto [Codigo do Departamento]
                             End
                             SEQ = [Codigo do Departamento]
                             Down
                             QuitLoop
                     EndIf
             EndIf
             SetaPosForm()
           EndWhile
      Case Retval="ESC":
           CHAVE=9
           Del
           QuitLoop
      Case Retval="ENTER":
           If IsBlank([])
              Then If IsBlank(SEQ)
                      Then SEQ="1"
                      Else SEQ=StrVal(NumVal(SEQ)+1)
                    EndIf
                    []=SEQ
           EndIf
           []=ALINHM([],2)
           CODIGO=[]
           Del
           Locate CODIGO
           If Retval
              Then CHAVE=0
              Else CHAVE=1
                   End Down
                   [Codigo do Departamento]=CODIGO
           EndIf
           If IsLockRecord()
              Then End
                   SEQ=[Codigo do Departamento]
                   Down
                   Moveto [Codigo do Departamento]
                   Loop
           EndIf
           Quitloop
      EndSwitch
EndWhile
EndProc

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

Moveto [Descricao do Departamento]
While True

      TECLA=" Esc=Retornar  "

      If CHAVE=0
         Then TECLA=TECLA+"Del=Excluir  "
      EndIf
      MSGCAMPO=Field()
      If Field()="Tributacao de ICMS"
         Then MSGCAMPO=MSGCAMPO+"  -  Debitado, Isento, Outros, N„o_Tributado, Substitui‡„o"
      EndIf


      Prompt TECLA

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

      Case Retval="ESC":
           If Field()="Descricao do Departamento"
              Then If QuerDesfazer("")
                      Then If CHAVE=1
                              Then Del
                              Else Undo
                           EndIf
                           CHAVE=9
                           QuitLoop
                   EndIf
              Else Left
           EndIf
      Case Retval="ENTER":
           Switch
              Case Field()="Tributacao de ICMS":
                   If []="D"
                      Then Right
                      Else QuitLoop
                   EndIf
              Case Field()="Aliquota de ICMS"  :
                   QuitLoop

              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 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 "Depart"
PickForm "F"
While True
  CHAVE()
  If CHAVE=9
     Then QuitLoop
  EndIf
  Controla_EdicaoC()
EndWhile
Do_It!
ClearAll
Release Vars All
Release Procs All
