INTEGRAÇÃO LOGIX X GFE
Gestão de Frete Embarcador (SIGAGFE) é um aplicativo desenvolvido sobre a plataforma TOTVS.
Utiliza o framework de funcionalidades do Microsiga Protheus e tem como objetivos funcionais:
Os Cadastros e Processos que são sincronizados e integrados entre os sistemas, na direção do Logix para o SIGAGFE são:
Logix | SIGAGFE | |
---|---|---|
Cadastros | Fornecedores/Transportadores/Clientes | Emitentes |
Processos | ||
Os Processos realizados dentro do SIGAGFE e que tem informações enviadas aos módulos do Logix são:
SIGAGFE | Logix | |
---|---|---|
Processos | Documentos Fiscais | Documentos de Frete de Vendas |
Desenvolvida integração que tem por objetivo permitir aos clientes Logix (BackOffice) o uso do sistema especialista para Gestão de Frete Embarcador.
A arquitetura utlizada para a integração é a mensageria única/EAI2 na maioria das integrações e REST especificamente na integração do cálculo da simulação do frete pelo GFE no Faturamento Logix.
Envio de dados do Logix para o GFE
Para a sincronização de cadastros e movimentos originados no ERP são associados os Adapters da Mensagem Única nas interfaces do cadastro no ERP.
As principais ações (inclusão, alteração, eliminação) permitindo assim replicação para a base de dados do TOTVS SIGAGFE e ficando os cadastros iguais em ambos os lados.
Também é possível uma carga inicial de dados através de rotina que permite o envio de toda a massa de dados, ou através de filtros (FIN00000).
Recebimento de dados do GFE no Logix
Para a integração dos documentos registrados no TOTVS GFE para o ERP é utilizada uma rotina de execução contínua do próprio EAI2, essa rotina monitora a entrada de XMLs das mensagens únicas mapeadas para recebimento no ERP Logix.
O controle dos dados que estão aptos para integração é efetuado pelo Monitor de integração (EAI10000).
Cada Adapter utiliza as rotinas de negócio do Logix para processar os dados; ao final de cada processamento interage novamente com o TOTVS SIGAGFE para atribuir o retorno: Sucesso ou Erro.
Insira aqui as informações pertinentes ao Protheus.
Configuração das transações do EAI Logix:
Executar o programa EAI10000 (Monitor EAI)
Mensagem\Transação | Versão |
CustomerVendor | 2.000 |
Invoice | 3.011 |
Parâmetros Gerais(LOG00087)
Objetivo: Indica se a empresa trabalha com integração do Logix com o GFE (Gestão de frete embarcador).
OBS: Sim/Não (Alterar para S para habilitar a integração).
Objetivo: Indica se CT-e sobre NF de vendas será tratado pelo GFE(Gestão de Frete Embarcador) e depois integrado ao Logix.
OBS: Sim/Não (Alterar para S para habilitar a integração).
1- O grupo de despesa que veio na mensagem Invoice via integração;
2- Ou se o primeiro não tiver sido informado considera o grupo de despesa padrão para frete de venda. LOG00087: 'Grupo de despesa a ser utilizado nos fretes de venda incluídos pelo SUP0580, SUP9220 e SUP0552.(grp_desp_frete_venda).
OBS: Somente permite informar um grupo de despesa cadastrado no Logix.Objetivo: Indica se quando trabalhar com integração do Logix com o GFE permitirá incluir, alterar ou excluir um frete de vendas no Logix.
1 - Alerta (No sup0580 ao tentar incluir um conhecimento de nota de venda irá alertar que trabalha com integração com GFE e inclusão deveria ser
realizada no GFE. Ainda no sup0580, ao tentar modificar ou excluir um conhecimento de notas ficais de venda, alerta o usuário que o frete foi
integrado via GFE e a alteração ou exclusão deveria ser realizada no GFE).
2- Trava (No sup0580 ao tentar incluir um conhecimento de nota de venda irá bloquear a inclusão, avisando que existe a integração com GFE e
inclusão deve ser realizada no GFE. Ainda no sup0580, ao tentar modificar ou excluir um conhecimento de notas ficais de venda, bloqueia a transação,
e avisa ao usuário que o frete foi integrado via GFE e a alteração ou exclusão deverá ser realizada no GFE).
3- Permite Incluir Modificar ou Excluir Conhecimento( No sup0580 mesmo que esteja com a integração GFE ligada irá permitir incluir, modificar ou
excluir qualquer conhecimento de frete, sem exibir aviso em tela).
Objetivo: Indica se assume automaticamente os erros na consistência do frete, recebido via integração GFE.
OBS: Sim/Não (Alterar para S para habilitar a integração).
Relacionamento De/Para de Empresa/Filial:
Para que uma mensagem de integração possa ser recebida, é necessário informar o código da empresa e/ou filial do sistema de origem.
Quando uma mensagem é recebida pelo Logix, a partir da “Empresa Externa” e “Filial Externa” existentes na TOTVSMessage o sistema identificará qual é a “Empresa Logix” para atualização dos dados. Estas informações são registradas no LOG00083 (Cadastro de Empresas).
Nota: Para que estes campos possam ser informados é necessário ativar o parametro “Permite informar empresa/filial externa no cadastro de empresas?”, no LOG00087.
Totvs Colaboração
Como a recepção do frete de venda é realizada diretamente no GFE o mesmo é desviado da recepção via Totvs Colaboração no Suprimentos/Logix.
Para isso é feito um desvio, e são movidos os XMLs do frete de venda para o diretório parametrizado no LOG00087: "Diretório XML Frete/Venda quando empresa trabalha com integração GFE".
Posteriormente o Gfe irá buscar estes XMLs deste diretório e importar no Protheus SIGAGFE para cálculos e tratamentos do frete e após então o Conhecimento é enviado e integrado ao Logix.
Tratamentos no ERP
Insira aqui as informações pertinentes ao Protheus.
O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.
Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância das marcas e alinhamento com as diretivas definidas pelo Comitê de Integração TOTVS.
O suporte aos recursos da Integração será de responsabilidade de todas as linhas, sendo assim as equipes de suporte dos produtos Logix e Protheus SIGAGFE estarão aptas a fazer a primeira análise e, quando necessário, repassar para a equipe mais adequada em cada caso.
Método | ID | Descrição | Origem | Destino | XSD (versões podem variar) |
Cadastros | 01 | Cliente/Fornecedor/Transportador | Logix | Protheus | CustomerVendor_2_000.xsd |
02 | |||||
03 | |||||
04 | |||||
05 | |||||
06 | |||||
07 | |||||
08 | |||||
09 | |||||
10 | |||||
11 | |||||
12 | |||||
13 | |||||
14 | |||||
Processos | 15 | Documento de Frete de Venda | Protheus | Logix | Invoice_3_011.xsd |
16 | |||||
17 | |||||
18 | |||||
19 | |||||
20 | |||||
21 | |||||
22 | |||||
23 | |||||
24 | |||||
25 |
A seguir temos as rotinas responsáveis pelos cadastros das informações da integração:
Método | ID | Descrição | Origem | Destino | XSD |
---|---|---|---|---|---|
Cadastros | 01 | Cliente/Fornecedor/Transportador | Logix | Protheus | CustomerVendor_2_000.xsd |
02 | |||||
03 | |||||
04 | |||||
05 |
Ao executar o programa FIN00000, usuário poderá fazer a carga inicial dos cadastros:
Ao executar inclusão, modificação, exclusão do cadastro de Cliente/Fornecedor no programa VDP10000, ira gerar mensagem única, enviada para o Protheus.
<CustomerVendor2/Fornecedor/Transportador>
Identificador da Mensagem: CustomerVendor
Versão: 2
Tipo de Envio: <Síncrona>
Mensagem Padrão | PROTHEUS | LOGIX | ||
Tabela | Campo | Tabela | Campo | |
Code | fornecedor | cod_fornecedor | ||
ShortName | fornecedor | raz_social_reduz | ||
Name | fornecedor | raz_social | ||
Type = "Vendor" | ||||
EntityType= "Person"/"Company" | ||||
RegisterDate | fornecedor | dat_cadast | ||
RegisterSituation= "Active"/"Inactive" | fornecedor | ies_fornec_ativo | ||
GovernmentalInformation/Id scope="Federal" name="CNPJ" issueOn="0001-01-01" expiresOn="9999-12-31" | fornecedor | num_cgc_cpf | ||
GovernmentalInformation/Id scope="State" name="Inscricao Estadual" issueOn="0001-01-01" expiresOn="9999-12-31" = "CPF"/"CNPJ" | fornecedor | ins_estadual | ||
GovernmentalInformation/Id scope="Municipal" name="Inscricao Municipal" issueOn="0001-01-01" expiresOn="9999-12-31" | fornec_compl | ins_municipal | ||
GovernmentalInformation/Id scope="Federal" name="Inscricao Pis" issueOn="0001-01-01" expiresOn="9999-12-31" | sup_par_fornecedor onde empresa = 'SE' e parametro = "num_inscr_inss_2" | parametro_texto | ||
GovernmentalInformation/Id scope="Federal" name="NIF" issueOn="0001-01-01" expiresOn="9999-12-31" | sup_par_fornecedor onde empresa = 'SE' e parametro = "num_ident_fiscal" | parametro_texto | ||
Address/Address | fornecedor | end_fornec | ||
Address/Number | vdp_cli_fornec_cpl | num_iden_lograd | ||
Address/Complement | vdp_cli_fornec_cpl | compl_endereco | ||
Address/City/CityCode | obf_cidade_ibge (Origem=fornecedor) | cidade_ibge/(Origem=cod_cidade) | ||
Address/City/CityDescription | cidades | den_cidade | ||
Address/District | ||||
Address/State/StateCode | ||||
Address/State/StateInternalId | ||||
Address/State/StateDescription | ||||
Address/Country/CountryCode | ||||
Address/Country/CountryInternalId | ||||
Address/Country/CountryDescription | ||||
Address/ZIPCode | ||||
ListOfCommunicationInformation/CommunicationInformation/PhoneNumber | ||||
VendorInformation/VendorType/VendorTypeCode | ||||
VendorInformation/VendorType/VendorTypeInternalId | ||||
VendorInformation/VendorType/VendorTypeDescription | ||||
FiscalInformation/TaxPayer TaxName="IPI" isPayer="1" Mode="simples" |
Limitações/Restrições
A seguir temos os processos que transitam entre os produtos na integração:
Método | ID | Descrição | Origem | Destino | XSD |
---|---|---|---|---|---|
Processos | 01 | Conhecimento de frete de Venda | Protheus | Logix | Invoice_3_0110.xsd |
02 | |||||
03 | |||||
04 | |||||
05 |
<Invoice/Conhecimento de frete de venda>
Identificador da Mensagem: Invoice
Versão: 3
Tipo de Envio: <Assíncrona>
Ao receber a Invoice no Logix com tag indicando que trata-se de um conhecimento de venda (TypeofDocument = "COV") é acionado Adapter EaiAdapterInvoice3.
Este irá incluir ou excluir (de acordo com o tipo de processamento enviad) através de métodos padrões do ERP o conhecimento de frete de venda no Logix.
Para conferir se a integração ocorreu com sucesso pode-se utilizar a consulta do Status e Passo-a-passo no Monitor de integração do EAI: EAI100000.
Para validar o documento no ERP utilizar o programa Sup0580.
Mensagem Padrão | PROTHEUS | LOGIX | ||
Tabela | Campo | Tabela | Campo | |
CompanyId | frete_sup | cod_empresa | ||
InvoiceNumber | frete_sup | num_conhec | ||
InvoiceSerie | frete_sup | ser_conhec | ||
InvoiceModel | sup_compl_fret_sup | reservado | ||
TypeOfDocument = "COV" | frete_sup | ies_tip_frete = "V" | ||
VendorCode | frete_sup | cod_transpor | ||
IssueDate | sac_embarque | dat_entrega | ||
InvoiceAmount | frete_sup | val_frete | ||
InsuranceAmount | sup_par_frete onde parametro = "val_seguro_frt" | parametro_texto | ||
PaymentConditionCode | frete_sup | cnd_pgto_frt | ||
PaymentConditionCode | frete_sup | cnd_pgto_tab | ||
TaxOpCode | frete_sup | cod_fiscal_frete | ||
TaxOperationCodeComplement | frete_sup | cod_fiscal_compl | ||
GrossWeight | frete_sup | pes_vol_frete | ||
ElectronicAccessKey | sup_par_frete onde parametro = "num_ft_eletronica" | parametro_texto | ||
ElectronicProtocol | sup_par_frete onde parametro = "chave_acesso_cte" | parametro_texto | ||
ElectronicKeyJustification | sup_par_frete onde parametro = "justif_chave_cte | parametro_texto | ||
ElectronicKeyJustification | obf_justif_cte_sefaz | justificativa | ||
TollValue | pedagio_frete | val_pedagio | ||
ListofRelatedInvoices/RelatedInvoices/InvoiceNumber | frete_sup_x_nff | num_nff | ||
ListofRelatedInvoices/RelatedInvoices/InvoiceSerie | frete_sup_x_nff | ser_nf_saida | ||
ListofRelatedInvoices/RelatedInvoices/InvoiceDateIssue | frete_sup_x_nff | dat_hr_emis_nota_fiscal_fatura | ||
ItemExpenseGroupCode | frete_sup | gru_ctr_desp_frete | ||
ListofItens/Item/ListofTaxes/Taxe = "ICMS" | ||||
ListofItens/Item/ListofTaxes/CalculationBasis | frete_sup | val_base_c_frete_c | ||
ListofItens/Item/ListofTaxes/Value | frete_sup | val_tot_icms_frt_c | ||
ListofItens/Item/ListofTaxes/Taxe = "RETEN_INSS" | ||||
ListofItens/Item/ListofTaxes/CalculationBasis | sup_par_frete onde parametro = "bc_retencao_inss" | parametro_val | ||
ListofItens/Item/ListofTaxes/Percentage | sup_par_frete onde parametro = "perc_reten_inss" | parametro_val | ||
ListofItens/Item/ListofTaxes/HasTax | sup_par_frete onde parametro = "RETEN_INSS" | par_ind_especial | ||
ListofItens/Item/ListofTaxes/Taxe = "RECOLH_INSS" | ||||
ListofItens/Item/ListofTaxes/CalculationBasis | sup_par_frete onde parametro = "bc_recolhimento_inss" | parametro_val | ||
ListofItens/Item/ListofTaxes/HasTax | sup_par_frete onde parametro = "RECOLHIMENTO_INSS" | par_ind_especial | ||
ListofItens/Item/ListofTaxes/Taxe = "RETEN_ISS" | ||||
ListofItens/Item/ListofTaxes/HasTax | sup_par_frete onde parametro = "RETEN_ISS" | par_ind_especial | ||
ListofItens/Item/ListofTaxes/Taxe = "RETEN_SEST_SENAT" | ||||
ListofItens/Item/ListofTaxes/HasTax | sup_par_frete onde parametro = "RETEN_SEST_SENAT" | par_ind_especial | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/AccountantAcountInternalId | dest_frete_sup | num_conta_deb_desp | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/ProjectInternalId | dest_frete_sup | cod_area_negocio | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/SubProjectInternalId | dest_frete_sup | cod_lin_negocio | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/Percentual | dest_frete_sup | pct_particip_comp | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/AccountantAcountInternalId | dest_frete_sup4 | num_conta_deb_desp | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/ProjectInternalId | dest_frete_sup4 | cod_area_negocio | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/SubProjectInternalId | dest_frete_sup4 | cod_lin_negocio | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/MarketSegmentCode | dest_frete_sup4 | cod_seg_merc | ||
ListofItens/Item/ListofApportionInvoiceItem/ApportionInvoiceItem/ClassValueCode | dest_frete_sup4 | cod_cla_uso | ||
ShippingAddress/City/CityCode | frete_sup_compl | cod_cidade |
Os passos para viabilizar a integração são:
Exemplo:
Erro ao enviar a mensagem de Cidade via Integração
Se o arquivo de log for analisado, poderemos ver a falha na comunicação com o sistema destino:
-------------------------------------------------------------------------------
WSCERR044 / Não foi possível POST : URL http://172.16.31.57:8011/ws/FWWSEAI.apw
ADVPL WSDL Client 1.080707 / tst on 20120315 08:49:51
-------------------------------------------------------------------------------
Para resolver este problema, verifique as configurações do sistema de destino, analisando o funcionamento do servidor utilizado para esta comunicação e a habilitação do endereço do WebService.