Árvore de páginas

EECAF500 - Execução Automática de Registro de Câmbio

Produto:

Easy Siscoserv - SIGAESS

Versões:

P11 e P12.1.7

Ocorrência:

Execução Automática de Registro de Câmbio via ExecAuto

Passo a passo:

Vide abaixo.

 

Para utilizar a integração, é necessário que o módulo Easy Siscoserv esteja implantado. Para verificar se o ambiente possui a atualização e configuração necessária, é possível utilizar a função ADVPL AvFlags, conforme abaixo:

AvFlags(“CONTROLE_SERVICOS_AQUISICAO”) para Processos de Aquisição.

AvFlags(“CONTROLE_SERVICOS_VENDA”) para Processos de Venda.

Essa função irá retornar o valor verdadeiro (.T.) caso o módulo Easy Siscoserv (SIGAESS) esteja instalado e devidamente configurado para receber tais integrações, caso contrario, retorna o valor falso (.F.)

 

Para integração de Câmbios, é necessário executar via código ADVPL a função EECAF500 de forma automática. Exemplo:

MSExecAuto({|a,b,c,d,e,f| EECAF500(a,b,c,d,e,f)}, cAlias, nReg, nOpc, aEEQAuto, nOpcAuto, cTipo)

Onde os parâmetros:

cAlias - Tabela da capa de Câmbio. Deve vir com conteudo fixo "EEQ".
nReg - Recno da tabela: não obrigatório
nOpc - Número da operação: não obrigatório
aEEQAuto (REGISTROS) - Variavel do tipo Array com os dados de cambio
nOpcAuto (OPERAÇÃO) - Variavel do tipo Numerico responsavel por definir qual operação executar (Inclusão, Alteração, Exclusão). 
cTipo - Variável do tipo Caractere que identifica o tipo de integração. Deve vir com conteúdo fixo "A" quando Aquisição, ou "V" quando Venda. 

Importante ressaltar que os câmbios sempre são vinculados a uma ou mais Invoices. Desta maneira, não é possível criar parcelas de câmbio sem antes possuir uma invoice para vincula-las.

Os campos para geração de Câmbio são listados abaixo:

Título

Campo

Tipo

Tam.

Dec.

Obrigatório

Observação

Filial

EEQ_FILIAL

Caracter

2

0

Sim

Filial do Sistema (xFilial)

Tipo

EEQ_TPPROC

Caracter

1

0

Sim

Tipo de Processo. Fixar "A" para Aquisição ou "V" para Venda.

Processo

EEQ_PREEMB

Caracter

20

0

Sim

Concatenação dos campos ELA_TPPROC e ELA_PROCES. (Exemplo: V0001)

Evento

EEQ_EVENT

Caracter

3

0

Sim

Informar código do cadastro de eventos para tipo “SISCSV”. Padrão "001" para parcela de invoice de Aquisição e "501" para parcela de invoice de Venda.

FornecedorEEQ_FORNCaracter60SimCódigo válido do cadastro de fornecedores (SA2). Este campo deve ser utilizado apenas para Invoices e Pedidos de Aquisição.
Loja FornecedorEEQ_FOLOJACaracter20SimCódigo válido do cadastro de fornecedores (SA2). Este campo deve ser utilizado apenas para Invoices e Pedidos de Aquisição.

Importador

EEQ_IMPORT

Caracter

6

0

Sim

Código válido do cadastro de clientes (SA1). Este campo deve ser utilizado apenas para Invoices e Pedidos de Venda.

Loja Importador

EEQ_IMLOJA

Caracter

2

0

Sim

Código válido do cadastro de clientes (SA1). Este campo deve ser utilizado apenas para Invoices e Pedidos de Venda.

Processo

EEQ_PROCES

Caracter

15

0

Sim

Processo de Venda de Serviço

Invoice

EEQ_NRINVO

Caracter

20

0

Sim

Informar o numero da invoice (fatura) a receber.

Nro. Parcela

EEQ_PARC

Caracter

2

0

Sim

Número da Parcela para condições  parceladas. Limite de 99 parcelas.

Sistema de Origem

EEQ_SOURCE

Caracter

10

0

Sim

Módulo de Origem (SIGACOM/SIGAFAT/EXECAUTO/etc.)

Data Vencto.

EEQ_VCT

Data

8

0

Sim

Data de Vencimento da parcela.

Moeda

EEQ_MOEDA

Caracter

3

0

Sim

