;** TabMVA**********************************************************************
;*  Tabela MVA                                                                 *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 31/11/2009 por Anivel Ausgusto Rodrigues
;Ultima Alteracao: 03/01/2011 por Bruno Carvalho
;Motivo Alteracao: Ajustes Novo Layout de Teclas                      
;Ultima Alteracao: 10/01/2012 por Karina Andrade
;Motivo Alteracao: Ajustes Atualiza_Itens()
;Ultima Alteracao: 10/04/2012 por Karina Andrade
;Motivo Alteracao: Ajustes Atualiza_Itens()
;Ultima Alteracao: 17/05/2012 por Bruno Carvalho
;Motivo Alteracao: Ajustes Atualiza_Itens(), tabela fechada
;Ultima Alteracao: 15/02/2013 por Kamila Gomes
;Motivo Alteracao: Ajustes SetaCorRegistro("Editando") 
;Ultima Alteracao: 16/07/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes CHAVE() Incluido Fun‡Æo
;Ultima Alteracao: 06/09/2017 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes ICMS ST FEM
;Ultima Alteracao: 04/04/2019 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes nÆo usa mais o FEm tabmva

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

  End
  SEQ = [Codigo MVA]
  Down 
  Moveto [Codigo MVA]

  SetaCorRegistro("Editar")
  While True

  MSGCAMPO="Consulte Parte 2 nexo XV do RICMS, Consulte codifica‡„o de produtos !"

  TECLA=""

  AguardaTeclasPadrao()

  If Retval=-33
     Then
       ShowPopup " Fun‡”es " CENTERED
        "~A~tualiza Itens"  : " Aplicar as altera‡”es no cadastro de Itens" : "F5",
        "~C~ancelar"        : " Cancelar a Opera‡„o"                        : "CANCELAR"
       EndMenu
        To MenuVar
       Echo off
  
       If MenuVar="CANCELAR" or MenuVar="Esc"
           Then Loop
       EndIf
       RetVal=MenuVar
  EndIf  

  Switch
    Case RetVal="F3": SemFicha()
    Case RetVal="F5":
         ConfGeral("Aplicar as altera‡”es no cadastro de Itens ?")
         If Ok="S"
          Then Atualiza_Itens()
               CHAVE=9
               Quitloop
         EndIf    
    Case RetVal=-94 : MsgTeclasPadrao()
    Case (RetVal="F7" Or RetVal="UP" Or RetVal="PGUP" Or RetVal="HOME"):
         While True
           PAGINA("TAbMVA","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 If IsBlank(SEQ)
                    Then SEQ="1"
                    Else SEQ=StrVal(NumVal(SEQ)+1)
                  EndIf
                  []=SEQ
         EndIf
         []=ALINH()
         CODIGO=[]

         Del
         Locate CODIGO
         If Retval
            Then CHAVE=0
            Else CHAVE=1
                 End Down
                 [Codigo MVA]=CODIGO
         EndIf
         If IsLockRecord()
            Then If CHAVE=1
                    Then Del
                 EndIf
            Else Return
         Endif            
         QuitLoop
    EndSwitch
  EndWhile
EndWhile

EndProc  ;(Chave)

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

Moveto [Item_Tabela]
While True

      TECLA=" Esc=Retornar  "

      If CHAVE=0
         Then TECLA=TECLA+"Del=Excluir  "
      EndIf
      MSGCAMPO=""
      Switch
        Case Field()="Item_Tabela"          : MSGCAMPO="C¢digo de grupo de produtos anexo XV"
        Case Field()="Descricao Interna MVA": MSGCAMPO="Descricao interna p/ grupo de produtos"
        Case Field()="Estados MVA_Ajustado" : MSGCAMPO="Informe TODOS ou exemplo: MG/SP/RJ"
        Case Field()="MVA_1"                : MSGCAMPO="% MVA 1"
      EndSwitch  
      
      Prompt TECLA
      SetaCorRegistro("Editando")
      Wait Field
        Message MSGCAMPO
           Until "ESC","ENTER","DEL","FIELDVIEW","F35"

      Switch

      Case Retval="ESC":
           Switch
                 Case Field()="Item_Tabela":
                      If QuerDesfazer("")
                         Then If CHAVE=1
                                 Then DEL
                                 Else Undo
                              Endif
                              CHAVE=9
                              QuitLoop
                      Endif
                 OtherWise: Left     
           EndSwitch
      Case Retval="ENTER":
           Switch
                 Case Field()="Descricao Interna MVA":
                      If IsBlank([])Then Loop EndIf
                      Moveto [Estados MVA_Ajustado]
                  Case Field()="Estados MVA_Ajustado":
                      If IsBlank([])Then Loop EndIf
                      Moveto [MVA_1]
                 Case Field()="MVA_1":
                      If IsBlank([])Then Loop EndIf
                      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 Atualizar Itens                                                 *
;*******************************************************************************
Proc Atualiza_Itens()

Do_It!
ClearAll

NR = NRecords("Itens")
CoEdit "Itens"
Moveto [Codigo MVA]
Scan
  Barra(NR, RecNo())
  Aguarde("Aguarde, Atualizando Itens "+BARRA_STRING)
  If Busca_Lookup("Codigo MVA",[Codigo MVA],"SM")
     Then cod=[Codigo MVA]
          [Codigo MVA]=""
          [Codigo MVA]=cod
  EndIf
EndScan
Do_It!
ClearAll

CoEdit "TAbMVA"
PickForm "F"

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

Release Vars All
Release Procs All
