Histórico da Página
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ódigo | Descrição |
---|---|
3 | Movimentação Bancária a Pagar (saída) |
4 | Movimentação Bancária a Receber (entrada) |
5 | Excluir Movimentação Bancária |
6 | Cancelar Movimentação Bancária |
7 | Transferência entre contas ou caixas |
8 | Estorno de Transferências |
9 | Classificação |
Dica | ||
---|---|---|
| ||
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:
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 | ||||||
---|---|---|---|---|---|---|
| ||||||
#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
...