Árvore de páginas

EECPS400 - Execução Automática de Registro de Pedido de Venda

Produto:

Easy Siscoserv - SIGAESS

Versões:

P11 e P12.1.7

Ocorrência:

Execução Automática de Registro de Pedido de Venda 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_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 do processo de venda, é necessário executar via código ADVPL a função EECPS400 de forma automática. Exemplo:

MSExecAuto({|a,b,c,d| EECPS400(a,b,c,d)}, aCab, aItens, aAnexos, nOpc)

Onde os parâmetros:

aCab (CAPA) - Variavel do tipo Array com os dados do cabeçalho do processo de venda de serviço
aItens (ITENS) - Variavel do tipo Array com os dados dos itens do processo de venda de serviço
aAnexos (ANEXOS) - Variavel do tipo Array com os dados relacionados à importação de bens (Documentos) do processo de venda de serviço 
nOpc (OPERAÇÃO) - Variavel do tipo Numerico responsavel por definir qual operação executar (Inclusão, Alteração, Exclusão). 

 

Os campos de Capa para geração do Pedido de Venda são listados abaixo:

Título

Campo

Tipo

Tam.

Dec.

Obrigatório

Observação

 Filial

EJW_FILIAL

Caracter

2

0

Sim

Filial do Sistema (xFilial)

Processo

EJW_PROCES

Caracter

15

0

Sim

É o identificador do processo no sistema. A chave única é Filial e Pedido.

Sistema de Origem

EJW_ORIGEM

Caracter

10

0

Sim

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

Data do Processo   

EJW_DTPROC

Data

8

0

Não

Inicializado com a database.

Exportador

EJW_EXPORT

Caracter

6

0

Sim

Código válido do cadastro de fornecedores (SA2)

Loja Exportador

EJW_LOJEXP

Caracter

2

0

Sim

Código válido do cadastro de fornecedores (SA2)

Moeda

EJW_MOEDA

Caracter

3

0

Sim

Código válido do cadastro de moedas (SYF) ou código de moeda Protheus (1,2,3,4,5,etc)

Condição de Pagamento

EJW_CONDPG

Caracter

3

0

Não

Código válido do cadastro de condição de pagamento (SE4). Não é necessário caso as invoices (faturas) sejam integradas.

Dados complementares

EJW_COMPL

Memo

60

0

Não

Texto livre para informações complementares e referencias para consulta ao processo.

 

Os campos dos Itens para geração do Pedido de Venda são listados abaixo:

Título

Campo

Tipo

Tam.

Dec.

Obrigatório

Observação

Filial

EJX_FILIAL

Caracter

2

0

Sim

Filial do Sistema (xFilial)

Pedido

EJX_PROCES

Caracter

15

0

Sim

Mesmo que da capa (EJW)

Sequencia Processo

EJX_SEQPRC

Caracter

4

0

Sim

Numero do item no processo. Podem ser inclusos até 99 itens no processo sem aumentar o tamanho deste campo.

Código do produto

EJX_ITEM

Caracter

15

0

Sim

Código válido do cadastro de produtos (SB1). Necessário para associação ao NBS.

Código NBS

EJX_NBS

Caracter

9

0

Não

Caso não seja informada, será considerada a relacionada ao produto. Caso não haja relacionamento no produto, o item será desconsiderado.

Código do Pais da prestação do serviço

EJX_PAIS

Caracter

3

0

Não

Código válido do cadastro de países (SYA). País onde ocorreu a prestação do serviço. Obrigatório para geração automática do RAS.

Modo de Prestação

EJX_MODO

Caracter

1

0

Não

1=Transfronteiriço; 2=Consumo no Brasil; 4=Movimento Temporário de Pessoas Físicas. Obrigatório para geração automática do RAS.

Data de Previsão de Inicio

EJX_DTPRIN

Data

8

0

Não

Caso o processo o seja incluso com serviços que ainda não iniciaram, indicar uma previsão de inicio.

Data de Previsão de Conclusão

EJX_DTPRFI

Data

8

0

Não

Enquanto o serviço não for concluído, enviar apenas uma previsão para envio ao Siscoserv. Caso nenhuma previsão seja indicada, será enviado ao Siscoserv o ultimo dia do ano corrente.

Data de Efetiva de Inicio

EJX_DTINI

Data

8

0

Não

Não será registrado no Siscoserv enquanto o serviço não possuir inicio efetivo. Obrigatório para geração automática do RAS.

Data de Efetiva de Conclusão

EJX_DTFIM

Data

8

0

Não

Data em que a prestação do serviço foi concluída.

Quantidade

EJX_QTDE

Numerico

9

2

Sim

Quantidade da prestação do serviço. Caso não seja mensurada, enviar 1 e o valor total no preço unitário.

Preço Unitário

EJX_PRCUN

Numerico

11

2

Sim

Preço por unidade. Caso não seja mensurado, enviar o valor total e 1 na quantidade.

Taxa Moeda

EJX_TX_MOE

Numerico

15

8

Não

Cotação da moeda para conversão do valor para reais. É utilizada para referência nas consultas do sistema.

Dados complementares

EJX_COMPL

Memo

60

0

Não

Texto livre para informações complementares e referencias para consulta para este item do pedido.

 

Os campos dos Anexos para geração do Pedido de Venda  são listados abaixo:

Título

Campo

Tipo

Tam.

Dec.

Obrigatório

Observação

Filial

EL2_FILIAL

Caracter

2

0

Sim

Filial do Sistema (xFilial)

Pedido

EL2_PROCES

Caracter

15

0

Sim

Mesmo que da capa (EJW)

Numero da DI

EL2_DI

Caracter

15

0

Sim

Numero da DI. Inserir apenas números. Não colocar espaço, barra ou o traço. Somente utilizar este campo quando o parametro MV_ESS0027 = 10.

Numero do RE

EL2_RE

Caracter

12

0

Sim

Numero do RE. Inserir apenas números. Não colocar espaço, barra ou o traço.

Sequencia do ProdutoEL2_SEQPRCCaracter40SimNumero do item no processo. Podem ser inclusos até 9999 itens no processo sem aumentar o tamanho deste campo. Somente utilizar este campo quando o parametro MV_ESS0027 = 10.
Sequencia do DocumentoEL2_SEQDOCCaracter20SimNumero do Documento do Processo. Podem ser inclusos até 99 documentos no processo sem aumentar o tamanho deste campo.

 

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 Pedido de Venda via ExecAuto

*------------------------------------------*
User Function ExecPedAquis()
*------------------------------------------*
Local aCab := {}, aItem := {}, aItens := {}, aAnexo := {}, aAnexos := {}
Local nOpc := 3
Private lMsErroAuto := .F.

/******* Montagem dos Arrays *******/
// CAPA (aCab)
aAdd(aCab, {"EJW_FILIAL" , xFilial("EJW") , NIL})
aAdd(aCab, {"EJW_PROCES" , GetSXENum("EJW", "EJW_PROCES") , NIL})
aAdd(aCab, {"EJW_ORIGEM" , "EXECAUTO" , NIL})
aAdd(aCab, {"EJW_DTPROC" , dDataBase , NIL})
aAdd(aCab, {"EJW_IMPORT" , "EXP01" , NIL})
aAdd(aCab, {"EJW_LOJIMP" , "01" , NIL})
aAdd(aCab, {"EJW_MOEDA" , "US$" , NIL})
aAdd(aCab, {"EJW_CONDPG" , "1" , NIL})
aAdd(aCab, {"EJW_COMPL" , "Geração via ExecAuto" , NIL})

// ITENS (aItens)
aAdd(aItem, {"EJX_FILIAL" , xFilial("EJW") , NIL})
aAdd(aItem, {"EJX_PROCES" , aCab[2][2] , NIL})
aAdd(aItem, {"EJX_SEQPRC" , "0001" , NIL})
aAdd(aItem, {"EJX_ITEM" , "PRD-01" , NIL})
aAdd(aItem, {"EJX_NBS" , "101011000" , NIL})
aAdd(aItem, {"EJX_PAIS" , "249" , NIL})
aAdd(aItem, {"EJX_MODO" , "1" , NIL})
aAdd(aItem, {"EJX_DTPRIN" , CTOD("01/01/2016") , NIL})
aAdd(aItem, {"EJX_DTPRFI" , CTOD("31/12/2016") , NIL})
aAdd(aItem, {"EJX_DTINI" , CTOD("01/01/2016") , NIL})
aAdd(aItem, {"EJX_QTDE" , 40 , NIL})
aAdd(aItem, {"EJX_PRCUN" , 30.00 , NIL})
aAdd(aItem, {"EJX_TX_MOE" , 2.49 , NIL})
aAdd(aItem, {"EJX_COMPL" , "Geração via ExecAuto" , NIL})
aAdd(aItens,aItem) 

// ANEXOS (aAnexos)
aAdd(aAnexo, {"EL2_FILIAL" , xFilial("EJW") , NIL})
aAdd(aAnexo, {"EL2_PROCES" , aCab[2][2] , NIL})
aAdd(aAnexo, {"EL2_RE" , "16012645212" , NIL})
aAdd(aAnexo, {"EL2_SEQDOC" , "01" , NIL})
aAdd(aAnexo, {"EL2_SEQPRC" , "0001" , NIL})
aAdd(aAnexos,aAnexo) 

/******* Execução do ExecAuto *******/
MSExecAuto({|a,b,c,d| EECPS400(a,b,c,d)}, aCab, aItens, aAnexos, nOpc)

/******* 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.