AJUDA COM XML -INFORMA?ÃO DO LOTE

FUTURA 05/05/2016 11:19:02
#461839
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 ?
SINCLAIR 05/05/2016 12:21:17
#461840
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.
FUTURA 05/05/2016 12:32:39
#461841
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[Ô]>
DS2T 05/05/2016 13:53:03
#461845
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!
FUTURA 05/05/2016 14:27:50
#461849
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.
SINCLAIR 05/05/2016 14:54:20
#461850
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.
FUTURA 05/05/2016 15:00:26
#461851
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...
KERPLUNK 05/05/2016 16:16:52
#461854
Porque você simplesmente não desserializa, insere os valores e serializa de novo? Muito mais simples do que ficar lidando com XmlDocument...
FUTURA 05/05/2016 16:24:41
#461855
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..
KERPLUNK 05/05/2016 16:36:16
#461856
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...
SINCLAIR 05/05/2016 18:37:20
#461857
Colega FUTURA,

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