Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Boa Tarde!

Estou implementando o cancelamento por substituição, estou tendo o retorno 135 (evento vinculado e registrado) tudo conforme o esperado, porem ao verificar status retorna com status 100, então fui

verificar os eventos retornados nesta consulta e encontrei um erro ao converter.

TpcnTpEventoString : array[0..54] of String =('-99999', '110110', '110111',
                                                '210200', '210210', '210220',
                                                '210240', '110112', '110113',
                                                '110114', '110160', '310620',
                                                '510620', '110140', '610600',
                                                '610501', '610550', '610601',
                                                '610611', '990900', '111500',
                                                '111501', '111502', '111503',
                                                '411500', '411501', '411502',
                                                '411503', '610500', '990910',
                                                '000000', '610610', '610110',
                                                '110170', '310610', '110115',
                                                '310611', '610614', '610510',
                                                '610514', '610554', '610615',
                                                '790700', '240130', '240131',
                                                '240140', '240150', '240160',
                                                '240170', '440130', '440140',
                                                '440150', '440160', '110112',
                                                '110116');

Vejam que na terceira linha, segunda coluna (posição 7 no array),  temos o '110112' e na penúltima linha, terceira coluna (posição 53 do array),  também temos o '110112'

Agora vejam o TpcnTpEvento:

TpcnTpEvento = (teNaoMapeado, teCCe, teCancelamento, teManifDestConfirmacao,
                  teManifDestCiencia, teManifDestDesconhecimento, teManifDestOperNaoRealizada,
                  teEncerramento, teEPEC, teInclusaoCondutor,
                  teMultiModal, teRegistroPassagem, teRegistroPassagemBRId,
                  teEPECNFe, teRegistroCTe, teRegistroPassagemNFeCancelado,
                  teRegistroPassagemNFeRFID, teCTeCancelado, teMDFeCancelado,
                  teVistoriaSuframa, tePedProrrog1, tePedProrrog2,
                  teCanPedProrrog1, teCanPedProrrog2, teEventoFiscoPP1,
                  teEventoFiscoPP2, teEventoFiscoCPP1, teEventoFiscoCPP2,
                  teRegistroPassagemNFe, teConfInternalizacao, teCTeAutorizado,
                  teMDFeAutorizado, tePrestDesacordo, teGTV, teMDFeAutorizado2,
                  teNaoEmbarque, teMDFeCancelado2,teMDFeAutorizadoComCTe,
                  teRegPasNfeProMDFe, teRegPasNfeProMDFeCte, teRegPasAutMDFeComCte,
                  teCancelamentoMDFeAutComCTe, teAverbacaoExportacao, teAutCteComplementar,
                  teCancCteComplementar,teCTeSubstituicao,teCTeAnulacao,teLiberacaoEPEC,teLiberacaoPrazoCanc,
                  teAutorizadoRedespacho,teautorizadoRedespIntermed,teAutorizadoSubcontratacao,
                  teautorizadoServMultimodal, teCancSubst, teAlteracaoPoltrona);

A posição 7 é teEncerramento, e é assim que o ACBr identifica o retorno da verificação de status, fica como Encerramento ao invés de teCancSubst.

É identificado pela linha 193 (infEvento.tpEvento     := StrToTpEvento(ok,Leitor.rCampo(tcStr, 'tpEvento'));)  do arquivo pcnRetEnvEventoNFe no método TRetEventoNFe.LerXml

 

O objetivo é setar a NFC-e como cancelada (cStat 101) mas pelo geito não vou conseguir fazer isso, já que no evento retorna 135 e no status 100. Estou testando no Sefaz/PR. Alguem de outra UF tem o mesmo problema (retornar 100 ao invés do 101 depois de autorizado o cancelamento por substituição). ??

P.S. Procurei na NT mas não encontrei nenhuma alteração na verificação de status.

 

 

 

 

 

 

 

 

-=Ma®©oS=-

Postado

ninguém mais identificou o problema? Ninguém verificou status da NFC-e substituída ?

Até sei uma solução simples que seria no arquivo pcnRetEnvEventoNFe.pas no método TRetEventoNFe.LerXml depois da linha 193...

