;** P_ExpBco********************************************************************
;*  Configuracao de Paramentos p/ Exportacao Banco                             *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 07/08/2003 por Karen Lauar Nery
;Ultima Alteracao: 07/07/2004 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes
;Ultima Alteracao: 07/08/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao +5 Mensagens
;Ultima Alteracao: 08/08/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Inclusao NDias Devolver
;Ultima Alteracao: 27/05/2009 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Quem Imprime Bloqueto
;Ultima Alteracao: 07/10/2009 por Cleber Alves
;Motivo Alteracao: Adicao de campos para impressao da boleta
;Ultima Alteracao: 07/05/2010 por Cleber Alves
;Motivo Alteracao: Ajustes Numero dias Protestar
;Ultima Alteracao: 01/02/2011 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Protesto=00            
;Ultima Alteracao: 17/06/2011 por Karina Andrade
;Motivo Alteracao: Ajustes TECLAS
;Ultima Alteracao: 29/06/2011 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Sigla ou Codigo da Especie

;*******************************************************************************
;* Rotina de Controle de Paramentros                                           *
;*******************************************************************************
Proc PARAM_DIALOG(Disparo,Campo,Evento,Elemento)
Temp=True

TECLA   =""
MSGCAMPO=""
If INICIO_DIALOGO
   Then INICIO_DIALOGO=False
EndIf

