Ir para conteúdo
  • Cadastre-se

dev botao

ACBrNFSeX - Prefeitura de Maringá/PR - Cancelamento não retorna ou monta o XML completo


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

Recommended Posts

Bom dia.

Estou realizando um cancelamento de NFSe com o componente ACBrNFSeX para a prefeitura de Maringá/PR.

// Carga da NFSe
FObjNFSeX.NotasFiscais.LoadFromString(qry.FieldByName('xml').AsString);

// OK - aqui está com a NFSe
// FObjNFSeX.NotasFiscais.count = 1

// realizado o cancelamento
with infCancelamento do
begin
  NumeroNFSe      := qry.FieldByName('numero').AsString;
  CodCancelamento := '1';
  NumeroLote      := qry.FieldByName('idlote').AsString;
end;

FObjNFSeX.CancelarNFSe(infCancelamento);
_ok := FObjNFSeX.WebService.CancelaNFSe.Sucesso; // aqui está TRUE

// aqui a NFSe desaparace
// FObjNFSeX.NotasFiscais.count = 0

O Retorno do cancelamento é apenas o XML de cancelamento
FObjNFSeX.WebService.CancelaNFSe.XmlRetorno
 

<CancelarNfseResposta><RetCancelamento><NfseCancelamento> ... </NfseCancelamento></RetCancelamento></CancelarNfseResposta>

Não existe uma forma de obter o XML completo, com o cancelamento incluído?

Se faço uma consulta, obtenho o XML completo.

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Valter,

No novo componente: ACBrNFSeX não se faz necessário carregar o XML da NFS-e para solicitar o seu cancelamento.

A maioria dos provedores que seguem o layout do ABRASF, é possível sim obter o XML da NFS-e completo, ou seja, com o grupo referente ao cancelamento da mesma.

Para isso basta executar o método ConsultarNFSe (versão 1 do layout da ABRASF) ou ConsultarNFSePorFaixa (versão 2).

O novo componente também tem uma opção de configuração chamada: ConsultaAposCancelar.

Se essa propriedade estiver com o valor True o componente se encarrega de realizar a consulta, utilizando o método mais apropriado dependendo do provedor.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Boa tarde Italo.

Era bem isso que estava procurando. Ativei o parâmetro:

FObjNFSeX.Configuracoes.Geral.ConsultaAposCancelar := True;

Porém não encontrou a NFSe na consulta.

XML de Cancelamento:

<CancelarNfseResposta>
	<RetCancelamento>
		<NfseCancelamento versao="2.01">
			<Confirmacao>
				<Pedido>
					<InfPedidoCancelamento>
						<IdentificacaoNfse>
							<Numero>245</Numero>
							<CpfCnpj>
								<Cnpj>05112399000116</Cnpj>
							</CpfCnpj>
							<InscricaoMunicipal>94421</InscricaoMunicipal>
							<CodigoMunicipio>4115200</CodigoMunicipio>
						</IdentificacaoNfse>
						<CodigoCancelamento>1</CodigoCancelamento>
					</InfPedidoCancelamento>
				</Pedido>
				<DataHora>2021-11-10T16:48:06</DataHora>
			</Confirmacao>
		</NfseCancelamento>
	</RetCancelamento>
</CancelarNfseResposta>

XML de Consulta:

<ConsultarNfseFaixaEnvio>
	<Prestador>
		<CpfCnpj>
			<Cnpj>05112399000116</Cnpj>
		</CpfCnpj>
		<InscricaoMunicipal>94421</InscricaoMunicipal>
	</Prestador>
	<Faixa>
		<NumeroNfseInicial>245</NumeroNfseInicial>
	</Faixa>
	<Pagina>1</Pagina>
</ConsultarNfseFaixaEnvio>

XML Retorno Consulta:

<ConsultarNfseFaixaResposta>
	<ListaMensagemRetorno>
		<MensagemRetorno>
			<Codigo>E212</Codigo>
			<Mensagem>NFS-e não encontrada.</Mensagem>
			<Correcao>Não existe NFS-e emitida com o número do documento ou do RPS ou período pesquisado.</Correcao>
		</MensagemRetorno>
	</ListaMensagemRetorno>
</ConsultarNfseFaixaResposta>

OBS: Eu removi o "<?xml version="1.0" encoding="UTF-8"?>" e os "xmlns" para ficar mais fácil entender os XML´s.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Valter,

E a nota de numero 245 foi cancelada com sucesso?

Se sim, vai ser necessário entrar em contato com o provedor para saber o motivo desse retorno ao consultar a nota cancelada.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Bom dia Italo.

Foi cancelada sim.

Fiz a consulta pelo RPS, e voltou corretamente:

FObjNFSeX.ConsultarNFSeporRps(
  '223',
  'RPS',
  '1'
);

// retornou
// FObjNFSeX.NotasFiscais.Items[0].NFSe.SituacaoNFSe = snCancelado
// FObjNFSeX.WebService.ConsultaNFSeporRps.NumeroNota = 245
// FObjNFSeX.WebService.ConsultaNFSeporRps.DescSituacao = 'Nota Cancelada'

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Valter,

Se pela consulta por Rps deu certo, então a consulta da nota por faixa que deve estar com algum problema.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Sim, essa consulta está com problemas.

FObjNFSeX.ConsultarNFSePorFaixa(
  '245',
  '245'
);

Voltou como sucesso (não está errado?):
FObjNFSeX.WebService.ConsultaNFSe.Sucesso = true

Porém voltou erros:
FObjNFSeX.WebService.ConsultaNFSe.Erros.Count = 2
FObjNFSeX.NotasFiscais.Count = 0

E o erro é o mesmo reportado anteriormente ("NFS-e não encontrada ...").

Mas acredito que descobri o problema:
O arquivo "ACBrNFSeXProviderABRASFv2.pas", tem um "if OnlyNumber(Response.InfConsultaNFSe.NumeroIniNFSe) <> OnlyNumber(Response.InfConsultaNFSe.NumeroFinNFSe) then", comentei, e passou.
Parece que para Maringá a TAG "NumeroNfseFinal" tem de ser enviada.

<ConsultarNfseFaixaEnvio xmlns="http://www.abrasf.org.br/nfse.xsd">
	<Prestador>
		<CpfCnpj>
			<Cnpj>05112399000116</Cnpj>
		</CpfCnpj>
		<InscricaoMunicipal>94421</InscricaoMunicipal>
	</Prestador>
	<Faixa>
		<NumeroNfseInicial>245</NumeroNfseInicial>
		<NumeroNfseFinal>245</NumeroNfseFinal>
	</Faixa>
	<Pagina>1</Pagina>
</ConsultarNfseFaixaEnvio>

Assim funciona.

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Boa tarde Valter,

Fiz uma alteração que acredito venha resolver esse problema desse provedor e de outros que existem a presença da tag mesmo quando o valor inicial e final são iguais.

Favor atualizar os fontes e faça novos testes.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 916 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
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.