Ir para conteúdo
  • Cadastre-se

dev botao

ACBRNFeX - Como Consultar Nota


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

Recommended Posts

  • Membros Pro
Postado
7 minutos atrás, Italo Giurizzato Junior disse:

Bom dia Valdir,

Já inclui na minha lista de tarefas para analisar esse problema.

Show. Obrigado.

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Membros Pro
Postado
1 hora atrás, Italo Giurizzato Junior disse:

Bom dia Valdir,

Favor atualizar os fontes e faça novos testes.

Boa tarde,

Funcionando beleza! Obrigado!

Agora surgiu uma outra dúvida, rs.

Estou fazendo a consulta assim:
- VResponseRPS := ACBrNFSeX1.ConsultarLoteRps(VProtoclo, VLote);
- VSit := StrToSituacaoLoteRPS(VOK, TNFSeConsultaLoteRpsResponse(VResponseRPS).Situacao);

 Após a consulta, o valor de VSit  está sLoteProcessadoSucesso.
 Isso indica que o lote foi recebido com sucesso, mas não necessariamente que a nota está autorizada, certo?
 Como verifico agora se a situação dessa nota é autorizada ou talvez cancelada?

 Obrigado!

  

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Membros Pro
Postado
16 minutos atrás, Italo Giurizzato Junior disse:

Bom dia Valdir,

O consultar Lote sempre vai lhe informar se o lote foi processado com sucesso ou não.

Para saber se a nota esta cancelada ou não você deve consultar a nota e não o lote.

Bom dia,

Certo.

E como pego o resultado? No demo Acbr a opção que imagino ser a correta é a "Consultar NFSe por numero".

Nessa opção, a procedure TfrmACBrNFSe.ChecarResposta(const Response: TNFSeWebserviceResponse) vai ter:

if Response is TNFSeConsultaNFSeResponse then
begin
 memoLog.Lines.Add('Modo de Envio : ' + MetodoToStr(TNFSeConsultaNFSeResponse(Response).Metodo));
 memoLog.Lines.Add('Sucesso : ' + BoolToStr(Response.Sucesso, True));
  end;

Ou seja, consigo pegar se a consulta por número de NFSe é feita com sucesso, mas não achei como vejo a situação (autorizada ou cancelada) real da nota.

Estou fazendo a consulta certa? Se sim, onde obter essa informação do status da nota no WS?

Obrigado.

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Consultores
Postado

Bom dia Valdir,

A consulta a ser realizada após o cancelamento para obter o XML da NFS-e com as informações sobre o cancelamento é o ConsultarNFSePorNumero se o provedor segue a versão 1 do layout da ABRASF ou ConsultarNFSePorFaixa se o provedor segue a versão 2 do layout da ABRASF.

Quanto ao retorno estamos ainda fazendo os ajustes necessários para que nele tenhamos as informações mínimas necessárias.

Sendo assim lhe peço um pouco mais de paciência até que possamos concluir essas alterações. 

Se desejar pode nos informar quais informações você julga importante obter ao consultar uma nota.

  • Curtir 1
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
9 minutos atrás, Italo Giurizzato Junior disse:

Bom dia Valdir,

A consulta a ser realizada após o cancelamento para obter o XML da NFS-e com as informações sobre o cancelamento é o ConsultarNFSePorNumero se o provedor segue a versão 1 do layout da ABRASF ou ConsultarNFSePorFaixa se o provedor segue a versão 2 do layout da ABRASF.

Quanto ao retorno estamos ainda fazendo os ajustes necessários para que nele tenhamos as informações mínimas necessárias.

Sendo assim lhe peço um pouco mais de paciência até que possamos concluir essas alterações. 

Se desejar pode nos informar quais informações você julga importante obter ao consultar uma nota.

Bom dia,

Tranquilo Italo, vamos aguardar. Tamo junto, rs.

Acho que os dados importantes em na consulta é o protocolo, código de verificação e status (autorizada ou cancelada).

Obrigado!

  • Curtir 1

Valdir Dill

Rio de Janeiro - RJ

 

 

  • 2 semanas depois ...
  • Membros Pro
Postado
13 horas atrás, Italo Giurizzato Junior disse:

Boa noite Valdir,

Fiz diversas alterações nos fontes, favor atualizar, reinstalar e faça novos testes.

Bom dia

Fontes atualizados.

Na consulta pelo lote, tudo certo.

Já a consulta pelo número -> ACBrNFSeX1.ConsultarNFSeporNumero(VNumNF), está ocorrendo um access violation..

