Ir para conteúdo
  • Cadastre-se

dev botao

Correção de Inutilização e Consulta de NF-e no ambiente SVC-RS (Bahia)


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

Recommended Posts

  • Membros Pro

Boa tarde a equipe do ACBR. Na unit ACBRNFeWebServices há um problema na inutilização quando utiliza-se estado Bahia (29) nos seguintes procedimentos:

Procedure TNFeConsulta.DefinirServicoEAction;

Procedure TNFeInutilizacao.DefinirServicoEAction;

Na condição contida na função deve-se adicionar um filtro de forma de emissão, pois para SVC-RS ocorrem erros:

 

Alterar de:

  if (FConfiguracoes.Geral.ModeloDF = moNFe) and
     (FConfiguracoes.Geral.VersaoDF = ve310) and
     (FConfiguracoes.WebServices.UFCodigo in [29]) then // 29 = BA

 

Para:

  if (FConfiguracoes.Geral.ModeloDF = moNFe) and
     (FConfiguracoes.Geral.VersaoDF = ve310) and
     (FConfiguracoes.Geral.FormaEmissao = teNormal) and
     (FConfiguracoes.WebServices.UFCodigo in [29]) then // 29 = BA

 

Segue unit alterada para vossa apreciação caso seja necessário. Não analisei os layouts anteriores ao 3.10 para efetuar a modificação, Para o ambiente 3.10 funciona perfeitamente.

 

ACBrNFeWebServices.pas

Editado por wendelswl
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Wendel,

É obvio que ao usar o Inutilizar ocorre erro, pelo simples fato que esse serviço não esta disponível no SVC.

Por favor leia a NT 2013/007 versão 1.03 página 7 item 04.5

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

  • Membros Pro

Boa tarde. Há um problema nas funções mencionadas, pois sem as correções que sugeri a URL fica incorreta e o webservice não retorna nada, desta forma a exceção aparece sempre em branco. Se o tipo de emissão da NF-e for normal a url termina com 'NfeInutilizacao' e não com 'NfeInutilizacao2', observe abaixo e ficará mais claro.

 

SOAP 1.2

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

POST /webservices/NfeInutilizacao/NfeInutilizacao.asmx HTTP/1.1
Host: nfe.sefaz.ba.gov.br
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Header>
    <nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao">
      <versaoDados></versaoDados>
      <cUF></cUF>
    </nfeCabecMsg>
  </soap12:Header>
  <soap12:Body>
    <nfeDadosMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao"></nfeDadosMsg>
  </soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: 

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Header>
    <nfeCabecMsg xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao">
      <versaoDados></versaoDados>
      <cUF></cUF>
    </nfeCabecMsg>
  </soap12:Header>
  <soap12:Body>
    <nfeInutilizacaoNFResult xmlns="http://www.portalfiscal.inf.br/nfe/wsdl/NfeInutilizacao"></nfeInutilizacaoNFResult>
  </soap12:Body>
</soap12:Envelope>
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Wendel,

Na unit ACBrNFeWebServices temos:

procedure TNFeInutilizacao.DefinirServicoEAction;
begin
  if (FConfiguracoes.Geral.ModeloDF = moNFe) and
     (FConfiguracoes.Geral.VersaoDF = ve310) and
     (FConfiguracoes.WebServices.UFCodigo in [29]) then // 29 = BA
  begin
    FServico    := CURL_WSDL + 'NfeInutilizacao';
    FSoapAction := FServico + '/NfeInutilizacao';
  end
  else
  begin
    FServico    := CURL_WSDL + 'NfeInutilizacao2';
    FSoapAction := FServico;
  end;
//  FServico    := CURL_WSDL + 'NfeInutilizacao2';
//  FSoapAction := FServico;
end;

Como você pode ver, se o modelo for NF-e e versão for 3.10 e o código da UF for 29 (Bahia) devemos usar "NfeInutilizacao" na montagem da URL do serviço e do Soap Action, caso contrario devemos utilizar o NfeInutilizacao2.

Acredito que o WSDL que você postou se refere a NF-e versão 3.10 - Bahia, correto?

Sendo assim o envelope será montado corretamente.

Agora o que eu quero que você entenda é que não devemos solicitar a inutilização quando a SEFAZ-Autorizadora estiver fora do AR, ou seja, a SEFAZ-Virtual de Contingência estiver ativa, pelo simples fato que o serviço de inutilização não esta disponível no SVC e conforme a nota técnica já mencionada diz que caso seja necessário realizar a inutilização o contribuinte deverá aguardar até que a SEFAZ-Autorizadora volte a operar e ai sim a solicitação será direcionada a ela.

Você terá que colocar na sua aplicação uma checagem de tal forma que se o componente estiver configurado para o SVC a opção de inutilização fique indisponível.

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

  • Membros Pro

Prezado, boa noite.

Entendi que não se deve inutilizar a NF-e em ambiente SVC-RS, pois o serviço não é disponível lá, esta situação já está sendo tratada por nosso ERP. O que estou tentando explicar é que caso haja um erro por parte do desenvolvedor (que foi o nosso caso), o webservice apresentaria um retorno para a aplicação com a exceção correspondente de que o serviço não é disponível e dessa forma acredito que ficaria explícito que este ambiente não deve ser utilizado. Para tal situação a condição acima deveria ser modificada como sugeri, pois se o tipo de emissão for SVC-RS a URL do action seria modificada para "NfeInutilizacao", Da forma que está, tanto a consulta quanto a inutilização nada é  retornado pelo webservice, a exceção é levantada em branco. Ou seja, o problema só ocorre se o tipo de emissão for SVC-RS, se for para a Sefaz-BA tudo acontece naturalmente.

 

Obrigado pelos esclarecimentos e segue a sugestão. Saliento que vossa explicação foi claríssima e obrigado mais uma vez pela disponibilidade.

Editado por wendelswl
Link para o comentário
Compartilhar em outros sites

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