Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3354 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Pessoal, estou pesquisando a solução de meu problema à mais de 20 dias e não encontro a solução.

Acredito que vocês irão me ajudar.

Estou alimentando os conhecimentos pelo meu sistema e enviando (ACBrCTe1.Enviar(1)). Porém sempre retorna o erro 297 - Rejeicao: Assinatura difere do calculado.

Muitos posts disseram que são caracteres especiais, mas já verifiquei várias vezes e nada.

O interessante é que após o erro se eu pegar o arq. xml e fazer:

ACBrCTe1.Conhecimentos.LoadFromFile(arquivo.xml);

ACBrCTe1.Enviar(1);

Não acontece o erro 297.

E também já fiz um teste pegando o arq. XML e importando no sistema da SEFAZ, transmite com sucesso (sem erros).

Segue anexo os arquivos gerado pelo componente.

Por favor, me ajudem.

35111104947886000136570010000051012089026832-cte.xml

351000001802221-pro-rec.xml

351000001802221-ped-rec.xml

1-rec.xml

1-env-lot.xml

  • Consultores
Postado

Bom dia,

Compare a chave do CTe que consta no arquivo: -cte.xml com o 1-env-lot.xml

Note que o final esta diferente:

CTe35111104947886000136570010000051012089026832

CTe35111104947886000136570010000051017992715225

A tua aplicação esta gerando uma nova chave no momento do envio, favor rever a sua rotina.

Espero ter ajudado.

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

Puxa, é verdade. Não tinha reparado.

Mas Italo, como é possivel isso se eu utilizo somente o comando ACBrCTe1.Enviar(1) e ainda apenas 1 vez ?

Postado

Me desculpe a ignorância, mas essas chaves é o componente que está gerando sozinho.

Eu simplesmente alimento o Conhecimento no componente ACBrCTe1 e executo o procedimento Enviar. As gerações dos arquivos é o próprio componente que está gerando.

Eu fiz um debug simples e verifiquei que após gerar o *-cte.xml ele vai para a criação do arquivo *-env-lot.xml e ele gera uma nova chave pela rotina "TCTeW.GerarXml"

Algum problema está acontecendo que quando vai gerar o arquivo *-env-lot.xml ele não está reconhecendo o código da chave(CTe.ide.cCT) já gerado pelo arquivo *-cte.xml

Alguma idéia do que pode ser ? Alguma configuração em especial nas propriedade do componente ?

Obrigado desde já.

  • Consultores
Postado

Boa tarde,

Eu procedo de forma diferente, a minha aplicação é que gera o código aleatório e atribui ao campo: CTe.ide.cCT, desta forma nunca tive problemas com a chave.

Outro detalhe na tabela do banco de dados que utilizo para armazenar os dados do conhecimento, é salvo também o código aleatório, a chave completa (com o código aleatório e digito verificador), data de emissão, numero do protocolo de autorização, data de cancelamento, justificativa, protocolo de cancelamento, claro se ocorrer o cancelamento.

Uma duvida:

Após alimentar o componente com os dados, esta sendo executado apenas o comando Enviar ou esta sendo executado os comandos: Assinar, Validar e Enviar ?

O comando Assinar, gerar o XML (inclusive a chave) assina e salva em disco.

O comando Validar, executa o comando Assinar e depois valida o XML gerado.

O comando Enviar, executa os comandos Assinar e Validar e depois gera o lote e o envia, se a sefaz não rejeitar, o XML assinado recebe o protocolo de autorização e o DANFe é impresso no papel.

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

Italo, está sendo executado apenas o código Enviar, pois, Assinar e Validar está implementado dentro da Function TACBrCTe.Enviar.

Consegui descobrir de onde estava vindo esse problema, talvez pode até ser considerado Bug do componente.

Vou explicar porque estava acontecendo esse erro:

Na minha alimentação do Conhecimento eu não estava atribuindo nenhum valor para Ide.cCT e com isso o próprio componente estava atribuindo um valor randômico. Porém, ocorre que o componente está gerando 2 chaves diferentes, criava uma chave no momento de criar o XML (na assinatura) e outra chave diferente no momento de enviar para a SEFAZ (arquivo *-env-lot.xml).

Para resolver o problema eu estou passando um número aleatório para Ide.cCT no momento que estou alimentando os campos do conhecimento do componente.

Muito obrigado pela ajuda Italo.

  • Consultores
Postado

Boa tarde tenco,

Com relação ao problema do componente gerar 2 código aleatórios diferentes, um ao gerar o XML e outro ao gerar o lote de envio, foi resolvido.

Encontrei onde estava o bug, favor atualizar os seus fontes, compilar a sua aplicação com a opção Build e realizar os testes, passando o valor ZERO ao campo cCT para que o próprio componente gere de forma aleatória o referido código.

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

  • 1 mês depois ...
  • 4 semanas depois ...
Postado

O seu problema refere-se ao Componente NF-e.

Talvez passando o código aleatório manualmente resolva seu problema.

O Problema das variáveis Integer é que elas podem assumir diferentes valores toda vez...

Experimente passar antes do método "Assinar".

Att,

Alexandre De Carli,
Gerente de Projetos na empresa Econtabil Software.


email: [email protected]
site: http://www.extremeprogramming.wordpress.com
Pato Branco - PR

  • 3 anos depois...
  • Membros Pro
Postado

Bom dia Ítalo;
Esta aparecendo para mim Rejeicao: Assinatura Difere Do Calculado, mas ,durante o fim de semana achei o problema; No campo Obs do CTe, eu utilizava de CHR(10) no condigo fonte da minha aplicação, removi-o do fonte, resolveu o problema;

Obrigado

 

  • Curtir 1
  • Este tópico foi criado há 3354 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.

The popup will be closed in 10 segundos...