O erro ocorre na linha 1042 da ACBrNFSeXProviderABRASFv1.pas (print anexo). 
Se eu comentar a linha anterior (AuxNode := ANode.Childrens.FindAnyNs('Nfse')), o erro não ocorre.
Me parece que a função ANode.Childrens.FindAnyNs('Nfse') destroi o AuxNode e aí quando vai usar novamente na linha seguinte, dá o A.V.

acbr.png

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Consultores
Postado

Bom dia Valdir,

Procure sempre anexar o arquivo soap de envio e de retorno para que eu possa fazer uma analise melhor.

As rotinas foram escritas conforme o layout da ABRASF, mas infelizmente tem provedor que não segue a risca o layout, ai ocorre esses erros e temos que ficar fazendo as gambiarras.

  • Curtir 1
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
55 minutos atrás, Italo Giurizzato Junior disse:

Bom dia Valdir,

Procure sempre anexar o arquivo soap de envio e de retorno para que eu possa fazer uma analise melhor.

As rotinas foram escritas conforme o layout da ABRASF, mas infelizmente tem provedor que não segue a risca o layout, ai ocorre esses erros e temos que ficar fazendo as gambiarras.

Ok, arquivos em anexo.

Obrigado!

000000000000680000000000000680000001-con-nfse.xml 000000000000680000000000000680000001-con-nfse-soap.xml 000000000000680000000000000680000001-lista-nfse-con.xml 000000000000680000000000000680000001-lista-nfse-con-soap.xml

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Membros Pro
Postado
Em 03/08/2021 at 14:01, Italo Giurizzato Junior disse:

Bom dia Valdir,

Favor atualizar os fontes e faça novos testes.

Boa noite,

Fontes atualizados e consulta do protocolo/lote agora está retornando com os dados corretos.

Porém, agora não está mais enviando nota, rs.

Na verdade, ao que parece, há um erro na nota, mas que eu ainda não consegui entender bem o motivo

Estou fazendo assim:

Var
Vesponse : TNFSeEmiteResponse;
begin
AimentaCompon;
VResponse := ACBrNFSeX1.Emitir(VLote.ToString, meAutomatico);
if VResponse.Sucesso then  
 ShowMessage(ACBrNFSeX1.NotasFiscais.Items[0].NFSe.Numero);

A VResponse.Sucesso acima está retornando true, mas o lote não foi recebido, pois, pelo que parece nos arquivos, está com erro de alíquota de ISS. 
Pelo que vi nos arquivos gerados (anexos..tem vários rs) há um problema na alíquota. Não sei o que pode ser, pois estou informando a alíquota normal.

Nesse caso, ou seja, que a nota não foi recebida pelo WS, a VResponse.Sucesso não deveria retornar false e a VResponse.Erros[0].Descricao ter a descrição do erro para mostrar ao usuário?

 Obrigado!

656UNICA-rps.xml 685-env-lot.xml 685-env-lot-soap.xml 685-rec.xml 685-rec-soap.xml 637650039439684226-con-lot.xml 637650039439684226-con-lot-soap.xml 637650039439684226-con-sit.xml 637650039439684226-con-sit-soap.xml 637650039439684226-lista-nfse-con-lot.xml 637650039439684226-lista-nfse-con-lot-soap.xml 637650039439684226-sit.xml 637650039439684226-sit-soap.xml

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Consultores
Postado

Bom dia Valdir,

Verificando o XML de retorno da consulta ao lote que você anexou consta a seguinte mensagem:

<Codigo>E1003</Codigo>

<Mensagem>Ocorreu um erro de conversão. A Alíquota informada, não é permitida para a atividade informada. - POSIÇÃO RPS - 1</Mensagem>

<Correcao>Informe uma Alíquota permitida para a atividade informada.</Correcao>

Foi informado a alíquota 2.01% para o Item da lista de serviços 17.12

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

Bom dia Valdir,

Verificando o XML de retorno da consulta ao lote que você anexou consta a seguinte mensagem:

<Codigo>E1003</Codigo>

<Mensagem>Ocorreu um erro de conversão. A Alíquota informada, não é permitida para a atividade informada. - POSIÇÃO RPS - 1</Mensagem>

<Correcao>Informe uma Alíquota permitida para a atividade informada.</Correcao>

Foi informado a alíquota 2.01% para o Item da lista de serviços 17.12

Bom dia Italo,

