Jump to content

2 Dia do ACBr

O Dia da Automação Comercial está chegando!
Inscreva-se

Nova Loja Oficial
loja.projetoacbr.com.br
Ajude o projeto a crescer, com estilo

Comprar

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

wendelswl

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

Recommended Posts

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

Edited by wendelswl

Share this post


Link to post
Share on other sites

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 Jurisato 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

Share this post


Link to post
Share on other sites

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>

Share this post


Link to post
Share on other sites

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 Jurisato 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

Share this post


Link to post
Share on other sites

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.

Edited by wendelswl

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...