;** TpPagto ********************************************************************
;*  PROGRAMA DE EDICAO DE FORMAS DE PAGAMENTO                                   *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 31/03/2004 por Anivel Augusto Rodrigues
;Ultima Alteracao: 23/05/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao Controla_Edicao
;Ultima Alteracao: 29/12/2010 por Bruno Carvalho
;Motivo Alteracao: Ajustes Novo Layout de Teclas
;Ultima Alteracao: 01/09/2011 por Bruno Carvalho
;Motivo Alteracao: Adicionado "Utiliza Vise Pedidos"
;Ultima Alteracao: 01/01/2013 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes SetaCorRegistro("Editando") 
;Ultima Alteracao: 17/01/2014 por Bruno Carvalho
;Motivo Alteracao: Add Plano de Conta por Tipo de Pagamento 
;Ultima Alteracao: 05/02/2021 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes rodape ECF/NFCe
;Ultima Alteracao: 06/04/2021 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes mensagem campo codigo_avanco
 
;*******************************************************************************
;* Rotina para Localizar Registro                                              *
;*******************************************************************************
Proc CHAVE()
While True
  SetaCorRegistro("Editar")
  End
  Down

  Moveto [Tipo do Pagamento]

  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("TPPAGTO","MR")
         If EDITAR="S"
            Then CHAVE=0
                 Controla_EdicaoC()
            Else If EXCLUIR="S"
                   Then Mensagem("Exclusao de forma n„o permitida !")
                        UnLockRecord
                   Else QuitLoop
                 EndIf
         EndIf
         SetaPosForm()
       EndWhile
  Case Retval="ESC":
       CHAVE=9
       Del
       QuitLoop

  Case RetVal="ENTER":
       CODIGO=[]
       Del
       Locate CODIGO

       If Retval
          Then CHAVE=0
          Else Mensagem(" N„o ‚ poss¡vel criar nova Forma de Pagamento ! ")
               Loop
       EndIf
       If IsLockRecord()
          Then Loop
       EndIf
       Quitloop
  EndSwitch
EndWhile
EndProc

;*******************************************************************************
;* Rotina para Digitacao das Informacoes                                       *
;*******************************************************************************
Proc DIGITA()
Moveto [Utiliza_ECF]
While True

  TECLA=" Esc=Retornar  "

  MSGCAMPO=Field()
  
  Switch
    Case Field()="Codigo_Avanco"       : MSGCAMPO="Codigo Forma de Pagamento integra‡Æo PDA/Tablet !"
    Case Field()="Utiliza_ECF"         : MSGCAMPO="Utiliza esta Forma no OPAF e NFCe (Sim/N„o) ?"
    Case Field()="Utiliza_VisePedidos" : MSGCAMPO="Utiliza VisePedidos Windows (Sim/N„o) ?"
    Case Field()="Plano de Conta"      : MSGCAMPO="Informe o plano de conta para esta forma de pagamento"
    Case Field()="Codigo_FP_CFE"       : MSGCAMPO="Informe o c¢digo da Forma de Pagamento para CFe [F1]"
  EndSwitch

  Prompt TECLA
  SetaCorRegistro("Editando")
  Wait Field
    MESSAGE MSGCAMPO
       Until "ESC","ENTER","FIELDVIEW","F35","F1",-59

  Switch
  Case Retval="F1" Or RetVal=-59: 
       If Field()="Plano de Conta" Or
          Field()="Codigo_FP_CFE"
          Then ConsultaF1()
       EndIf
  Case Retval="ESC":
       If Field()="Utiliza_ECF"
         Then If QuerDesfazer("")
                 Then Undo
                      CHAVE=9
                      QuitLoop
              EndIf
         Else Left
       EndIf
  Case Retval="ENTER":
       Switch
         Case Field() = "Utiliza_ECF":
              If IsBlank([]) Then []="N" EndIf
              Right
         Case Field() = "Codigo_Avanco":
              []=ALINH()
              Right
         Case Field() = "Utiliza_VisePedidos":
              If IsBlank([]) Then []="N" EndIf
              Right
         Case Field() = "Codigo_FP_CFE" :
              QuitLoop
         OtherWise:
              Right
       EndSwitch
  Case Retval="FIELDVIEW" or Retval="F35":
       EDITFIELD()

  EndSwitch
EndWhile
EndProc  ; (Digita)

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