Foi informado a alíquota 2.01% para o Item da lista de serviços 17.12?
Sim e não, rs...
Explico: nesse último teste que fiz realmente foi informado alíquota 2.01. Mas fiz outros testes com o mesmo RPS informando 2 e também 5 para esse campo. O erro retornando foi o mesmo.

Porque tentei com 2.01? Porque baixei um XML (em anexo) de uma nota que emitimos diretamente no site da prefeitura. Nesse XML está essa alíquota de 0.0201. Mas tanto faz a alíquota (2, 2,01 ou 5), o erro é o mesmo.

Mas minha questão não seria nem tanto em relação ao erro em si, mas em relação ao comportamento do componente que está trazendo sucesso no envio, quando o RPS foi rejeitado. Não deveria trazer VResponse = false, nesse caso?

Obrigado!

XMLNFseSiteISSCuritiba.XML

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Consultores
Postado

Valdir,

Estamos trabalhando para padronizar os retornos e definirmos como vai ser o comportamento da propriedade sucesso.

O valor True na propriedade Sucesso significa que o serviço foi executado e nos retornou uma resposta, não importa se o Rps foi autorizado ou rejeitado?

É isso que precisamos definir.

 

  • Curtir 1
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
Em 20/08/2021 at 11:54, Italo Giurizzato Junior disse:

Valdir,

Estamos trabalhando para padronizar os retornos e definirmos como vai ser o comportamento da propriedade sucesso.

O valor True na propriedade Sucesso significa que o serviço foi executado e nos retornou uma resposta, não importa se o Rps foi autorizado ou rejeitado?

É isso que precisamos definir.

 

Boa tarde @Italo Giurizzato Junior

Conseguimos emitir a nota (provedor ISSCuritiba). Só continua o problema de, caso a nota não seja autorizada, ele não mostrar as mensagens de erro.

Outra coisa, o envio da nota me parece demorado, em relação ao que era antes. Percebi que o componente grava vários arquivos de envio/consulta (print anexo). São 13 arquivos, além do arquivo da nota que ele grava dentro da pasta \Notas.

Obrigado

acbr.png

Valdir Dill

Rio de Janeiro - RJ

 

 

  • Consultores
Postado

Boa tarde Valdir,

Você chegou a abrir esses arquivos?

Note que além do arquivo de envio do lote, tem o arquivo referente a consulta a situação do lote e o referente a consulta ao lote.

O provedor ISSCuritiba segue a versão 1 do layout da ABRASF, sendo assim após o envio do lote se faz necessário consulta a situação do lote, se a situação for 3 ou 4 devemos consultar o lote para obter as rejeições ou os XMLs das NFS-e.

Se esta gerando todos esses arquivos isso significa que o componente esta realizando essas consultas de forma automática.

Você pode até desligar esse comportamento do componente atribuindo o valor False a propriedade de configuração: ConsultaLoteAposEnvio, mas você vai ter que fazer essas consultas depois via código.

Para diminuir um pouco essa quantidade de arquivos você também atribuir o valor False a propriedade de configuração: 

Configuracoes.WebServices.Salvar

Mas enquanto você esta em uma fase de testes é melhor deixar do jeito que esta.

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

Boa tarde Valdir,

Você chegou a abrir esses arquivos?

Note que além do arquivo de envio do lote, tem o arquivo referente a consulta a situação do lote e o referente a consulta ao lote.

O provedor ISSCuritiba segue a versão 1 do layout da ABRASF, sendo assim após o envio do lote se faz necessário consulta a situação do lote, se a situação for 3 ou 4 devemos consultar o lote para obter as rejeições ou os XMLs das NFS-e.

Se esta gerando todos esses arquivos isso significa que o componente esta realizando essas consultas de forma automática.

Você pode até desligar esse comportamento do componente atribuindo o valor False a propriedade de configuração: ConsultaLoteAposEnvio, mas você vai ter que fazer essas consultas depois via código.

Para diminuir um pouco essa quantidade de arquivos você também atribuir o valor False a propriedade de configuração: 

Configuracoes.WebServices.Salvar

Mas enquanto você esta em uma fase de testes é melhor deixar do jeito que esta.

Boa noite,

Sim, conheço a Configuracoes.WebServices.Salvar. Em produção desligo ela sim.

Só estranhei toda essa quantidade, rs. Mas se é normal, então tudo certo!

Obrigado.

  • Curtir 1

Valdir Dill

Rio de Janeiro - RJ

 

 

  • 3 semanas depois ...
×
×
  • 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.