If Disparo="OPEN"  Then AoCriarShowDialog() EndIf
If Disparo="EVENT" And DynArraySize(Evento)>0 And Evento["Type"]="KEY" Then
   Temp=False
   Switch
     Case (Evento["KeyCode"] = -6 Or Evento["KeyCode"] = -147):
          If CHAVE=0
             Then Confirma()
                  If OK="S"
                     Then Del
                          Novo()
                          Campo="I_CONTA_CAIXA"
                  EndIf
           EndIf
       Case Evento["KeyCode"] = -59:
            If Campo="I_CONTA_CAIXA" Or
               Campo="I_TPLANCTO"
               Then
                    Dynarray WinArray5[]
                    Window Handle Dialog to JANELA
                    Window GetAttributes JANELA To WinArray5
                    WinArray5["FLOATING"]=False
                    Window SetAttributes JANELA From WinArray5

                    If Campo="I_CONTA_CAIXA" Then Moveto [Codigo da Conta   ] EndIf
                    If Campo="I_TPLANCTO"    Then Moveto [Tipo do Lancamento] EndIf
                    ConsultaF1()

                    Window Select JANELA
                    WinArray5["FLOATING"]=True
                    Window SetAttributes JANELA From WinArray5

                    echo Normal
                    echo off

                    Switch
                      Case Campo="I_CONTA_CAIXA":
                           VSD_CONTA_CAIXA=[Codigo da Conta]
                      Case Campo="I_TPLANCTO":
                           VSD_TPLANCTO=[Tipo do Lancamento]
                    EndSwitch
           EndIf
      Case Evento["KeyCode"] = 27:
           Switch
             Case Campo="I_CONTA_CAIXA"         :
                  Del
                  CancelDialog
             Case Campo="I_TPLANCTO"            : Campo="I_CONTA_CAIXA"
             Case Campo="I_CARTEIRA"            : Campo="I_CONTA_CAIXA"
                  If Chave=1
                     Then Del
                  EndIf
                  Novo()
                  
             Case Campo="I_CONVENIO"            : Campo="I_CARTEIRA"
             Case Campo="I_SESPECIE"            : Campo="I_CONVENIO"
             Case Campo="I_ACEITE"              : Campo="I_SESPECIE"
             Case Campo="I_DPROTESTO"           : Campo="I_ACEITE"
             Case Campo="I_DDEVOLVER"           : Campo="I_DPROTESTO"
             Case Campo="I_IMPBANCO"            : Campo="I_DDEVOLVER"
             Case Campo="I_MODALIDADE"          : Campo="I_IMPBANCO"
             Case Campo="I_FORMA_TXJUROS"       : Campo="I_MODALIDADE"
             Case Campo="I_TXJUROS"             : Campo="I_FORMA_TXJUROS"
             Case Campo="I_BANCO"               : Campo="I_MODALIDADE"
             Case Campo="I_AGENCIA"             : Campo="I_BANCO"
             Case Campo="I_NUMCONTA"            : Campo="I_AGENCIA"
             Case Campo="I_NNUMERO"             : Campo="I_NUMCONTA"              
             Case Campo="I_JUROSMORA"           : Campo="I_NNUMERO"            
             Case Campo="I_MENSAGEM1"           : Campo="I_JUROSMORA"
             Case Campo="I_MENSAGEM2"           : Campo="I_MENSAGEM1"
             Case Campo="I_MENSAGEM3"           : Campo="I_MENSAGEM2"
             Case Campo="I_MENSAGEM4"           : Campo="I_MENSAGEM3"
             Case Campo="I_MENSAGEM5"           : Campo="I_MENSAGEM4"
             Case Campo="I_MENSAGEM6"           : Campo="I_MENSAGEM5"    
           
           EndSwitch
      Case Evento["KeyCode"] = 13:
           Switch
             Case Campo="I_CONTA_CAIXA":
                 VSD_CONTA_CAIXA=ControlValue("I_CONTA_CAIXA")
                 If Not IsBlank(VSD_CONTA_CAIXA)
                    Then VSD_CONTA_CAIXA=AlinhM(ControlValue("I_CONTA_CAIXA"),4)
                         Moveto [Codigo da Conta]
                         Ativa_Lookup()
                         Locate VSD_CONTA_CAIXA
                         If Not RetVal
                            Then Mensagem("Codigo da Conta Caixa n„o Cadastrado !")
                                 Campo="I_CONTA_CAIXA"
                                 KeyPress "ESC"
                                 Return False
                            Else If [Tipo da Conta]<>"C"
                                    Then Mensagem("Conta Invalida Somente Conta Banco!")
                                         Campo="I_CONTA_CAIXA"
                                         KeyPress "ESC"
                                         Return False
                                 EndIf
                         EndIf
                         KeyPress "ESC"
                         Campo="I_TPLANCTO"
                 EndIf
             Case Campo="I_TPLANCTO":
                 VSD_TPLANCTO=ControlValue("I_TPLANCTO")
                 If Not IsBlank(VSD_TPLANCTO)
                    Then Moveto [Tipo do Lancamento]
                         Ativa_Lookup()
                         Locate VSD_TPLANCTO
                         If Not RetVal
                            Then Mensagem("Codigo do Tipo de Lancamento n„o Cadastrado !")
                                 Campo="I_TPLANCTO"
                                 KeyPress "ESC"
                                 Return False
                         EndIf
                         KeyPress "ESC"
                         Chave()
                         Campo="I_CARTEIRA"
                 EndIf
             Case Campo="I_CARTEIRA":
                  VSD_CARTEIRA=ControlValue("I_CARTEIRA")
                  Campo="I_CONVENIO"
             Case Campo="I_CONVENIO":
                  VSD_CONVENIO=ControlValue("I_CONVENIO")
                  Campo="I_SESPECIE"
             Case Campo="I_SESPECIE":
                  VSD_SESPECIE=ControlValue("I_SESPECIE")
                  If IsBlank(VSD_SESPECIE)
                     Then VSD_SESPECIE="DM"
                  EndIf
                  Campo="I_ACEITE"
             Case Campo="I_ACEITE":
                  VSD_ACEITE=ControlValue("I_ACEITE")
                  If IsBlank(VSD_ACEITE)
                     Then VSD_ACEITE="S"
                  EndIf
                  Campo="I_DPROTESTO"
             Case Campo="I_DPROTESTO":
                  VSD_DPROTESTO=ControlValue("I_DPROTESTO")
                  If IsBlank (VSD_DPROTESTO) Or VSD_DPROTESTO="0"
                     Then VSD_DPROTESTO = "00"
                  EndIf   
                  Campo="I_DDEVOLVER"
             Case Campo="I_DDEVOLVER":
                  VSD_DDEVOLVER=ControlValue("I_DDEVOLVER")
                  If IsBlank (VSD_DDEVOLVER) or VSD_DDEVOLVER="0"
                     Then VSD_DDEVOLVER = "00"
                  EndIf
                  Campo="I_IMPBANCO"
             Case Campo="I_IMPBANCO":
                  VSD_IMPBANCO=ControlValue("I_IMPBANCO")
                  If IsBlank(VSD_IMPBANCO)
                     Then VSD_IMPBANCO="3"
                  EndIf
                  Campo="I_MODALIDADE"
             Case Campo="I_MODALIDADE":
                  VSD_MODALIDADE=ControlValue("I_MODALIDADE")
                  Campo="I_BANCO"
             Case Campo="I_BANCO":
                  VSD_BANCO=ControlValue("I_BANCO")
                  Campo="I_AGENCIA"
             Case Campo="I_AGENCIA":
                  VSD_AGENCIA=ControlValue("I_AGENCIA")
                  Campo="I_NUMCONTA"
             Case Campo="I_NUMCONTA":
                  VSD_NUMCONTA=ControlValue("I_NUMCONTA")
                  Campo="I_NNUMERO"
             Case Campo="I_NNUMERO":
                  VSD_NNUMERO=ControlValue("I_NNUMERO")
                  Campo="I_JUROSMORA"
             Case Campo="I_JUROSMORA":
                  VSD_JUROSMORA=ControlValue("I_JUROSMORA")
                  Campo="I_MENSAGEM1"                 
             Case Campo="I_MENSAGEM1":
                  VSD_MENSAGEM1=ControlValue("I_MENSAGEM1")
                  Campo="I_MENSAGEM2"
             Case Campo="I_MENSAGEM2":
                  VSD_MENSAGEM2=ControlValue("I_MENSAGEM2")
                  Campo="I_MENSAGEM3"
             Case Campo="I_MENSAGEM3":
                  VSD_MENSAGEM3=ControlValue("I_MENSAGEM3")
                  Campo="I_MENSAGEM4"
             Case Campo="I_MENSAGEM4":
                  VSD_MENSAGEM4=ControlValue("I_MENSAGEM4")
                  Campo="I_MENSAGEM5"
             Case Campo="I_MENSAGEM5":
                  VSD_MENSAGEM5=ControlValue("I_MENSAGEM5")
                  Campo="I_MENSAGEM6"
             Case Campo="I_MENSAGEM6":
                  VSD_MENSAGEM6=ControlValue("I_MENSAGEM6")
                  ConfGeral("Confirma novos parametros?")
                  If OK="S"
                     Then PARAM_OPCAO("Gravar")
                     Else If Chave=1
                             Then Del
                          EndIf
                  EndIf
                  Novo()
                  Campo="I_CONTA_CAIXA"
           EndSwitch
      Case Evento["KeyCode"] = -81 And Chave=0:
           If Campo<>"I_CONTA_CAIXA" And Campo<>"I_TPLANCTO"
              Then ConfGeral("Confirma novos parametros?")
                   If OK="S"
                      Then PARAM_OPCAO("Gravar")
                   EndIf
                   Novo()
                   Campo="I_CONTA_CAIXA"
           EndIf
   EndSwitch
