01. VISÃO GERAL

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.


02. EXECUÇÃO 

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)


03. OPERAÇÕES

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.

04. PARÂMETROS APLICADOS

Lista de parâmetros aplicados ao FINA100 e seu processamento


PerguntaDescrição
Aglut Lançamentos ?Informe a opção "SIM" para que os lançamentos contábeis gerados através dos movimentos sejam aglutinados em um único lançamento 
Mostra Lcto. Contab ?nforme a opção "SIM" para que os lançamentos contábeis gerados através dos movimentos sejam exibidos em tela, ou "NAO", caso contrario 
Contabiliza online ?Informe se "SIM" para que a contabilização dos lançamentos referentes aos movimentos realizados online, ou "NAO", caso contrario. 
Inf. Cta no rateio ?Selecione a opção "Sim" para que as contas referentes aos rateios sejam informadas, ou "Não", caso contrario.
PerguntaDescriçãoDefault
MV_FINLMCH

MV_CTBFLAGIndica se a marcação dos flags de contabilização das rotinas Off-Line será feita na transação do  lançamento contábil - SIGACTB.  .F.
MV_EXDTDSPPermite alteração da data de disponibilidade na integração via rotina automatica(FINA100).  .F.
MV_DTMOVREPermite a utilização de uma data menor(retroativa)que a database do sistema para inclusão de  movimentos bancarios  .F.
MV_USEFREControla o uso de Talonários ( Não existe em ambiente BRA ) .F.
MV_NUMLIQNumero sequencial de Liquidacoes. Quantidade maxima permitida de 6 caracteres.  000001
MV_LIBCHEQOpcao para liberacao de saldo bancario quando da geracao de cheques antes da baixa.  S
MV_CLIPADCliente padrao de cheques pre-datados000001
MV_ESTADOSigla do estado da empresa usuaria do Sistema, pa-ra efeito de calculo de ICMS (7, 12 ou 18%).  SP
MV_FORPADFornecedor padrao para cheque pre-datado999999
MV_DTMOVDRQuantidades de dias corridos que usuário poderá relação a data-base no momento da inclusão de uma movimentação bancária  30
MV_DIASCRDDetermina o número de dias a serem acrescidos a database do sistema para determinar a data de crédito de uma transferência bancaria (FINA100)  0
MV_MOEDA

MV_SIMBConfigura o  símbolo utilizado pela moeda 1 do sistema ( Não existe em ambiente BRA ) R$
MV_FATOUTTime out para selecção do registro pelo usuário (em segundos) Caso o usuário demore mais tempo a tela é fechada.  900
MV_MCONTABMódulo contábil utilizado pelo Advanced CTB = SIGACTB (Contabilidade Gerencial)  CON = SIGACON (Contabilidade)  CTB
MV_CXFINCaixa Geral FinanceiroCX1/00001/0000000001
MV_CARTEIRCodigos dos bancos que operam em carteira.
MV_CMC7FINIndica o uso ou nao de leitora CMC7 no Financeiro Conteudo : S = Utiliza CMC7 N = Nao Utiliza CMC7N
MV_BXDTFINNão permite data de baixa menor que o a data contida no parâmetro MV_DATAFIN (1=Permite, 2=Não Permite)  2
MV_DATAFINData limite p/ realização de operações financeiras19800101


05. REGRA FINANCEIRA

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.

06. PROCESSOS

07. CONTABILIDADE

LPFato GeradorOnOff (CTBAFIN)




































08. PONTOS DE ENTRADA

09. TABELAS RELACIONADAS



<!-- 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>