Árvore de páginas

Versões comparadas

Chave

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

...

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 CBCOAUTOCAGEAUTOCCTAAUTO, 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.*/
//Teste de inclusão

#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.*/
//Teste de inclusão

#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: