Jump to content

2 Dia do ACBr

Pré-Venda com Desconto de R$100,00
INSCREVA-SE

Nova Loja Oficial
loja.projetoacbr.com.br
Ajude o projeto a crescer, com estilo

Comprar

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

geovanesilveira

ANSWERED Tag <codMaterialCliente>, filha da <infAdProd>

Recommended Posts

Seguinte, a Votorantim requer que na tag <infAdProd> seja adicionado uma tag filha, chamada <codMaterialCliente>

Conforme manual (começa na página 71)

Citar

O número do pedido enviado pela Votorantim Cimentos, bem como o número do item de cada material e o código do material da Votorantim Cimentos devem constar no arquivo XML, para que nosso sistema possa identificar e ler automaticamente o documento. 

1009437292_Anotao2019-06-11141724.jpg.4eec954f07a8325a55a8a3be46cca1a6.jpg

Hoje, a tag <infAdProd> é uma string, não possibilitando fazer a situação citada.

Gostaria de saber se é possível adicionar um node em tempo de execução? Ou, se seria mais correto, já criar propriedades e rotinas para atender esse tipo de ocorrência.

Share this post


Link to post
Share on other sites
1 hora atrás, geovanesilveira disse:

Hoje, a tag <infAdProd> é uma string, não possibilitando fazer a situação citada.

O ACBr converte caracteres de controle HTML/XML em string, na geração do XML (veja a unit pcnNFeW.pas), então mesmo que você informe, p.ex.:

Produto.infAdProd := '<codMaterialCliente>123456</codMaterialCliente>';

Isso será gerado no XML como:

<infAdProd>&lt;codMaterialCliente&gt;123456&lt;/codMaterialCliente&gt;</infAdProd>
1 hora atrás, geovanesilveira disse:

Gostaria de saber se é possível adicionar um node em tempo de execução? Ou, se seria mais correto, já criar propriedades e rotinas para atender esse tipo de ocorrência. 

Mesmo que você force a criação da nova tag no XML, ela não será validada pela SEFAZ:

Citar
Resultado da Validação do Schema e de Regras de Negócio:
  • valid.pngParser XML: Nenhum erro encontrado
  • valid.pngTipo de Mensagem: NF-e sem assinatura digital
  • erro.pngSchema XML: The element 'http://www.portalfiscal.inf.br/nfe:infAdProd' cannot contain child element 'http://www.portalfiscal.inf.br/nfe:codMaterialCliente' because the parent element's content model is text only.
    Caminho: NFe[1]/infNFe/det[1]/infAdProd/codMaterialCliente/

Então, a não ser que seja usada a abordagem já presente no ACBr, ou incluir o conteúdo numa caixa do tipo CDATA, não vejo sentido nessa exigência.


Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Share this post


Link to post
Share on other sites
2 minutos atrás, BigWings disse:

O ACBr converte caracteres de controle HTML/XML em string, na geração do XML (veja a unit pcnNFeW.pas), então mesmo que você informe

Foi um dos primeiros teste que fiz, e percebi que não poderia ser desse jeito. A não ser que eles fizessem a leitura de nodes de um modo diferente que possibilitasse esse "hack", mas não acredito que isso seria posto em pratica.

5 minutos atrás, BigWings disse:

Mesmo que você force a criação da nova tag no XML, ela não será validada pela SEFAZ:

Realmente, no momento em que estava fazendo isso nem me passou pela cabeça que isso seria bloqueado pelo schemas. (e tinha esquecido sobre esse site validador)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...