Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Utilizado em customizações onde o processo não necessita de interações do usuário (MSEXECAUTO).

Documentação: Inclusão de movimentos bancários automático - FINA100


Aviso
titleImportante

Por se tratar de um controle interno, o campo "Tipo de Movimentação" (E5_TIPODOC), tem as seguintes características:

  • Na execução manual, não será permitido colocar em uso;
  • Na execução automática, mesmo que esse campo seja enviado, o sistema não irá considerá-lo.

A partir de 04/11/2020, esse campo passou a ser gravado com "DH".

Informações
titleNota

Caso o movimento possua uma natureza contendo um CST de crédito (ED_CSTPIS ou ED_CSTCOF) e não possua o campo E5_CLIFOR preenchido a rotina exibirá um alerta dizendo para escolher outra natureza ou preencher o campo E5_CLIFOR.

Para que não seja validado o CST de crédito, há o ponto de entrada FA100NAT Não valida CST de Credito.

Bloco de código
languagejava
themeMidnight
titleExemplo de rotina automática
collapsetrue
#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},;
                            {"NCTBONLINE"       ,1                    ,Nil}} //1=Sim;2=Não
    
        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},}
							{"NCTBONLINE"       ,1                    ,Nil}} //1=Sim;2=Não
    
        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},;
                            {"NAGLUTINA"        ,2                    ,Nil},; //1=Sim;2=Não
                            {"NCTBONLINE"       ,1                    ,Nil}; //1=Sim;2=Não
                    }
    
        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

  • Pagar

Esta opção permite incluir um valor a pagar na movimentação bancária.

...

Dica
titleData contabilização Online
  • Para contabilização online pela data do movimento (E5_DATA) utilizar o parâmetro MV_DTCNMOV disponível a partir de  

Para mais informações acessar o link abaixo:
Utilização do parâmetro MV_DTCNMOV

08. PONTOS DE ENTRADA

Ponto de entradaDescrição 
F100BROW

O ponto de entrada será executado antes do browse da movimentação bancaria.

Documentação: F100BROW - Movimentação bancária -- 11684

FA100PAG

O ponto de entrada sera utilizado apos gravação dos dados e da contabilização de contas a pagar na movimentação bancaria.

Documentação: http://tdn.totvs.com.br/display/public/mp/FA100PAG+-+Grava+dados+--+11930

FA100REC

O ponto de entrada sera utilizado apos a gravação dos dados e da contabilização de contas a receber na movimentação bancária.

Documentação: http://tdn.totvs.com.br/display/public/mp/FA100REC+-+Grava+dados+--+11931

FINATROCexecutado após a gravação de todos os dados da movimentação a receber e da contabilização. Utilizado somente pelo ambiente SIGALOJA. Documentação: FINATROC - Gravação de dados da movimentação a receber -- 12069
FA100VLD

permite ao usuário criar validações quanto ao acesso para exclusão e cancelamento de movimento bancário.

Documentação: FA100VLD - Validação de exclusão e cancelamento -- 24109

FA100CA2

executado após a confirmação da Exclusão da Movimentação Bancária, antes de efetuar a exclusão e a contabilização.

 Documentação: FA100CA2 - Cancela movimentação bancária -- 11924
FA100CAN

O ponto de entrada sera utilizado apos a exclusão da movimentação bancária e antes da contabilização.

Documentação: FA100CAN - Cancela movimento bancário -- 11925
FA100Get

permite ao cliente preencher automaticamente os dados da tela de transferência bancária.

Documentação: FA100GET - Preenchimento da tela de Transferência Bancária -- 109531
FA100TRF

executado antes da transferência e retornara .T. para gravar a transferência ou .F. em caso contrário.

Documentação: FA100TRF - Grava transferência
F100DOC

utilizado para alterar o numero do cheque no momento da transferência entre bancos e agencias.

Documentação: F100DOC - Alteração de número do cheque -- 11685
A100BL01

executado apos a gravação dos dados da transferência bancaria.

Documentação: A100BL01 - Gravação de dados -- 11548
FA100DOC

