Histórico da Página
...
Produto: | Protheus |
Versões: | 12.1.17 e superiores |
Ocorrência: | Seguem exemplos de ExecAuto da rotina Contas a Receber (FINA040) para inclusão de recebimento antecipado. |
Ambiente: | Financeiro |
Observações: | Nos exemplos abaixo, demonstraremos como informar corretamente os campos necessários para inclusão de títulos a receber do tipo Recebimento Antecipado (RA). Os campos de Banco, Agência e Conta devem ser informados obrigatoriamente pelos rótulos CBCOAUTO, CAGEAUTO e CCTAAUTO, presentes no array utilizado na chamada da Execauto. Se essas variáveis não estiverem presentes no array, o título será incluído e não será gerado o movimento bancário do recebimento do mesmo. Se forem informadas vazias ou com conteúdos que não existem na tabela de cadastro de bancos (SA6), o título será invalidado e não será incluído no sistema. |
Exemplos: | /* Exemplo 01: Forma correta para informar os campos para Inclusão de um título de tipo RA que gera movimentação bancária.*/ #INCLUDE "PROTHEUS.CH" #INCLUDE "TBICONN.CH" User Function FIN040INC() LOCAL aArray := {} PRIVATE lMsErroAuto := .F. PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FIN" TABLES "SE1","SE5","SA1","SA2" Conout("----Inicio da Rotina Automatica!------") aArray := { { "E1_PREFIXO" , "AUT" , NIL },; { "E1_NUM" , "000004" , NIL },; { "E1_TIPO" , "RA" , NIL },; { "E1_NATUREZ" , "000001" , NIL },; { "E1_CLIENTE" , "000001" , NIL },; { "E1_LOJA" , "01" , NIL },; { "E1_EMISSAO" , CtoD("06/07/2018"), NIL },; { "E1_VENCTO" , CtoD("06/07/2018"), NIL },; { "E1_VENCREA" , CtoD("06/07/2018"), NIL },; { "CBCOAUTO" , "CX1" , NIL },; { "CAGEAUTO" , "00001" , NIL },; { "CCTAAUTO" , "000001" , NIL },; { "E1_VALOR" , 600 , NIL }} MsExecAuto( { |x,y| FINA040(x,y)} , aArray, 3) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão If lMsErroAuto MostraErro() Else Conout("Título incluído com sucesso!") Endif RESET ENVIRONMENT Return /* Exemplo 0302: Forma incorreta para informar os campos para Inclusão de um título de tipo RA que invalidará a inclusão do título.*/ #INCLUDE "PROTHEUS.CH" #INCLUDE "TBICONN.CH" User Function FIN040INC() LOCAL aArray := {} PRIVATE lMsErroAuto := .F. PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01" MODULO "FIN" TABLES "SE1","SE5","SA1","SA2" Conout("----Inicio da Rotina Automatica!------") aArray := { { "E1_PREFIXO" , "AUT" , NIL },; { "E1_NUM" , "000006" , NIL },; { "E1_TIPO" , "RA" , NIL },; { "E1_NATUREZ" , "000001" , NIL },; { "E1_CLIENTE" , "000001" , NIL },; { "E1_LOJA" , "01" , NIL },; { "E1_EMISSAO" , CtoD("06/07/2018"), NIL },; { "E1_VENCTO" , CtoD("06/07/2018"), NIL },; { "E1_VENCREA" , CtoD("06/07/2018"), NIL },; { "CBCOAUTO" , "" , NIL },; { "CAGEAUTO" , "" , NIL },; { "CCTAAUTO" , "" , NIL },; { "E1_VALOR" , 600 , NIL }} MsExecAuto( { |x,y| FINA040(x,y)} , aArray, 3) // 3 - Inclusao, 4 - Alteração, 5 - Exclusão If lMsErroAuto MostraErro() Else Conout("Título incluído com sucesso!") Endif RESET ENVIRONMENT Return |
Resultados de inconsistências: | Se for passado um cadastro de banco inexistente: Se forem passados os campos de banco/agência e conta vazios: Se forem utilizados os campos E1_PORTADO, E1_AGEDEP e E1_CONTA vazios ou que não exista cadastro na tabela SA6: |