O Protheus controla, através de suas rotinas e processos, as entradas e saídas das contas bancárias. Desta forma, permite a inclusão de movimentações e também a transferência de valores entre os bancos.
A primeira fase de uma implantação de movimentação bancária está no cadastro das informações do banco onde sua empresa movimenta as contas. Podem ser cadastrados vários bancos.
Procedimento efetuado de forma manual via rotina Movimentos Bancários (FINA100), com exibição das telas envolvidas no processo e necessitando de ações/comandos do usuário
Procedimento realizado de forma automática na rotina de Movimentos Bancários (FINA100), sem exibição de telas ou necessidade de interação do usuário.
Utilizado em customizações onde o processo não necessita de interações do usuário (MSEXECAUTO)
#INCLUDE "Protheus.ch" User Function TST100() Local nOpc := 0 Local aFINA100 := {} Private lMsErroAuto := .F. While .T. nOpc := 0 nOpc := Aviso("TESTE EXECAUTO DO FINA100", "Escolha a opção do menu da rotina FINA100 a ser executada via EXECAUTO",{"PAGAR","RECEBER","EXCLUIR","CANCELAR","TRANSF.","EST. TRANSF."}) If nOpc == 1 aFINA100 := { {"E5_DATA" ,dDataBase ,Nil},; {"E5_MOEDA" ,"M1" ,Nil},; {"E5_VALOR" ,500 ,Nil},; {"E5_NATUREZ" ,"001" ,Nil},; {"E5_BANCO" ,"001" ,Nil},; {"E5_AGENCIA" ,"001" ,Nil},; {"E5_CONTA" ,"001" ,Nil},; {"E5_BENEF" ,"TESTE AUTO - BENEF" ,Nil},; {"E5_HISTOR" ,"TESTE AUTO - AUTO" ,Nil}} MSExecAuto({|x,y,z| FinA100(x,y,z)},0,aFINA100,3) If lMsErroAuto MostraErro() Else MsgAlert("Movto. Bancario Pagar incluido com sucesso !!!") EndIf ElseIf nOpc == 2 aFINA100 := { {"E5_DATA" ,dDataBase ,Nil},; {"E5_MOEDA" ,"M1" ,Nil},; {"E5_VALOR" ,1500 ,Nil},; {"E5_NATUREZ" ,"001" ,Nil},; {"E5_BANCO" ,"001" ,Nil},; {"E5_AGENCIA" ,"001" ,Nil},; {"E5_CONTA" ,"001" ,Nil},; {"E5_HISTOR" ,"TESTE AUTO - AUTO" ,Nil}} MSExecAuto({|x,y,z| FinA100(x,y,z)},0,aFINA100,4) If lMsErroAuto MostraErro() Else MsgAlert("Movto. Bancario Receber incluido com sucesso !!!") EndIf ElseIf nOpc == 3 dbSelectArea("SE5") SE5->(dbSetOrder(1)) SE5->(dbSeek(xFilial("SE5")+DToS(dDataBase) )) aFINA100 := { {"E5_DATA" ,SE5->E5_DATA ,Nil},; {"E5_MOEDA" ,SE5->E5_MOEDA ,Nil},; {"E5_VALOR" ,SE5->E5_VALOR ,Nil},; {"E5_NATUREZ" ,SE5->E5_NATUREZ ,Nil},; {"E5_BANCO" ,SE5->E5_BANCO ,Nil},; {"E5_AGENCIA" ,SE5->E5_AGENCIA ,Nil},; {"E5_CONTA" ,SE5->E5_CONTA ,Nil},; {"E5_HISTOR" ,SE5->E5_HISTOR ,Nil},; {"E5_TIPOLAN" ,SE5->E5_TIPOLAN ,Nil} } MSExecAuto({|x,y,z| FinA100(x,y,z)},0,aFINA100,5) If lMsErroAuto MostraErro() Else MsgAlert("Exclusão realizada com sucesso !!!") EndIf ElseIf nOpc == 4 dbSelectArea("SE5") SE5->(dbSetOrder(1)) SE5->(dbSeek(xFilial("SE5")+DToS(dDataBase) )) dbSkip() //colocado apenas para esta sequencia de testes aFINA100 := { {"E5_DATA" ,SE5->E5_DATA ,Nil},; {"E5_MOEDA" ,SE5->E5_MOEDA ,Nil},; {"E5_VALOR" ,SE5->E5_VALOR ,Nil},; {"E5_NATUREZ" ,SE5->E5_NATUREZ ,Nil},; {"E5_BANCO" ,SE5->E5_BANCO ,Nil},; {"E5_AGENCIA" ,SE5->E5_AGENCIA ,Nil},; {"E5_CONTA" ,SE5->E5_CONTA ,Nil},; {"E5_HISTOR" ,SE5->E5_HISTOR ,Nil},; {"E5_TIPOLAN" ,SE5->E5_TIPOLAN ,Nil} } MSExecAuto({|x,y,z| FinA100(x,y,z)},0,aFINA100,6) If lMsErroAuto MostraErro() Else MsgAlert("Cancelamento realizada com sucesso !!!") EndIf ElseIf nOpc == 5 aFINA100 := { {"CBCOORIG" ,"001" ,Nil},; {"CAGENORIG" ,"001" ,Nil},; {"CCTAORIG" ,"001" ,Nil},; {"CNATURORI" ,"001" ,Nil},; {"CBCODEST" ,"002" ,Nil},; {"CAGENDEST" ,"002" ,Nil},; {"CCTADEST" ,"002" ,Nil},; {"CNATURDES" ,"002" ,Nil},; {"CTIPOTRAN" ,"CH" ,Nil},; {"CDOCTRAN" ,"123456" ,Nil},; {"NVALORTRAN" ,2500 ,Nil},; {"CHIST100" ,"TESTE TRF VIA EXECAUTO" ,Nil},; {"CBENEF100" ,"TESTE TRF VIA EXECAUTO" ,Nil} } MSExecAuto({|x,y,z| FinA100(x,y,z)},0,aFINA100,7) If lMsErroAuto MostraErro() Else MsgAlert("Transferência executada com sucesso !!!") EndIf //Estorno da Transferencia ElseIf nOpc == 6 aFINA100 := { {"AUTNRODOC" ,"123456" ,Nil},; {"AUTDTMOV" ,dDataBase ,Nil},; {"AUTBANCO" ,"001" ,Nil},; {"AUTAGENCIA" ,"001" ,Nil},; {"AUTCONTA" ,"001" ,Nil} } MSExecAuto({|x,y,z| FinA100(x,y,z)},0,aFINA100,8) If lMsErroAuto MostraErro() Else MsgAlert("Transferência cancelada com sucesso !!!") EndIf EndIf If nOpc == 0 Exit Endif Enddo Return(Nil) |
Esta opção permite incluir um valor a pagar na movimentação bancária.
Esta opção permite a inclusão de valores a receber na movimentação bancária.
Esta opção permite visualizar o movimento bancário cadastrado, tanto a pagar como a receber
Apresenta consulta com o lançamento contábil do movimento, caso o mesmo já tenha sido contabilizado.
Apresenta quadro das legendas e seus significados referenciados a situação do movimento
Esta operação permite excluir o movimento bancário tanto pagar quanto receber, deletando o registro no banco de dados
Esta operação efetua a contrapartida do movimento, ou seja estornar o valor que eu recebi ou paguei.
Esta operação permite visualizar o rateio contábil aplicado sobre o movimento bancário.
Pesquisa o movimento dentro do arquivo de movimentos bancários, tendo como resultado o movimento posicionado e destacado na browse.
Executa duas movimentações bancárias em uma única operação: saída da conta origem e entrada na conta destino.
Estorna a transferência realizada, voltando os valores para suas contas de origem
Esta opção permite a contabilização da movimentação bancária efetivada.
Lista de parâmetros aplicados ao FINA100 e seu processamento
|
A Movimentação Bancária é utilizada para efetuar lançamentos entre contas alimentando seu saldo na tabela SE8 - Saldos bancários e registrando seus movimentos na tabela SE5 - Movimentação bancaria .Sua característica básica é a não geração de receitas e despesas para a empresa, controlando somente entradas e saídas de valores entre contas.
<!-- esconder o menu --> <style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |