Dúvida
Como analisar o XML gerado da venda no Protheus PDV que será integrado ao BackOffice RM ?
Ambiente
Microsiga Protheus - SIGALOJA - TOTVS PDV A partir da versão 12.
Solução
Após ter extraído o XML de venda, agora vamos analisar alguns pontos importantes na geração do XML.
PROCEDIMENTO DE VENDA – ANÁLISE DO XML DE ENVIO DA VENDA AO BACKOFFICE RM
1. Cabeçalho do XML de Envio
1º TRECHO: Nesse trecho são validados os seguintes pontos:
TAG<MessageInformation Version = “2.009”>, grava a versão do RetailSales.
TAG<SourceApplication>, grava o Nome do Ambiente </SourceApplication>
TAG<CompanyId>99</CompanyId>, grava o Código da Empresa.
TAG<BranchId>01</BranchId>, grava o Código da Filial.
TAG <DeliveryType>Async</DeliveryType>, é o tipo de mensagem, no caso, é Assíncrono.
IMPORTANTE: A versão do RetailSales, deve ser a mesma configurado no ambiente RM, caso esteja diferente, será apresentado erro na integração
Ainda no cabeçalho de orçamento do XML, vamos analisar as informações da venda, como o XML é populado.
CABEÇALHO DO XML DE ENVIO:
2º TRECHO
TAG <InternalID> 99|01||900|200000315|001</InternalId>,armazena os dados com relação a empresa, filial, série da nota, documento e estação do pdv.
TAG<ComissionPercent>, grava o percentual de comissão gravado no campo L1_COMIS.
TAG<TotalPrice>, grava o valor do campo L1_VLRTOT
TAG<NetPrice>, grava o valor do campo L1_VLRLIQ
TAG<CashValue>, grava o valor do campo L1_DINHEIR
Ainda no cabeçalho de orçamento do XML, vamos analisar as informações da venda.
CABEÇALHO DO XML DE ENVIO:
3º TRECHO
TAG<DocumentCode>, grava o valor do campo L1_DOC
TAG<SerieCode>, grava o valor do campo L1_SERIE
TAG<GrossPrice>, grava o valor do campo L1_VALBRUT
TAG<CommodityPrice>,grava o valor do campo L1_VALMERC
TAG<DiscountPercent>, grava o valor do campo L1_DESCNF
TAG <StationCode>, grava o valor do campo L1_PDV
TAG <KindOfDocument>, grava o valor do campo L1_ESPECI
TAG <IsCanceled>, grava o status da venda.
TAG <StationSalePointCode>, grava o valor do campo L1_ESTACA
TAG <StationSalePointInternalId>, grava o valor interno da empresa, filial e estação configurados para venda.
TAG <SaleType>, grava o valor do campo L1_SERSAT
TAG <KeyAccessNFe>, grava o valor do campo L1_KEYNFCE, que é a chave de consulta da NFCe.
2. ITENS DO XML DE ENVIO
Agora as informações que são gravados nas tabelas relacionado aos itens de orçamento.
TAG<ItemCode>, grava o valor do campo L2_PRODUTO
TAG<ItemOrder>, grava o valor do campo L2_ITEM
TAG<Quantity>, grava o valor do campo L2_QUANT
TAG<UnitPrice>,grava o valor do campo L2_VRUNIT
TAG<ItemTablePrice>, grava o valor do campo L2_PRCTAB
TAG <ItemPrice>, grava o valor do campo L2_VLRITEM
TAG <DiscountPercentage>, grava o valor do campo L2_DESC
TAG <DiscountAmount>, grava o valor do campo L2_VALDES
TAG <OperationCode>, grava o valor do campo L2_CF
TAG <IsCanceled>, grava o status do item da venda.
TAG <WhareHouseCode>, grava o valor do campo L2_LOCAL
3. A Condição de Pagamento utilizado na venda
Os campos que são gravados no processo de venda e as informações que o XML gera.
TAG<DateOfPayment>, grava o valor do campo L4_DATA
TAG<PaymentValue>, grava o valor do campo L4_VALOR
TAG<PaymentMethodCode>, grava o valor do campo L4_FORMA
TAG<PaymentMethodInternalId>,grava o valor interno da forma de pagamento
Dependendo da forma de pagamento que esta efetivando a venda, serão alimentados outras informações no XML, como por exemplo, vendas com cartão de crédito/débito, são preenchidos os seguintes campos:
TAG <FinancialManagerCode>, grava o valor do campo L4_ADMINIS
TAG <CardNumber>, grava o valor do campo L4_NUMCART
TAG <EftDocument>, grava o valor do campo L4_DOCTEF
TAG <EftAutorization>, grava o valor do campo L4_AUTORIZ
TAG <EftCancellationDocument>, grava o valor do campo L4_DOCCANC
TAG <EftInstitute>, grava o valor do campo L4_INSTITU
TAG <UniqueSerialNumber>, grava o valor do campo L4_NSUTEF
TAG <EftParcel>, grava o valor do campo L4_PARCTEF
IMPORTANTE: Com esse mapeamento conseguimos validar se as informações de venda entre os ambientes PDV e Retaguarda Protheus, estão sendo gravados corretamente na tabela, gerando a informação correta no XML de envio ao BackOffice RM.
0 Comentários