EndIf
RefreshDialog
SelectControl Campo

TECLA=" Esc=Retornar  "
If Campo="I_CONTA_CAIXA"    Or
   Campo="I_TPLANCTO"
   Then TECLA=TECLA+"F1=Tabelas  "
EndIf
If Campo<>"I_CONTA_CAIXA" And Campo<>"I_TPLANCTO"
   Then TECLA=TECLA+"Ctrl+Del=Excluir  PgDn=Finalizar  "
EndIf
MSGCAMPO=""
Switch
  Case Campo="I_CONTA_CAIXA"  : MSGCAMPO="Codigo da Conta "
  Case Campo="I_TPLANCTO"     : MSGCAMPO="Tipo do Lancamento"
  Case Campo="I_ACEITE"       : MSGCAMPO="S=Sim  N=N„o"
  Case Campo="I_SESPECIE"     : MSGCAMPO="Informe a Sigla ou Codigo da esp‚cie !" 
  Case Campo="I_IMPBANCO"     : MSGCAMPO="1=Cliente  2=Aplicativo/Banco  3=Banco"
  Case Campo="I_BANCO"        : MSGCAMPO="Numero do Banco"
  Case Campo="I_AGENCIA"      : MSGCAMPO="Numero da Agencia"
  Case Campo="I_NUMCONTA"     : MSGCAMPO="Numero da Conta Corrente"
  Case Campo="I_NNUMERO"      : MSGCAMPO="Proximo Nosso Numero" 
  Case Campo="I_JUROSMORA"    : MSGCAMPO="Juros de Mora"
  Case Campo="I_MENSAGEM1"    : MSGCAMPO="Mensagem 1"
  Case Campo="I_MENSAGEM2"    : MSGCAMPO="Mensagem 2"
  Case Campo="I_MENSAGEM3"    : MSGCAMPO="Mensagem 3"
  Case Campo="I_MENSAGEM4"    : MSGCAMPO="Mensagem 4"
  Case Campo="I_MENSAGEM1"    : MSGCAMPO="Mensagem 1"
  Case Campo="I_MENSAGEM2"    : MSGCAMPO="Mensagem 2"
  Case Campo="I_MENSAGEM3"    : MSGCAMPO="Mensagem 3"
  Case Campo="I_MENSAGEM4"    : MSGCAMPO="Mensagem 4"
  Case Campo="I_MENSAGEM5"    : MSGCAMPO="Mensagem 5"
  Case Campo="I_MENSAGEM6"    : MSGCAMPO="Mensagem 6"