Deve ser a mesma moeda da invoice.

Vl.da Parc.

EEQ_VL

Numerico

15

2

Sim

Informar valor da parcela na moeda da invoice.

Vl. SiscoservEEQ_VLSISCNumerico152SimInformar valor da parcela na moeda da invoice.

Modalidade de pagamento

EEQ_MODAL

Caracter

1

0

Não

Informar “1” para baixa por contrato de câmbio ou “2” para baixa por recebimento no exterior.

Data do Crédito no Exterior

EEQ_DTCE

Data

8

0

Não

Data do crédito no exterior. Obrigatória para a baixa da parcela.

Banco no exterior

EEQ_BCOEXT

Caracter

3

0

Não

Banco para baixa por recebimento no exterior.

Agencia no exterior

EEQ_AGCEXT

Caracter

5

0

Não

Agência para baixa por recebimento no exterior.

Conta no exterior

EEQ_CNTEXT

Caracter

10

0

Não

Conta para baixa por recebimento no exterior.

Banco

EEQ_BANC

Caracter

3

0

Não

Banco da contratação do câmbio. Obrigatório para baixa por contratação de câmbio.

Agencia

EEQ_AGEN

Caracter

5

0

Não

Agência da contratação de câmbio. Obrigatório para baixa por contratação de câmbio.

Conta

EEQ_NCON

Caracter

10

0

Não

Conta da contratação de câmbio. Obrigatório para baixa por contratação de câmbio.

Solicitação de câmbio

EEQ_SOL

Data

8

0

Não

Obrigatório para baixa por contratação de câmbio.

Contrato de câmbio

EEQ_NROP

Caracter

20

0

Não

Obrigatório para baixa por contratação de câmbio.

Data Liquidação Contrato câmbio

EEQ_PGT

Data

8

0

Não

Obrigatório para baixa por contratação de câmbio.

Taxa contratação do câmbio

EEQ_TX

Numerico

15

6

Não

Obrigatório para baixa por contratação de câmbio.

Valor em R$

EEQ_EQVL

Numerico

16

2

Não

Obrigatório para baixa por contratação de câmbio.

 

A operação de execução é definida conforme abaixo:

Opção

Valor

Inclusão

3

Alteração

4

Exclusão

5

 

Exemplo de desenvolvimento:

Exemplo de Inclusão de Invoice via ExecAuto

*------------------------------------------*
User Function ExecCambAuto()
*------------------------------------------*
Local aEEQAuto := {}
Local nOpcAuto := 3
Private lMsErroAuto := .F.

/******* Montagem dos Arrays *******/
// REGISTROS (aEEQAuto)
aAdd(aEEQAuto, {"EEQ_FILIAL" , xFilial("EEQ") , NIL})
aAdd(aEEQAuto, {"EEQ_TPPROC" , "V" , NIL})
aAdd(aEEQAuto, {"EEQ_PREEMB" , "V0100" , NIL})
aAdd(aEEQAuto, {"EEQ_EVENT" , "501" , NIL})
aAdd(aEEQAuto, {"EEQ_IMPORT" , "01" , NIL})
aAdd(aEEQAuto, {"EEQ_IMLOJA" , "01" , NIL})
aAdd(aEEQAuto, {"EEQ_PROCES" , "0100" , NIL})
aAdd(aEEQAuto, {"EEQ_NRINVO" , "INV540" , NIL})
aAdd(aEEQAuto, {"EEQ_PARC" , "01" , NIL})
aAdd(aEEQAuto, {"EEQ_SOURCE" , "EXECAUTO" , NIL})
aAdd(aEEQAuto, {"EEQ_VCT" , CTOD("31/12/2016") , NIL})
aAdd(aEEQAuto, {"EEQ_VL" , 50.00 , NIL})
aAdd(aEEQAuto, {"EEQ_VLSISC" , 50.00 , NIL})
aAdd(aEEQAuto, {"EEQ_MODAL" , "1" , NIL})

/******* Execução do ExecAuto *******/
MSExecAuto({|a,b,c,d,e,f| EECAF500(a,b,c,d,e,f)}, "EEQ", NIL, NIL, aEEQAuto, nOpcAuto, "V")

/******* Tratamento de Erro *******/
If lMsErroAuto
MostraErro()
Else
MsgInfo("Registro manipulado com sucesso.")
EndIf

Return NIL

 

Exemplo de Resultado da operação

Exemplo de Resultado com erros.

Exemplo de Resultado com sucesso.