if infEvento.tpEvento = teEncerramento then 
  infEvento.tpEvento := teCancSubst;

 

mas não seria "nada elegante".

-=Ma®©oS=-

Postado

A impressão do cancelamento por substituição também identifica de maneira incorreta:

image.png.11a981cfef2ee453936659ba3de8478d.png

 

uma parte fica como "Encerramento" outra como "CC-e", o problema é que identifica como encerramento de MDF-e ao invés de Cancelamento por substituição.

 

-=Ma®©oS=-

  • 4 semanas depois ...
Postado (editado)

Se alguem precisa resolver a parte da impressão (fast report), só alterar no DanfeEventos.fr3

 

procedure PageHeader1OnBeforePrint(Sender: TfrxComponent);
begin

  if <Eventos."TipoEvento"> = '110111' then
  begin
    Memo40.Text:='CANCELAMENTO DE NF-e';
  end
  else if <Eventos."TipoEvento"> = '110112' then
  begin
    Memo40.Text:='CANCELAMENTO POR SUBSTITUIÇÃO DE NF-e';
  end
  else
  begin
    Memo40.Text:='CARTA DE CORREÇÃO ELETRÔNICA';
  end;
  Memo1.Text := Memo40.Text;

end;

 

Editado por -=Ma®©oS=-

-=Ma®©oS=-

  • Consultores
Postado
22 horas atrás, -=Ma®©oS=- disse:

Se alguem precisa resolver a parte da impressão (fast report), só alterar no DanfeEventos.fr3

 


procedure PageHeader1OnBeforePrint(Sender: TfrxComponent);
begin

  if <Eventos."TipoEvento"> = '110111' then
  begin
    Memo40.Text:='CANCELAMENTO DE NF-e';
  end
  else if <Eventos."TipoEvento"> = '110112' then
  begin
    Memo40.Text:='CANCELAMENTO POR SUBSTITUIÇÃO DE NF-e';
  end
  else
  begin
    Memo40.Text:='CARTA DE CORREÇÃO ELETRÔNICA';
  end;
  Memo1.Text := Memo40.Text;

end;

 

Enviei essa alteração ao SVN. Queira por favor atualizar, testar e reportar qualquer problema.

Note que ainda precisamos resolver a questão levantada no princípio das conversões.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado
Em 01/04/2019 at 14:06, -=Ma®©oS=- disse:

ninguém mais identificou o problema? Ninguém verificou status da NFC-e substituída ?

Até sei uma solução simples que seria no arquivo pcnRetEnvEventoNFe.pas no método TRetEventoNFe.LerXml depois da linha 193...


if infEvento.tpEvento = teEncerramento then 
  infEvento.tpEvento := teCancSubst;

 

mas não seria "nada elegante".

Uma solução para  a conversão seria esta... mas não é nada elegante, o melhor a fazer, no MEU ponto de vista, seria separar o tipo enumerado (tpEvento) por documento.

 

-=Ma®©oS=-

  • Consultores
Postado
5 minutos atrás, -=Ma®©oS=- disse:

Uma solução para  a conversão seria esta... mas não é nada elegante, o melhor a fazer, no MEU ponto de vista, seria separar o tipo enumerado (tpEvento) por documento.

 

Exatamente isso que conversamos e estamos planejando fazer.

Parece que não vamos ter outra opção pois pode ser que, de agora em diante, comecem a surgir mais eventos e eles acabem tendo o mesmo código.

Infelizmente, isso deve quebrar algum código... :(

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Postado
2 minutos atrás, EMBarbosa disse:

Exatamente isso que conversamos e estamos planejando fazer.

Parece que não vamos ter outra opção pois pode ser que, de agora em diante, comecem a surgir mais eventos e eles acabem tendo o mesmo código.

Infelizmente, isso deve quebrar algum código... :(

Pois é, SEFAZ poderia facilitar e não repetir os códigos de tpEvento, mas pra que facilitar né? kkk

Também acho que vai acontecer de repetir mais no futuro, vai ser uma baita alteração, com certeza haverá impactos.

 

-=Ma®©oS=-

  • Este tópico foi criado há 2030 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.