Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

Postado

bom dia pessoal,

 

semana passada, postei no tópico abaixo, um problema que eu estava tendo e que outra pessoa tb teve o mesmo problema.

debugando os fontes, identifiquei onde poderia estar o problema e fiz uma alteração que resolveu meu problema.

gostaria de compartilhar para que analisem e vejam se poderiam alterar no código oficial.

na unit ACBrCTeWebServices.pas na procedure TCTeEnvEvento.DefinirURL tem o seguinte teste:

 

  if ((FEvento.Evento.Items[0].InfEvento.tpEvento in [teCCe, teCancelamento,
      teMultiModal, tePrestDesacordo, teGTV, teComprEntrega, teCancComprEntrega,
      teCancPrestDesacordo, teInsucessoEntregaCTe, teCancInsucessoEntregaCTe])) 
    FPLayout := LayCTeEvento
  else
    FPLayout := LayCTeEventoAN;

 

como o evento é o "teEPEC", estava caindo na linha "FPLayout := LayCTeEventoAN"

em um determinado ponto do fonte, o componente vai buscar o endereço de webservice no arquivo "ACBrCTeServicos.ini" e para Minas Gerais, estava pegando o endereço errado.

estava pegando um endereço de ambiente nacional (LayCTeEventoAN) para versão 3.0. Ele procurava no arquivo pela chave "RecepcaoEventoAN_4.00" e como nao encontrava, pegava a chave "RecepcaoEventoAN_3.00" (esta chave consta o endereço errado).

entao, fiz a seguinte alteração na unit ACBrCTeWebServices.pas, e o problema foi resolvido.

 

  if ((FEvento.Evento.Items[0].InfEvento.tpEvento in [teCCe, teCancelamento,
      teMultiModal, tePrestDesacordo, teGTV, teComprEntrega, teCancComprEntrega,
      teCancPrestDesacordo, teInsucessoEntregaCTe, teCancInsucessoEntregaCTe])) or
      ((UF = 'MG') and (FEvento.Evento.Items[0].InfEvento.tpEvento = teEPEC)
) then
    FPLayout := LayCTeEvento
  else
    FPLayout := LayCTeEventoAN;

 

eu poderia apenas acrescentar o "teEPEC" no teste do "if" que resolveria o meu problema mas como nao sei se isso ocorre nos outros estados, achei melhor fazer desta forma.

não sei se esta é a melhor solução mas no meu caso foi resolvido. analisem e vejam se vale a pena alterar nos fontes;

 

obrigado.

Thiago Dornelas

Analista de Sistemas
e-mail: [email protected]
Belo Horizonte/MG

  • Consultores
Postado

Boa tarde @ThiagoDornelas,

Eu acredito que a sua alteração não esta 100%, digo isso pela regra abaixo referente ao envio do evento EPEC.

image.png

A regra O02 verifica se o ambiente que esta recepcionando o evento EPEC é o ambiente autorizador normal, caso afirmativo o evento vai ser rejeitado, pois esse tipo de evento só pode ser enviado para o ambiente autorizador SVC.

A sua alteração estaria enviado o evento para o ambiente de autorização normal.

Fiz uma revisão completa no arquivo ACBrCTeServicos.ini e enviei para o SVN.

Favor fazer uma cópia da sua alteração, atualizar todos os fontes de todas as pastas, reinstale o ACBr e faça novos testes.

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
13 minutos atrás, Italo Giurizzato Junior disse:

Boa tarde @ThiagoDornelas,

Eu acredito que a sua alteração não esta 100%, digo isso pela regra abaixo referente ao envio do evento EPEC.

image.png

A regra O02 verifica se o ambiente que esta recepcionando o evento EPEC é o ambiente autorizador normal, caso afirmativo o evento vai ser rejeitado, pois esse tipo de evento só pode ser enviado para o ambiente autorizador SVC.

A sua alteração estaria enviado o evento para o ambiente de autorização normal.

Fiz uma revisão completa no arquivo ACBrCTeServicos.ini e enviei para o SVN.

Favor fazer uma cópia da sua alteração, atualizar todos os fontes de todas as pastas, reinstale o ACBr e faça novos testes.

boa tarde @Italo Giurizzato Junior,

inicialmente, eu estava tentando enviar o EPEC para o SVC. tentei destas 3 formas e nas 3 tive os mesmos erros.

ACBrCTe1.Configuracoes.Geral.FormaEmissao := teSVCAN ou teSVCSP ou teSVCRS

 

só consegui a autorização quando passei a usar "ACBrCTe1.Configuracoes.Geral.FormaEmissao := teDPEC" e fazendo a alteração que mencionei anteriormente.

