Ir para conteúdo
  • Cadastre-se

dev botao

Erro ID Inválido. Impossível Salvar XML


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 137 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde Pessoal,

Estou fazendo os testes de alteração de provedor em Bento Gonçalves. Na versão antiga não utilizava o componente, mas agora resolvi utilizar o AcbrNFSex.

O XML eu gero manualmente e alimento o componente através do método 

AcbrNFSe1.NotasFiscais.LoadFromFile(CaminhoXMLGerado, False);

Provedor ABase e os schemas estão nas pasta configuradas no componente.

 

Se alguém tiver uma dica, agradeço.

Obrigado.

 

  • Moderadores
Postado
35 minutos atrás, frankimiotto disse:

Boa tarde Pessoal,

Estou fazendo os testes de alteração de provedor em Bento Gonçalves. Na versão antiga não utilizava o componente, mas agora resolvi utilizar o AcbrNFSex.

O XML eu gero manualmente e alimento o componente através do método 

AcbrNFSe1.NotasFiscais.LoadFromFile(CaminhoXMLGerado, False);

Provedor ABase e os schemas estão nas pasta configuradas no componente.

 

Se alguém tiver uma dica, agradeço.

Obrigado.

 

use o componente para alimentar os dados

assim a cada mudança tu não vai ter que ficar alterando em mais locais pois o acbr já muda

se tem dúvidas tem no exemplo até uma função separada para isso.

não perca tempo sofrendo pois veja tu vai ter que ir mudar lá, dai a cidade muda de provedor e lá vai tu mudar de novo

 

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado
6 minutos atrás, Juliomar Marchetti disse:

use o componente para alimentar os dados

assim a cada mudança tu não vai ter que ficar alterando em mais locais pois o acbr já muda

se tem dúvidas tem no exemplo até uma função separada para isso.

não perca tempo sofrendo pois veja tu vai ter que ir mudar lá, dai a cidade muda de provedor e lá vai tu mudar de novo

 

Boa tarde Juliomar,

Obrigado pela resposta.

Vou seguir tua dica e carregar o componente, deixando ele gerar o XML.

Nos testes que eu estava fazendo, o componente não estava respeitando o provedor que eu passava nas configurações.

Tenho que me atentar a algum outro detalhe pra passar o provedor correto?

 

Abraço.

 

  • Consultores
Postado

Você não passa o provedor, deve preencher o município e o componente carrega o provedor. 

Recomendamos sempre que vejam o funcionamento do programa de exemplo para ter uma base de como utilizar o componente. 

Faça um teste com o programa de exemplo que o processo ficará mais claro.

Postado

Boa noite Renato,

Claro. Depois que fui me atentar a esse detalhe.

Pelo código do IBGE do município o componente localiza o provedor no arquivo ACBrNFSeXServicos.ini, que está no .res.

Segunda retomo os testes, mas acredito que esse seja o detalhe que esqueci ao começar a migração.

Agradeço a resposta.

 

Abraço.

  • Curtir 1
Postado

Bom dia pessoal,

Na sequência dos meus testes, ao alimentar o componente e chamar o método de envio AcbrNFSe1.Emitir(nLote, meLoteAssincrono), o XML gerado tem apenas o conteúdo do RPS

...

</Rps>
 
e não o XML completo, no formato
 
...
</EnviarLoteRpsEnvio>
 
Se alguém tiver alguma dica, agradeço.

 

  • Consultores
Postado

Bom dia @frankimiotto,

Uma coisa é o XML do RPS e outra é o XML de envio que vai conter o XML do RPS.

Sendo assim não podemos comparar um com o outro.

No componente ACBrNFSeX quando você executa o método Emitir, ele primeiro gera o XML do RPS, depois ele gera o XML de envio contendo o XML do RPS.

O XML do RPS é salvo (se configurado para salvar em disco) na pasta Recibos e o XML de envio é salvo na pasta anterior.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Bom dia Italo,

Certo. São dois XML's então. O do RPS e o do envio do lote que o componente gera?

Os dois são gerados no método emitir, certo?

O XML da pasta recibo está sendo salvo, mas o do XMl do RPS não.

Será que falta alguma configuração no componente?

 

Postado

Debugando o código, descobri que o componente não enviou o lote.

Na consistência:

 

  if (EmiteResponse.Erros.Count > 0) then
  begin
    TACBrNFSeX(FAOwner).SetStatus(stNFSeIdle);
    Exit;
  end;
 

Cai no if e não chega na parte do envio. Estou verificando pra ver qual o erro que posso estar cometendo.

Postado

Boa tarde Italo,

Na validação do schema estou com o erro:

'Content for element ''{http://nfse.abase.com.br/nfse.xsd}EnviarLoteRpsEnvio'' is incomplete according to the DTD/Schema.'#$D#$A'Expecting: {http://www.w3.org/2000/09/xmldsig#}Signature.'#$D#$A

Mas apenas na minha aplicação. No Demo não tenho esse erro.

Existe uma configuração para assinatura do lote que seja diferente da assinatura do RPS?

 

  • Consultores
  • Solution
Postado

Boa tarde @frankimiotto,

O componente ACBrNFSeX trata a questão da assinatura sozinho.

Ele sabe o que precisa ser assinado.

Se esta ocorrendo esse erro é porque você não esta fazendo exatamente igual como é no programa exemplo.

Você só precisa alimentar o componente com os dados do serviço prestado e depois executar o método Emitir.

Só isso, óbvio o componente tem que estar configurado corretamente.

O resto o componente faz para você de forma automatizada e na sequencia correta.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Este tópico foi criado há 137 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.