Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa dia Ítalo,

Estou ciente que o cancelamento do CTe 2.0 é por evento. Fiz todas as adequações no sistema para a versão 2.0 (atualizei os fontes do acbr, alterei o arquivo acbr.inc, criei as novas tags no xml, atualizei os schemas). Consigo gerar o Xml e enviar o CTe na nova versão sem problema nenhum, porém meu problema ocorre quando tento cancelar o Cte, na hora de assinar o mesmo. 

Postado

Italo

 

Criei as minhas classes para envio do cancelamento  por evento baseadas nas classes do ACBR e estou utilizando a função similar a essa que você descreveu.

 

Estou utilizando o Capicom também

Postado
Ítalo
 
O meu problema ocorre na função AssinarXml, conforme trecho abaixo:
 
try
    xmldoc                    := CoDOMDocument50.Create;
    xmldoc.async              := False;
    xmldoc.validateOnParse    := False;
    xmldoc.preserveWhiteSpace := True;
 
    xmldsig := CoMXDigitalSignature50.Create;
    xmldoc.loadXML(MsgXML);
 
    xmldoc.setProperty('SelectionNamespaces', DSIGNS);
    xmldsig.signature := xmldoc.selectSingleNode('.//ds:Signature');
    CertStore := CoStore.Create;
    CertStore.Open(CAPICOM_CURRENT_USER_STORE, 'My', CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
    CertStoreMem := CoStore.Create;
    CertStoreMem.Open(CAPICOM_MEMORY_STORE, 'Memoria', CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
    Certs := CertStore.Certificates as ICertificates2;
    for iFor := 1 to Certs.Count do begin
      Cert := IInterface(Certs.Item[iFor]) as ICertificate2;
      if ( Cert.SerialNumber = FNroCertificado ) then begin
        OleCheck(IDispatch(Certs[iFor].PrivateKey).QueryInterface(IPrivateKey,PrivateKey));
        CertStoreMem.Add(Cert);
      end;
    end;
 
    xmldsig.store := CertStoreMem; -> neste momento ocorre o erro
  • Consultores
Postado

Boa tarde zene1308,

 

Lhe pergunto novamente, você testou usando a função que esta implementada no componente? Ocorre o mesmo erro?

 

Qual é o motivo pelo qual de você não querer usar o que já esta implementado?

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

Boa tarde Ítalo

Após várias adaptações, consegui resolver os problemas que havia citado anteriormente. Agora consigo assinar e validar o xml de cancelamento do CTe, porém ao pegar o retorno do xml, o mesmo está voltando com a mensagem de erro "Cabecalho - Versao do arquivo XML superior a Versao vigente. [Det: Versão suportada:1.04..]". Abaixo trecho do código onde eu faço a consulta do webservice e em anexo o xml de retorno.

 

 

   
    FReqResp := THTTPReqResp.Create(nil);
    FReqResp.OnBeforePost:= WebNodeBeforePost.HTTPWebNodeBeforePost;
    FReqResp.URL := CteUtil.GetURL(GetUf(cEmp.SiglaUfCTe),cEmp.TipoAmbienteCTe,cEmp.TipoEmissaoCTe,LayCTeCancelamento);
    FReqResp.UseUTF8InHeader := True;
    Stream:= TMemoryStream.Create;
 
    try
 
      FReqResp.Execute(MsgXML,Stream);
    except on E: Exception do
      begin
        Retorno:= E.Message;
        bResult:= False;
      end;
    end;

CTe-000001435-002RetornoCancCTe.xml

CTe-000001435-002RetornoCancCTe.xml

  • Consultores
Postado

Boa tarde zene,

 

Você esta emitindo o CT-e em qual versão?

Se é na versão 2.00 o cancelamento do mesmo é por evento, agora se for na versão 1.04 o cancelamento é através do webservice de cancelamento.

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

2.0.... o evento de cancelamento está correto, gerando pela versão 2.0... porém quando eu consulto o xml no webservice para gerar xml de retorno ele dá o erro. Será que estou usando um webservice de consulta errado?

  • 1 mês depois ...
  • Membros Pro
Postado (editado)

Segui tudo o que foi falado. Alterei o arquivo ACBr.inc, comentando a diretiva de compilação PL_104 e descomentando a PL_200, bixeie a versão mais recente e recompilei tudo, porem quando vou enviar a CT-e aparece a mensagem "The system cannot locate the object specified", já atualizei a pasta schemas mais o erro continua. O que pode ser. Obrigado.

 

 

Já consegui, entrei no na pasta V200 descompactei o conteúdo e coloquei na pasta Schemas e deu tudo certo. Obrigado

Editado por cesar77

César Cardoso - Ivaiporã - PR

  • Membros Pro
Postado (editado)

Bom dia!

 

Recentemente migrei minha aplicação pro 2.0!

 

Testes em SC passaram perfeitamente, tudo correto, porém quando fui testar em SP ele começou a dizer "NF-e inexistente na base do sefaz"  fui lá consultei e a nota estava lá corretamente!

 

Pesquisei aqui no forum  e disseram que poderia ser erro lá no serviço do governo.

 

Tentei falar com eles através do fale conosco, mas é cada resposta que cada vez que leio tenho a plena certeza de que são muito despreparados, olha a resposta que me deram para esse caso:

 

"
Prezado Sr.,
O correto é transmitir a nota, aguardar alguns minutos e verificar o retorno. Se foi rejeitada, clicar na nota rejeitada , e clicar em detalhar para ver o motivo da rejeição da nota na aba NF-e. Verificar o motivo do erro, corrigir o erro e retransmitir a nota.

Atenciosamente,"

 

 

 

Eu expliquei exatamente o que me ocorria, que era CT-e e eles disseram isso... o problema que não da nem pra responder!

 

Mais alguém teve esse problema no 2.0 em SP ?

Agradeço desde já

Editado por luisclaudio_jr
  • Consultores
Postado

Bom dia Luis,

 

Todos os testes que eu faço, informo como documento originário o tipo Outros, como por exemplo uma declaração.

 

Desta forma não tem como eles acusarem que o documento não existe.

 

Sei que não pratica não é desta forma que funciona.

 

Mas, acredito que como eu, você esta realizando testes no ambiente de homologação, sendo assim, ele não deveria checar a chave da NF-e colocada como documento originário.

 

E pelo jeito esta checando e por se tratar de um ambiente de homologação, deve estar procurando essa chave também na base de dados do ambiente de homologação.

 

Acredito eu, que não teremos esse problema no ambiente de produção, visto que, a NF-e foi autorizada no ambiente de produção e o CT-e esta sendo enviando tambéma para o mesmo ambiente.

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

  • Membros Pro
Postado

Italo, vou ver se ainda hoje eu consigo fazer um de produção com algum de meus clientes, o que eu acho estranho é que a mesma nota em SC passou normalmente.. ai a gente tenta falar com alguém de lá de SP e é quase impossivel... são muitos despreparados, sem contar que não existe nenhum telefone, vou fazer e aviso se a produção der certo, beleza?

  • 2 semanas depois ...
  • 4 semanas depois ...
Postado

Bom dia!

 

Recentemente migrei minha aplicação pro 2.0!

 

Testes em SC passaram perfeitamente, tudo correto, porém quando fui testar em SP ele começou a dizer "NF-e inexistente na base do sefaz"  fui lá consultei e a nota estava lá corretamente!

 

Pesquisei aqui no forum  e disseram que poderia ser erro lá no serviço do governo.

 

Tentei falar com eles através do fale conosco, mas é cada resposta que cada vez que leio tenho a plena certeza de que são muito despreparados, olha a resposta que me deram para esse caso:

 

"

Prezado Sr.,

O correto é transmitir a nota, aguardar alguns minutos e verificar o retorno. Se foi rejeitada, clicar na nota rejeitada , e clicar em detalhar para ver o motivo da rejeição da nota na aba NF-e. Verificar o motivo do erro, corrigir o erro e retransmitir a nota.

Atenciosamente,"

 

 

 

Eu expliquei exatamente o que me ocorria, que era CT-e e eles disseram isso... o problema que não da nem pra responder!

 

Mais alguém teve esse problema no 2.0 em SP ?

Agradeço desde já

Boa tarde,

 

Estou o mesmo problema, no ambiente de homologação funciona perfeitamente, porém, na produção acontece este problema se alguém puder ajudar agradeço !

Postado

Bom dia Luis,

 

Todos os testes que eu faço, informo como documento originário o tipo Outros, como por exemplo uma declaração.

 

Desta forma não tem como eles acusarem que o documento não existe.

 

Sei que não pratica não é desta forma que funciona.

 

Mas, acredito que como eu, você esta realizando testes no ambiente de homologação, sendo assim, ele não deveria checar a chave da NF-e colocada como documento originário.

 

E pelo jeito esta checando e por se tratar de um ambiente de homologação, deve estar procurando essa chave também na base de dados do ambiente de homologação.

 

Acredito eu, que não teremos esse problema no ambiente de produção, visto que, a NF-e foi autorizada no ambiente de produção e o CT-e esta sendo enviando tambéma para o mesmo ambiente.

 

Boa tarde,

 

Italo,

 

Observei que apenas no ambiente de produção acontece este problemas, tentei falar como alguém no sefaz e infelizmente não obtive sucesso, você saberia me dizer o que o porque e como o amigo luisclaudio_jr diz apenas esta ocorrendo no estado de SP.

  • Consultores
Postado

Boa tarde Adelson,

 

Só para termos um Norte.

 

Versão do CT-e: 2.00

 

Emissão em Ambiente de Homologação, informando como documento originário uma NF-e, funcionando sem problemas, ou seja obtendo o protocolo de autorização.

 

Emissão em Ambiente de Produção, informando como documento originário uma NF-e, o CT-e é rejeitado, pelo simples fato da NF-e não existir.

 

Isso confere?

 

Se sim, o problema esta na SEFAZ, o jeito é entrar em contato com eles por e-mail e explicar de forma detalhada o que esta ocorrendo.

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 (editado)

Boa noite senhores, implantamos a versão 2.0 em produção, tudo blz, maravilha, enviamos CTe, cancelamos, carta de correção, etc, OK.

 

Só estamos tendo um pequeno problema na geração do dacte em pdf que funcionava na versão anterior, segue o código abaixo:

 

//                            ACBrCTeDACTeQR1.MostrarPreview := True;
                            PathWRK := 'C:\XMLCTe' + IntToStr(NumBaseCNPJEmpresa) + '\';
                            PathWRKARQ := PathWRK + QryNotachave_nfe.AsString;
                            ACBrCTe1.Conhecimentos.Clear;
                            ACBrCTe1.Conhecimentos.LoadFromFile(PathWRKARQ);
                            ACBrCTe1.DACTE.PathPDF := ArqDest;
//                            ACBrCTe1.Configuracoes.Geral.PathSalvar := ArqDest;
                            ACBrCTe1.Conhecimentos.ImprimirPDF;
//                            ACBrCTe1.Conhecimentos.Imprimir;
                            ACBrCTe1.Conhecimentos.Clear;
 
 
Os parâmetros já foram checados e todos estão como antes.
Temos alguns usuários com a versão anterior e está funcionando ok.
 
Alguém sabe de alguma mudança que devemos fazer?
Editado por jairobernardesjunior
Postado (editado)

Bom dia Ítalo, desculpe-me pelo esquecimento, o que acontece é estranho pois o acbrcte não retorna nenhuma mensagem, é como se tudo tivesse dado certo na geração do PDF, os dados são os mesmos, o caminho continua o mesmo nada foi alterado.

 

 

Ele apenas não gera o arquivo PDF.

Editado por jairobernardesjunior
  • Este tópico foi criado há 3238 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.