Árvore de páginas

Versões comparadas

Chave

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

01.

...

02. SITUAÇÃO/REQUISITO

Na inclusão de movimentos Pagar e Receber é possível  alterar a pergunta Contabiliza On Line? (NCTBONLINE).

No processo de transferência é possível controlar as perguntas Contabiliza On Line ? (NCTBONLINE) e Aglut Lancamentos ? (NAGLUTINA).

Demais perguntas vão ser respeitadas de acordo com o profile do usuário.

...

VISÃO GERAL

Essa documentação contem detalhes para realizar execuções automáticas (MsExecAuto) de movimentações bancárias, através da rotina FINA100.

Essa funcionalidade possibilita automatizar o processo de movimentação bancária de entrada, saída ou transferência entre contas.

02. PARÂMETROS DA MSEXECAUTO

Devem ser passados 3 parâmetros na chamada da MsExecAuto da rotina FINA100, sendo eles:

1º parâmetro: Passar o conteúdo "0" (zero) para execuções automáticas;

2º parâmetro: Array contendo as informações para preenchimento dos campos para realizar a operação desejada. Dependendo da operação o array terá características diferentes, portanto consulte a sessão "Exemplos de utilização" para mais informações.

3º parâmetro: Opção a ser executada via rotina automática (se será uma movimentação a pagar, transferência, estorno, etc.). Seguem as opções disponíveis:

CódigoDescrição
3Movimentação Bancária a Pagar (saída)
4Movimentação Bancária a Receber (entrada)
5Excluir Movimentação Bancária
6Cancelar Movimentação Bancária 
7Transferência entre contas ou caixas
8Estorno de Transferências
9Classificação
Dica
titlePerguntas da rotina (botão F12)

Em relação a manipulação das perguntas da rotina Movimentação Bancária (tabela SX1) via execução automática, algumas delas estarão disponíveis no array do 2º parâmetro, que são:

  • Na inclusão de Movimentos a Pagar e Movimentos a Receber é possível  alterar a pergunta "Contabiliza On Line?", passando no array o identificador NCTBONLINE com o conteúdo 1 (Sim) ou 2 (Não);
  • Na Transferência Bancária é possível controlar a pergunta "Contabiliza On Line ?", passando no array o identificador NCTBONLINE com o conteúdo 1 (Sim) ou 2 (Não);
  • Também na Transferência Bancária é possível controlar a pergunta "Aglut Lancamentos ?", passando no array o identificador NAGLUTINA com o conteúdo 1 (Sim) ou 2 (Não);

Para as demais perguntas serão respeitados os conteúdos salvos no perfil do usuário utilizado para realizar a execução automatica.


03. EXEMPLO DE UTILIZAÇÃO

Exemplos de como efetuar as operações da rotina FINA100:


Bloco de código
languagejava
themeMidnight
titleExemplo de rotina automatica
#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.","SAIR"})
    
	//PAGAR
    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_VENCTO"      ,dDataBase                ,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       
    
	//RECEBER   
    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_VENCTO"     ,dDataBase                 ,Nil},;
						 {"E5_BENEF"      ,"TESTE AUTO - BENEF"      ,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       

	//EXCLUIR     
    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       

	//CANCELAR
    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       

    //TRANSFERENCIA BANCARIA
    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
							{"DDATACRED"         ,CTOD("25/09/20")     		,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 .OR. nOpc == 7
        Exit
    Endif
Enddo
    
Return(Nil)



04. DEMAIS INFORMAÇÕES

Não há.

05. ASSUNTOS RELACIONADOS

Documento de referencia FINA100

...