AJUDA COM XML -INFORMA?ÃO DO LOTE
Pessoal, pra quem manja de xml, é coisa simples.. estou montando meu emissor de nfe, e após garimpar aqui no fórum e na web, ja tenho formatado, a geração, assinatura e validação, como a geração é feita no meu erp em vb6, estou carregando o xml ja gerado em uma app vb.net para assinar e validar, agora preciso abrir o xml que ja esta salvo em disco, e inserir nele as informações do lote, para posterior envio. Alguma ajuda de como carregar este xml adicionar as tags do lote na posição correta e salvar novamente em disco ?
Colega FUTURA,
Antes, uma coisa: depois de assinar você não pode inserir nem alterar ou excluir qualquer informação do XML, visto que a assinatura ficaria inválida.
Não há necessidade de inserir lote no XML. Depois de assinado, você apenas transmite para SEFAZ e pega o retorno, que será um XML com as tags ProtNFe anexadas ao mesmo, ou seja, com protocolo da autorização de uso, data e hora da autorização. Este XML que é retornado, com protocolo/data/hora (tag ProtNFe) é que você deverá imprimir.
Tudo de bom.
Antes, uma coisa: depois de assinar você não pode inserir nem alterar ou excluir qualquer informação do XML, visto que a assinatura ficaria inválida.
Não há necessidade de inserir lote no XML. Depois de assinado, você apenas transmite para SEFAZ e pega o retorno, que será um XML com as tags ProtNFe anexadas ao mesmo, ou seja, com protocolo da autorização de uso, data e hora da autorização. Este XML que é retornado, com protocolo/data/hora (tag ProtNFe) é que você deverá imprimir.
Tudo de bom.
Colega, pelo que entendi, após assinado, preciso inserir as tags em destaque abaixo.
<?xml version=[Ô]1.0[Ô] encoding=[Ô]UTF-8[Ô] ?>
[txt-color=#e80000]- <enviCTe xmlns=[Ô]http://www.portalfiscal.inf.br/cte[Ô] versao=[Ô]2.00[Ô]>
<idLote>000000000715</idLote>
[/txt-color]- <CTe xmlns=[Ô]http://www.portalfiscal.inf.br/cte[Ô]>
- <infCte Id=[Ô]CTe35160402701609000202570000000002371000601511[Ô] versao=[Ô]2.00[Ô]>
<?xml version=[Ô]1.0[Ô] encoding=[Ô]UTF-8[Ô] ?>
[txt-color=#e80000]- <enviCTe xmlns=[Ô]http://www.portalfiscal.inf.br/cte[Ô] versao=[Ô]2.00[Ô]>
<idLote>000000000715</idLote>
[/txt-color]- <CTe xmlns=[Ô]http://www.portalfiscal.inf.br/cte[Ô]>
- <infCte Id=[Ô]CTe35160402701609000202570000000002371000601511[Ô] versao=[Ô]2.00[Ô]>
No VB6 eu não lembro direito como faz isso. No .NET, basta você inserir um Node no seu XmlDocument.
Tem muitas pessoas que criam todo o arquivo de envio primeiro, e só então, assinam o documento (apenas na tag das informações né).
Abraços!
Tem muitas pessoas que criam todo o arquivo de envio primeiro, e só então, assinam o documento (apenas na tag das informações né).
Abraços!
DS2T, é o que preciso, um exemplo em vb.net mesmo, pois após a assinatura, preciso gerar o lote..eu até inseri as tags do lote na hora de gerar o xml, mais ai da erro na validação justamente no <envicte> ou <envinfe>, acho que é por esse motivo, que estas informações são inseridas sempre após assinatura e validação com o xsd.
Olá, Colega FUTURA...
Eu, realmente, nunca inseri lote nas NFe. Como seu post falava em NFe, informei que não precisava inserir lote. Mas CTe, como é o caso, realmente nunca usei, então pode ser que tenha que inserir lote, realmente.
Com xmlDomDocument você conseguirá em VB6 também.
Pena eu não ter um exemplo agora, de onde estou. Mas, se mais tarde eu tiver acesso ao PC de programação, te envio algum exemplo.
Tudo de bom.
Eu, realmente, nunca inseri lote nas NFe. Como seu post falava em NFe, informei que não precisava inserir lote. Mas CTe, como é o caso, realmente nunca usei, então pode ser que tenha que inserir lote, realmente.
Com xmlDomDocument você conseguirá em VB6 também.
Pena eu não ter um exemplo agora, de onde estou. Mas, se mais tarde eu tiver acesso ao PC de programação, te envio algum exemplo.
Tudo de bom.
Sinclair, hoje em produção, tanto para nfe como cte, uso dll de uma empresa, e ambos inserem informação do lote no xml para posterior transmissão, se tiver um exemplo, agradeço...
Porque você simplesmente não desserializa, insere os valores e serializa de novo? Muito mais simples do que ficar lidando com XmlDocument...
Fala Kerplunk... Então, em plataforma .net, eu estou iniciando, e estou tentando montar em cima de alguns modelos que pesquisei e que não usam este recurso..
Já tentou colocar um parafuso usando um serrote? Ou serrar usando uma plaina? Pois é, é possÃvel, mas dá muito trabalho. Tem vÃdeos no meu canal, mostrando como se faz essas duas coisas, serialização e desserialização. é um processo rápido, eficaz e muito, mas muito mais simples do que trabalhar com o documento cru...
Colega FUTURA,
Eu realmente não sabia disto. Sempre montei meus próprios XML, trabalho com NFe desde 2008, quando veio à tona. Eu nunca inseri lote. Mas, vivendo e aprendendo.
Quanto a inserir, o nosso colega Kerplunk tem razão. Com serialização será bem mais fácil.
Assim que eu tiver acesso ao PC de programação, te envio um exemplo.
Tudo de bom.
Citação:Sinclair, hoje em produção, tanto para nfe como cte, uso dll de uma empresa, e ambos inserem informação do lote no xml para posterior transmissão, se tiver um exemplo, agradeço...
Eu realmente não sabia disto. Sempre montei meus próprios XML, trabalho com NFe desde 2008, quando veio à tona. Eu nunca inseri lote. Mas, vivendo e aprendendo.
Quanto a inserir, o nosso colega Kerplunk tem razão. Com serialização será bem mais fácil.
Assim que eu tiver acesso ao PC de programação, te envio um exemplo.
Tudo de bom.
Tópico encerrado , respostas não são mais permitidas