EndSwitch

@ 24,0 ?? TECLA+Spaces(80-Len(TECLA))
PaintCanvas Attribute 31 24,0,24,79
Message(MSGCAMPO)
Return TEMP
EndProc   ;(Param_Dialog)

;*******************************************************************************
;* Rotina Gravacao ou Leitura dos Parametros                                   *
;*******************************************************************************
Proc PARAM_OPCAO(OP)

Private OP

Switch
  Case OP = "Gravar":
       Moveto [Codigo da Conta]
       Locate VSD_CONTA_CAIXA, VSD_TPLANCTO
       [Carteira             ] =  VSD_CARTEIRA
       [Convenio             ] =  VSD_CONVENIO
       [Sigla da Especie     ] =  VSD_SESPECIE
       [Aceite               ] =  VSD_ACEITE
       [NDias Protestar      ] =  VSD_DPROTESTO
       [NDias Devolver       ] =  VSD_DDEVOLVER
       [Impressao pelo Banco ] =  VSD_IMPBANCO       
       [Modalidade           ] =  VSD_MODALIDADE
       [Banco                ] =  VSD_BANCO            
       [Agencia              ] =  VSD_AGENCIA 
       [Numero da Conta      ] =  VSD_NUMCONTA        
       [Proximo Nosso Numero ] =  VSD_NNUMERO   
       [Juros Mora           ] =  VSD_JUROSMORA      
       [Mensagem             ] =  VSD_MENSAGEM1
       [Mensagem2            ] =  VSD_MENSAGEM2
       [Mensagem3            ] =  VSD_MENSAGEM3
       [Mensagem4            ] =  VSD_MENSAGEM4
       [Mensagem5            ] =  VSD_MENSAGEM5
       [Mensagem6            ] =  VSD_MENSAGEM6

       UnLockRecord

  Case OP = "Ler":

        VSD_CARTEIRA        = [Carteira             ]
        VSD_CONVENIO        = [Convenio             ]
        VSD_SESPECIE        = [Sigla da Especie     ]
        VSD_ACEITE          = [Aceite               ]
        VSD_DPROTESTO       = [NDias Protestar      ]
        VSD_DDEVOLVER       = [NDias Devolver       ]
        VSD_IMPBANCO        = [Impressao pelo Banco ]
        VSD_MODALIDADE      = [Modalidade           ]
        VSD_BANCO           = [Banco                ]
        VSD_AGENCIA         = [Agencia              ]
        VSD_NUMCONTA        = [Numero da Conta      ]
        VSD_NNUMERO         = [Proximo Nosso Numero ]
        VSD_JUROSMORA       = [Juros Mora           ]
        VSD_MENSAGEM1       = [Mensagem             ]
        VSD_MENSAGEM2       = [Mensagem2            ]
        VSD_MENSAGEM3       = [Mensagem3            ]
        VSD_MENSAGEM4       = [Mensagem4            ]
        VSD_MENSAGEM5       = [Mensagem5            ]
        VSD_MENSAGEM6       = [Mensagem6            ]

  Case OP = "Inicio":

        VSD_TPLANCTO        = ""
        VSD_CARTEIRA        = ""
        VSD_CONVENIO        = ""
        VSD_SESPECIE        = ""
        VSD_ACEITE          = ""
        VSD_DPROTESTO       = ""
        VSD_DDEVOLVER       = ""
        VSD_IMPBANCO        = ""
        VSD_MODALIDADE      = ""
        VSD_BANCO           = ""
        VSD_AGENCIA         = ""
        VSD_NUMCONTA        = ""
        VSD_NNUMERO         = ""
        VSD_JUROSMORA       = ""
        VSD_MENSAGEM1       = ""
        VSD_MENSAGEM2       = ""
        VSD_MENSAGEM3       = ""
        VSD_MENSAGEM4       = ""
        VSD_MENSAGEM5       = ""
        VSD_MENSAGEM6       = ""

