Ir para conteúdo
  • Cadastre-se

dev botao

Cancelamento NFSE Provedor Publica cidade Arroio Trinta


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

Recommended Posts

Postado

Bom Dia,

Estou com problema para efetuar o cancelamento da NFSe no servidor publica ao enviar o xml me retorna o seguinte erro:

       <Codigo>E160</Codigo>
<Mensagem>Arquivo enviado fora da estrutura do arquivo XML de entrada.</Mensagem>
<Correcao>Envie um arquivo dentro do schema do arquivo XML de entrada.</Correcao>

Segue os XML em anexo

 

Aproveitando tive que fazer os seguintes ajustes para o funcionamento para esta cidade:

1 - Incluido a cidade no arquivo ACBRNfseXServicos

[4201604 ]
; Atualizado em 04/02/2022
Nome=Arroio Trinta
UF=SC
Provedor=Publica
ProRecepcionar=http://nfse1.publica.inf.br/arroiotrinta_nfse_integracao/Services
HomRecepcionar=http://nfse-teste.publica.inf.br/homologa_nfse_integracao/Services

2- O Cancelamento estava indo sem o numero da nota, verificado que ao emitir o provedor retorna o numero com o prefixo do ano 2022

no arquivo Publica.Provider na procedure PrepararCancelaNFSe ao efetuar o comando:

StrToIntDef(Response.InfCancelamento.NumeroNFSe, 0);

ele retorna o valor somente zeros, fiz um copy ignorando os primeiros dígitos '2022' ai ele retornou o numero inteiro corretamente.

 

 

000000000001792-can.xml 000000000001792-ped-can.xml

  • Consultores
Postado

Boa tarde,

Não compreendi o que você quis dizer no item 2 da sua postagem.

Até onde sei para esse provedor o numero da nota deve ser passado com 15 dígitos.

Como o provedor retorna o numero da nota e como você informou esse numero ao pedir o seu 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

o provedor me retorna o numero 202200000001806

ao passar por essa linha StrToIntDef(Response.InfCancelamento.NumeroNFSe, 0);

o resultado fica 000000000000000 ele não retorna o inteiro.

 

quando eu coloco o numero sem o 2022 na frente ao passar pela linha o resultado fica:

1806 que é o numero correto da nota.

Postado

Precisei fazer a seguinte implementação na unit Publica.Provider

 

procedure TratarRetornoConsultaNFSeporRps

copiei ela da unit ACBrNFSeXProviderABRASFv1 e fiz a seguinte alteração:

alteração na linha 465

ANode := Document.Root.Childrens.FindAnyNs('ListaNfse'); //incluido a Tag que estava acima do CompNfse
ANode := ANode.Childrens.FindAnyNs('CompNfse');

na linha 486

incluído após AuxNodeCanc := AuxNodeCanc.Childrens.FindAnyNs('Confirmacao');

a seguinte verificação:

if AuxNodeCanc <> nil then begin
            Response.Data := ObterConteudoTag(AuxNodeCanc.Childrens.FindAnyNs('DataHora'), tcDatHor);
            Response.DescSituacao := 'Nota Cancelada';
end;

pois no arquivo de retorno ela manda a tag cancelamento vazia no arquivo de retorno, caso nao efetuace essa verificação apresentava violação de acesso ao atribuir o valor do Response.Data

 

na linha 514 criado variavel para pegar a informação do link de consulta

sLink := ObterConteudoTag(AuxNode.Childrens.FindAnyNs('LinkVisualizacaoNfse'), tcStr);

e atribuido na linha 520

Link := sLink;

 

segue a unit com a alteração e o xml de retorno:

 

Referente ao cancelamento ocorreu corretamente.

 

 

 

Publica.Provider.pas 1807A1-comp-nfse.xml

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