sera utilizado para manipular a variavel cDocTran. Retorno: valor que deverá conter em cDocTran. Parâmetros: cBcoOrig, cAgenOrig,cCtaOrig,cTipoTran

Documentação: FA100DOC - Manipula variável -- 11926

A100TR01

utilizado na gravação de transferência do movimento bancário.

Documentação: http://tdn.totvs.com.br/display/public/mp/A100TR01+-+Transferencia+de+movimento+bancario+--+11549
A100TRA

O ponto de entrada A100TRA complementa o ponto de entrada A100TR01. Esse ponto de entrada recebe um array de parâmetros com o seguinte conteúdo: lEstorno, cBcoOrig, cBcoDest, cAgenOrig, cAgenDest, cCtaOrig, cCtaDest, cNaturOri, cNaturDes, cDocTran,cHist100.

Documentação: A100TRA - Movimentação bancária -- 11552
A100TR02

utilizado durante a gravação dos dados de transferência bancaria

Documentação: A100TR02 - Gravação de dados de transferencia bancária -- 11550
A100TRB

O ponto de entrada A100TRB complementa o ponto de entrada A100TR02.
Esse ponto de entrada recebe um array de parâmetros com o seguinte conteúdo: lEstorno, cBcoOrig,cBcoDest, cAgenOrig, cAgenDest,cCtaOrig,cCtaDest,cNaturOri,cNaturDes,cDocTran, cHist100.

Documentação: A100TRB - Gravação de transferência -- 11553

A100TR03

executado apos gravação dos dados da transferência bancaria. Apos gravar o SE5 de ambos bancos Origem / Destino, após a contabilização.

Documentação: A100TR03 - Gravação de dados de transferencia bancaria -- 11551
A100TRC

O ponto de entrada A100TRC complementa o ponto de entrada A100TR03.
Esse ponto de entrada recebe um array de parâmetros com o seguinte conteúdo: lEstorno, cBcoOrig, cBcoDest, cAgenOrig, cAgenDest, cCtaOrig, cCtaDest, cNaturOri, cNaturDes, cDocTran, cHist100.

Documentação: A100TRC - Gravação da transferência -- 11554
F100TOK

valida os dados da movimentação bancária.

Documentação: F100TOK - Validar dados da movimentação bancária -- 11688

FA100TRF

O ponto de entrada FA100TFR sera executado antes da transferência e retornara .T. para gravar a transferência ou .F. em caso contrário.

Documentação: FA100TRF - Grava transferência -- 11932

FA100ROT

Permite a inclusão de botões customizados na EnchoiceBar da rotina Movimento Bancário.

Documentação: FA100ROT - Inclusão de botões customizados na EnchoiceBar -- 30104

FA100OKP

utilizado para bloquear a inclusão de movimentos a pagar na rotina Movimentos Bancários. Se o retorno for verdadeiro, o movimento sera realizado normalmente, caso contrario não haverá inclusão do movimento. Retorno lógico.

Documentação: FA100OKP - Bloqueia inclusão de movimentos -- 11928

FA100OKR

utilizado para bloquear a inclusão de movimentos a receber na rotina Movimentos bancários. Caso o retorno seja verdadeiro o movimento é feito normalmente, caso contrario não se fará a inclusão do movimento. Retorno lógico.

Documentação: FA100OKR - Bloqueia inclusão de movimentos -- 11929

A85CHPDT

permite que o usuário possa fazer seu próprio tratamento para selecionar os cheques de terceiros que poderão ser utilizados no tipo de pagamento informado na opção pagamento diferenciado.

Documentação: A85CHPDT - Seleção de cheques de terceiros -- 11564

F100FBRW

O ponto de entrada será executado antes do browse da movimentação bancaria.

Documentação: F100FBRW - Permite filtrar as movimentações bancárias

FA100NAT

Ponto de entrada que permite não validar o CST na rotina FINA100.

Documentação: FA100NAT Não valida CST de Credito

...

Deck of Cards
idVeja mais
effectTypefade
Card
id1
labelVeja mais:
effectTypeslide



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