EndSwitch
EndProc   ; (Param_Opcao)

;*******************************************************************************
;* Rotina para posicionar registro                                             *
;*******************************************************************************
Proc Novo()
Moveto [Codigo da Conta]
End Down

PARAM_OPCAO("Inicio")
EndProc    ;  (Posiciona)

;*******************************************************************************
;* Rotina Localiza_Registro                                                    *
;*******************************************************************************
Proc Chave()
Moveto [Codigo da Conta]
Del
Locate VSD_CONTA_CAIXA, VSD_TPLANCTO
If RetVal
   Then While True
          If Not IsLockRecord() Then QuitLoop EndIf
        EndWhile
        Chave=0
        PARAM_OPCAO("Ler")
   Else Chave=1
        End Down
        [Codigo da Conta   ]=VSD_CONTA_CAIXA
        [Tipo do Lancamento]=VSD_TPLANCTO
EndIf
EndProc  ; (Chave)

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
Autolib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"
If Not IsAssigned(SYS_EMPRESA_DEFAULT) Then SYS_EMPRESA_DEFAULT="" EndIf
VSD_EMPRESA=SYS_EMPRESA_DEFAULT
If Not Checa_Supervisor()
   Then Return
EndIf

CoEdit NoWindow "Expbco"
INICIO_DIALOGO=True
Novo()