antes desta alteração que fiz, o componente sempre "montava" estava chave "RecepcaoEventoAN_4.00" para localizar no arquivo .ini .

como nao achava esta chave, ele procurava por esta chave "RecepcaoEventoAN_3.00" fazendo com que pegasse o endereço errado.

existe um teste no componente que se nao encontrar a chave referente a versão atual(4.0) ele pega da versão anterior. por isso alterava de RecepcaoEventoAN_4.00 para RecepcaoEventoAN_3.00.

 

vou fazer uma copia dos meus fontes e atualizarei com as suas alterações para ver se vai funcionar.

 

obrigado pelo retorno.

Thiago Dornelas

Analista de Sistemas
e-mail: [email protected]
Belo Horizonte/MG

Postado

@Italo Giurizzato Junior

fiz um teste agora com os fontes atualizados e ocorreu este erro.

estou passando o codigo 31 para infEvento.cOrgao

 

image.png.2f156f6899567a4e6edecc4d3739a8e7.png

 

agora esta pegando o endereço que está na chave que vc adicionou nesta atualização (RecepcaoEventoAN_4.00=https://homologacao.nfe.fazenda.sp.gov.br/CTeWS/WS/CTeRecepcaoEventoV4.asmx)

 

obrigado

 

 

Thiago Dornelas

Analista de Sistemas
e-mail: [email protected]
Belo Horizonte/MG

Postado
3 horas atrás, Italo Giurizzato Junior disse:

Bom dia @ThiagoDornelas,

Como é São Paulo que esta recepcionando o evento, favor colocar cOrgao = 35.

bom dia @Italo Giurizzato Junior, tudo bem?

alterando para "35" o evento foi aceito, porem ao enviar em modo normal, esta ocorrendo a rejeição "Rejeição 641: O evento prévio deste CT-e não foi autorizado na SVC ou ainda não foi sincronizado."

pelo que pesquisei (e tb pela própria rejeição), pode ser um delay na sincronização entre os ambientes. vou aguardar ate hj a tarde pra ver ser autoriza.

 

so para deixar registrado, quando eu consegui autorizar o EPEC com as alterações que eu tinha feito, eu conseguia transmitir em modo normal logo depois do EPEC.

a nota ja aparecia no ambiente nacional e na sefaz mg com a autorização e o evento EPEC.

 

retorno pra vc mais tarde.

 

obrigado

Thiago Dornelas

Analista de Sistemas
e-mail: [email protected]
Belo Horizonte/MG

Postado
16 horas atrás, Italo Giurizzato Junior disse:

Boa tarde @ThiagoDornelas,

Isso é estranho pois vai contra a regra de validação que colei mais acima que diz que o evento EPEC não pode ser enviado para o ambiente normal de autorização.

bom dia @Italo Giurizzato Junior, blz?

cara, deu 24hs do envio do EPEC e continua ocorrendo a mesma rejeição.

quando eu consulto a chave no ambiente nacional, aparece o evento (isso foi imediato) mas quando consulto na sefaz MG, nao consta nada. continua dando rejeição 641.

 

estou achando que para MG, o webservice para EPEC é o que constava no arquivo INI antigo.

Thiago Dornelas

Analista de Sistemas
e-mail: [email protected]
Belo Horizonte/MG

Postado
3 horas atrás, Italo Giurizzato Junior disse:

Bom dia @ThiagoDornelas,

Já inclui na minha lista de tarefas para analise desse caso juntamente com a equipe ACBr. TK-5736 

boa tarde @Italo Giurizzato Junior

agradeço imensamente sua atenção.

 

só para deixar vc por dentro da situação.

voltei o arquivo para ACBrCTeWebServices.pas q eu tinha alterado e tambem o ACBrCTeServicos.ini para a versão antiga e fiz o teste novamente e deu certo.

como te falei, eu estou achando que agora MG autoriza EPEC.

se for do seu interesse esta é a chave do cte: 31240744547281000172570010000000554000000288

Thiago Dornelas

Analista de Sistemas
e-mail: [email protected]
Belo Horizonte/MG

Postado
Em 16/07/2024 at 09:14, Italo Giurizzato Junior disse:

Bom dia @ThiagoDornelas,

Fiz uma alteração no arquivo ACBrCTeServicos.ini

Favor atualizar todos os fontes de todas as pastas, reinstale o ACBr e faça novos testes.

boa tarde @Italo Giurizzato Junior, blz?

desculpe pela demora em retornar. 

agora funcionou 100%.

 

obrigado pela ajuda.

Thiago Dornelas

Analista de Sistemas
e-mail: [email protected]
Belo Horizonte/MG

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.