Showdialog "Configura‡„o de Parametros de Exporta‡„o p/ Banco" Proc "Param_Dialog"
   Trigger "OPEN","ARRIVE"
    Key "F1","TAB","ReverseTab","ENTER","ESC","F4","ClearArea","PGDN",-6,-147
     @ 02,1 height 18 width 77

   Label  @ 00,00 "Conta" for "I_CONTA_CAIXA"
   Accept @ 01,01 Width 07 "A4" picture "#*#" Tag "I_CONTA_CAIXA" to VSD_CONTA_CAIXA
   Label  @ 00,13 "Tp.Lancto" for "I_TPLANCTO"
   Accept @ 01,14 Width 07 "A4" picture "!*!" Tag "I_TPLANCTO" to VSD_TPLANCTO
   Label  @ 00,24 "Carteira" for "I_CARTEIRA"
   Accept @ 01,25 Width 09 "A6" picture "!*!" Tag "I_CARTEIRA" to VSD_CARTEIRA
   Label  @ 00,35 "Convenio" for "I_CONVENIO"
   Accept @ 01,36 Width 12 "A9" picture "#*#" Tag "I_CONVENIO" to VSD_CONVENIO
   Label  @ 00,49 "Sigla/C¢d Esp‚cie" for "I_SESPECIE"
   Accept @ 01,50 Width 06 "A3" picture "!*!" Tag "I_SESPECIE" to VSD_SESPECIE
   Label  @ 03,00 "[       ] Aceite" for "I_ACEITE"
   Accept @ 03,02 Width 07 "A1" picture "S,N" Tag "I_ACEITE" to VSD_ACEITE   
   Label  @ 03,38 "[       ] Banco" for "I_BANCO"
   Accept @ 03,40 Width 07 "A4" picture "!*!" Tag "I_BANCO" to VSD_BANCO   
   Label  @ 04,00 "[       ] Numero de Dias a Protestar" for "I_DPROTESTO"
   Accept @ 04,02 Width 07 "A2" picture "#*#" Tag "I_DPROTESTO" to VSD_DPROTESTO   
   Label  @ 04,38 "[       ] Agencia" for "I_AGENCIA"   
   Accept @ 04,40 Width 07 "A4" picture "!*!" Tag "I_AGENCIA" to VSD_AGENCIA   
   Label  @ 05,00 "[       ] Numero de Dias a Devolver" for "I_DDEVOLVER"
   Accept @ 05,02 Width 07 "A2" picture "#*#" Tag "I_DDEVOLVER" to VSD_DDEVOLVER   
   Label  @ 05,38 "[         ] Numero da Conta" for "I_NUMCONTA"
   Accept @ 05,40 Width 09 "A7" picture "!*!" Tag "I_NUMCONTA" to VSD_NUMCONTA  
   Label  @ 06,00 "[       ] Quem faz a Impress„o" for "I_IMPBANCO"
   Accept @ 06,02 Width 07 "A1" picture "1,2,3" Tag "I_IMPBANCO" to VSD_IMPBANCO     
   Label  @ 06,38 "[               ] P. Nosso Numero" for "I_NNUMERO"
   Accept @ 06,40 Width 15 "N"  Tag "I_NNUMERO" to VSD_NNUMERO    
   Label  @ 07,00 "[       ] Modalidade" for "I_MODALIDADE"
   Accept @ 07,02 Width 07 "A2" picture "#*#" Tag "I_MODALIDADE" to VSD_MODALIDADE
   Label  @ 07,38 "[       ] Juros de Mora" for "I_JUROSMORA"   
   Accept @ 07,40 Width 07 "A5" picture "!*!" Tag "I_JUROSMORA" to VSD_JUROSMORA   
   
   Label  @ 09,00 "[                                            ] Mensagem 1" for "I_MENSAGEM1"
   Accept @ 09,02 Width 44 "A40" picture "!*!" Tag "I_MENSAGEM1" to VSD_MENSAGEM1   
   Label  @ 10,00 "[                                            ] Mensagem 2" for "I_MENSAGEM2"
   Accept @ 10,02 Width 44 "A40" picture "!*!" Tag "I_MENSAGEM2" to VSD_MENSAGEM2  
   Label  @ 11,00 "[                                            ] Mensagem 3" for "I_MENSAGEM3"
   Accept @ 11,02 Width 44 "A40" picture "!*!" Tag "I_MENSAGEM3" to VSD_MENSAGEM3 
   Label  @ 12,00 "[                                            ] Mensagem 4" for "I_MENSAGEM4"
   Accept @ 12,02 Width 44 "A40" picture "!*!" Tag "I_MENSAGEM4" to VSD_MENSAGEM4   
   Label  @ 13,00 "[                                            ] Mensagem 5" for "I_MENSAGEM5"
   Accept @ 13,02 Width 44 "A40" picture "!*!" Tag "I_MENSAGEM5" to VSD_MENSAGEM5
   Label  @ 14,00 "[                                            ] Mensagem 6" for "I_MENSAGEM6"
   Accept @ 14,02 Width 44 "A40" picture "!*!" Tag "I_MENSAGEM6" to VSD_MENSAGEM6

Enddialog
Do_It!
ClearAll
Release Vars All
Release Procs All
