Ir para conteúdo
  • Cadastre-se

dev botao

Erro Versão 3.10


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

Recommended Posts

  • Moderadores

Bom dia

Sim veja lá nas regras onde pede pra postar em um local único e aguardar a resposta, sendo que o mesmo post saiu em dois locais em questão de 2 minutos, igualmente!

Bom no post que citei o Italo explica como funciona as duas propriedades !

citando abaixo uma parte do texto:

 

Dica de configuração para que o componente gere o XML no modelo e versão correta:

 

 ACBrNFe.Configuracoes.Geral.ModeloDF := moNFe;
 ACBrNFe.Configuracoes.Geral.VersaoDF := ve200;
 

No exemplo acima o XML a ser gerado vai ser o da NF-e na versão 2.00

 

Valores aceitos pela propriedade ModeloDF: moNFe e moNFCe.

 

Quando o modelo for moNFe, os valores aceitos pela propriedade VersaoDF são: ve200 e ve310.

 

Quando o modelo for moNFCe, os valores aceitos pela propriedade VersaoDF são: ve300 e ve310.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Ok, Juliomar agradeço pelo sua resposta. Porem se vc observar no codigo abaixo na classe pcnConversao do acbr, variável AVersaoDF não vai consegui setar os valores do ambiente 310, pois ela se modifica em tempo de execução para 200, acredito que o acbr não está usando o codigo da versão da mensagens para ambiente 3.10 ainda não.

 

function GetVersaoNFe(AModeloDF: TpcnModeloDF; AVersaoDF: TpcnVersaoDF; ALayOut: TLayOut): string;
begin
  result := '';
 
  case AModeloDF of
   moNFe:  begin
             case AVersaoDF of
              ve200: begin
                       case ALayOut of
                        LayNfeStatusServico:  result := '2.00';
                        LayNfeRecepcao:       result := '2.00';
                        LayNfeRetRecepcao:    result := '2.00';
                        LayNfeConsulta:       result := '2.01';
                        LayNfeCancelamento:   result := '2.00';
                        LayNfeInutilizacao:   result := '2.00';
                        LayNfeCadastro:       result := '2.00';
                        LayNfeEnvDPEC:        result := '1.01';
                        LayNfeConsultaDPEC:   result := '1.01';
                        LayNFeCCe:            result := '1.00';
                        LayNFeEvento:         result := '1.00';
                        LayNFeConsNFeDest:    result := '1.01';
                        LayNFeDownloadNFe:    result := '1.00';
                        LayNfeAutorizacao:    result := '2.00';
                        LayNfeRetAutorizacao: result := '2.00';
                       end;
                     end;
              ve310: begin
                       case ALayOut of
                        LayNfeStatusServico:  result := '3.10';
                        LayNfeRecepcao:       result := '3.10';
                        LayNfeRetRecepcao:    result := '3.10';
                        LayNfeConsulta:       result := '3.10';
                        LayNfeCancelamento:   result := '3.10';
                        LayNfeInutilizacao:   result := '3.10';
                        LayNfeCadastro:       result := '2.00';
                        LayNfeEnvDPEC:        result := '1.01';
                        LayNfeConsultaDPEC:   result := '1.01';
                        LayNFeCCe:            result := '1.00';
                        LayNFeEvento:         result := '1.00';
                        LayNFeConsNFeDest:    result := '1.01';
                        LayNFeDownloadNFe:    result := '1.00';
                        LayNfeAutorizacao:    result := '3.10';
                        LayNfeRetAutorizacao: result := '3.10';
                       end;
                     end;
             end;
           end;
   moNFCe: begin
             case AVersaoDF of
              ve300: begin
                       case ALayOut of
                        LayNfeStatusServico:  result := '3.00';
                        LayNfeRecepcao:       result := '3.00';
                        LayNfeRetRecepcao:    result := '3.00';
                        LayNfeConsulta:       result := '3.00';
                        LayNfeCancelamento:   result := '3.00';
                        LayNfeInutilizacao:   result := '3.00';
                        LayNfeCadastro:       result := '2.00';
                        LayNfeEnvDPEC:        result := '1.01';
                        LayNfeConsultaDPEC:   result := '1.01';
                        LayNFeCCe:            result := '1.00';
                        LayNFeEvento:         result := '1.00';
                        LayNFeConsNFeDest:    result := '1.01';
                        LayNFeDownloadNFe:    result := '1.00';
                        LayNfeAutorizacao:    result := '3.00';
                        LayNfeRetAutorizacao: result := '3.00';
                       end;
                     end;
              ve310: begin
                       case ALayOut of
                        LayNfeStatusServico:  result := '3.10';
                        LayNfeRecepcao:       result := '3.10';
                        LayNfeRetRecepcao:    result := '3.10';
                        LayNfeConsulta:       result := '3.10';
                        LayNfeCancelamento:   result := '3.10';
                        LayNfeInutilizacao:   result := '3.10';
                        LayNfeCadastro:       result := '2.00';
                        LayNfeEnvDPEC:        result := '1.01';
                        LayNfeConsultaDPEC:   result := '1.01';
                        LayNFeCCe:            result := '1.00';
                        LayNFeEvento:         result := '1.00';
                        LayNFeConsNFeDest:    result := '1.01';
                        LayNFeDownloadNFe:    result := '1.00';
                        LayNfeAutorizacao:    result := '3.10';
                        LayNfeRetAutorizacao: result := '3.10';
                       end;
                     end;
             end;
           end;
  end;
end;
Editado por Fernando Di Pace
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Cesar,

 

O seu fonte esta desatualizado, o que esta disponivel já esta desta forma:

 

  // Alterado por Italo em 13/03/2014
  if ((FConfiguracoes.Geral.ModeloDF = moNFCe) or (FConfiguracoes.Geral.VersaoDF = ve310)) and not
     (FConfiguracoes.WebServices.UFCodigo in [13, 23, 31])  then // AM, CE, MG
   begin
     SoapAction := 'http://www.portalfiscal.inf.br/nfe/wsdl/NfeAutorizacao';
     nfeAutorizacaoLote := True;
   end
  else
   begin
     SoapAction := 'http://www.portalfiscal.inf.br/nfe/wsdl/NfeRecepcao2';
     nfeAutorizacaoLote := False;
   end;
 

Esse fragmento é do ACBrNFeWebServices.pas

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

Bom dia Fernando,

 

Vamos analisar o código do componente:

 

Na unit ACBrNFeConfigurações temos a definição da classe TGeralConf e nela consta as propriedades ModeloDF e VersaoDF:

 

    property ModeloDF: TpcnModeloDF read FModeloDF write SetModeloDF default moNFe;
    property VersaoDF: TpcnVersaoDF read FVersaoDF write SetVersaoDF default ve200;
 

Note que em ambas as propriedades quando realizamos uma escrita (write) é executado uma procedure.

 

procedure TGeralConf.SetModeloDF(AValue: TpcnModeloDF);
begin
  FModeloDF := AValue;
  FModeloDFCodigo := StrToInt(ModeloDFToStr(FModeloDF));

  if FModeloDF = moNFe then
    SetVersaoDF(ve200)
  else
    SetVersaoDF(ve300);
end;

 

Na procedure SetModeloDF realmente, caso seja NF-e a versão é "setada" como 2.00

 

procedure TGeralConf.SetVersaoDF(const Value: TpcnVersaoDF);
begin
  FVersaoDF := Value;
  if (FModeloDF = moNFe) and (FVersaoDF = ve300) then FVersaoDF := ve200;
  if (FModeloDF = moNFCe) and (FVersaoDF = ve200) then FVersaoDF := ve300;
end;
 

Por outro lado a procedure SetVersaoDF aceita a versão 3.10, retornando para 2,00 caso a versão informada seja 3.00 e modelo seja NF-e.

 

A dica é sempre configurar da seguinte forma:

 

ACBrNFe.Configuracoes.Geral.ModeloDF := moNFe;
ACBrNFe.Configuracoes.Geral.VersaoDF := ve310;
 

Note que primeiro estou "setando" o modelo e depois a versão.

 

Ao "setar" modelo como sendo moNFe o componente coloca a versão 2.00 uma vez que esta é a versão vigente, mas se em seguinda você "setar" a versão corretamente ou seja ve310 o componente vai aceitar essa versão e gerar o XML da NF-e na versão 3.10

 

Duvidas?

  • Curtir 2
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

Ok italojjr é isso mesmo se colocar o codigo acima citado em tempo de projeto dá certo, porem se colocar na propriedade do objeto visual ele não consegue setar o valor para 310 em tempo de execução.

 

Obg. pela resposta.

Editado por Fernando Di Pace
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Italo em alguns caso o status retorna assim

 

<retConsStatServ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.portalfiscal.inf.br/nfe" versao="2.00"><tpAmb>2</tpAmb><verAplic>4.00</verAplic><cStat>239</cStat><xMotivo>Rejeicao: Cabecalho - Versao do arquivo XML nao suportada</xMotivo><cUF>29</cUF><dhRecbto>2014-01-02T00:00:00</dhRecbto></retConsStatServ>

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Cesar,

 

Leia o meu post acima #29, pois notei que ao consultar o status de serviço o XML esta sendo gerado na versão 2.00 e no caso do envio na versão 3.10

 

Você chegou a verificar a unit ACBrNFeWebServices.pas conforme eu postei #28.

 

Eu acredito que você esta com algum fonte desatualizado ou esta configurando o componente de forma errada.
 

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

Boa tarde Cesar,

 

A unit ACBrNFeWebServices.pas, após baixar tudo novamente como esta o fragmento que contem a seleção do método?

 

Agora tem que estar desta forma:

 

  if ((FConfiguracoes.Geral.ModeloDF = moNFCe) or (FConfiguracoes.Geral.VersaoDF = ve310)) and not
     (FConfiguracoes.WebServices.UFCodigo in [23, 31])  then // CE, MG
   begin
     SoapAction := 'http://www.portalfis...feAutorizacao';
     nfeAutorizacaoLote := True;
   end
  else
   begin
     SoapAction := 'http://www.portalfis.../NfeRecepcao2';
     nfeAutorizacaoLote := False;
   end;
 

O seu Delphi esta configurado para salvar as DCU em pastas diferentes das dos fontes?

 

Você checou a sua aplicação se a configuração do componente esta da forma explicada no post #29 deste 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

  • Membros Pro

Italo temperatura alguma Coisa errada o Pedido ESTA desfazer com uma versao Correta ja o Retorno Localidade: Não ...

 

<? Xml version = "1.0">
 
- <consStatServ Versao="3.10" xmlns="http://www.portalfiscal.inf.br/nfe">
 
<tpAmb> 2 </ tpAmb>
 
<cUF> 29 </ cUF>
 
<xServ> STATUS </ xServ>
 
</ ConsStatServ>
 
 

20140329081407-ped-sta.xml

20140329081535-ped-sta.xml

20140329081541-sta.xml

20140329081559-ped-sta.xml

20140329081601-sta.xml

20140329081621-ped-sta.xml

20140329081652-ped-sta.xml

20140329081701-sta.xml

20140329081752-ped-sta.xml

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Ha e ja fiz tudo o que vc pedio #29 e #28

 // Alterado por Italo em 13/03/2014
  if ((FConfiguracoes.Geral.ModeloDF = moNFCe) or (FConfiguracoes.Geral.VersaoDF = ve310)) and not
     (FConfiguracoes.WebServices.UFCodigo in [13, 23, 31])  then // AM, CE, MG
   begin
     nfeAutorizacaoLote := True;
   end
  else
   begin
     nfeAutorizacaoLote := False;
   end;
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite Cesar,

 

Você já tentou realizar a consulta ao status de serviço em outra UF (por exemplo SP) ?

 

Apesar da SEFAZ-BA ter disponiblizados tanto em homologação quanto de produção as URLs para a versão 3.10, notei que não esta funcionando ainda.

 

Utilizando a minha aplicação com os fontes do componente atualizados (o que esta disponivel hoje ho SVN) ao realizar a consulta na SEFAZ-BA ocorre o mesmo problema que você obteve, por outro lado ao mudar para a SEFAZ-SP o retorno é "Serviço em Operação".

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

Bom dia Ademar,

 

Ontem foi disponibilizado uma alteração.

 

Você atualizou os seus fontes e testou novamente?

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

Bom dia Cesar,

 

Os seus testes com a versão 3.10 se refere a UF = 29, ou seja, Bahia, correto?

 

Realizei algumas alterações no componente visando a versão 3.10 da NF-e para a Bahia.

 

Favor atualizar os fontes e realizar os 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

  • 1 mês depois ...
  • Membros Pro
Italo voltei a fazer os teste com a versão da nota fiscal 3.10 e da o seguente erro:
 
The conversion of char data type to smalldatetime data type resulted in an out-of-range smalldatetime value.
The statement has been terminated.
 
ACBrNFe1.NotasFiscais.Assinar;
NumeroLote := RetornaSequence('seq_nfe_emitida_lote');
ACBrNFe1.Enviar(NumeroLote, False, false);
 

 

29140512667605000110550010002268151002268152-nfe.xml

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Cesar,

 

Esse erro esta ocorrendo em qual comando?

 

Assinar, RetornaSequence ou Enviar?

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

Cesar,

 

Tente debugar para encontrar o ponto onde ocorre o erro.

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

Italo o erro ocorre neste bloco 

 

  //if (FConfiguracoes.Geral.ModeloDF = moNFe) or (not ASincrono) then
  if (FConfiguracoes.Geral.ModeloDF = moNFe) and (not ASincrono) then
   begin
    Self.Retorno.Recibo := Self.Enviar.Recibo;
    if not(Self.Retorno.Executar) then
       begin
         if Assigned(TACBrNFe( FACBrNFe ).OnGerarLog) then
            TACBrNFe( FACBrNFe ).OnGerarLog(Self.Retorno.Msg);
         raise EACBrNFeException.Create(Self.Retorno.Msg);
       end;
   end;
Link para o comentário
Compartilhar em outros sites

  • Membros Pro
Italo apaguei a pasta e baixei novamente agora dâ o seguinte erro na propriedade. 
 
   
 
 //{eventos_juaumkiko}
    if Assigned(NFeRetorno.procEventoNFe) then begin // Incluido por Leonardo Gregianin em 08/01/2014 - resolver problema de violação de acesso
    FprocEventoNFe.Clear;
    for I := 0 to NFeRetorno.procEventoNFe.Count -1 do
    begin
      FprocEventoNFe.Add;
      FprocEventoNFe.Items.RetEventoNFe.idLote   := NFeRetorno.procEventoNFe.Items.RetEventoNFe.idLote;
      FprocEventoNFe.Items.RetEventoNFe.tpAmb    := NFeRetorno.procEventoNFe.Items.RetEventoNFe.tpAmb;
      FprocEventoNFe.Items.RetEventoNFe.verAplic := NFeRetorno.procEventoNFe.Items.RetEventoNFe.verAplic;
      FprocEventoNFe.Items.RetEventoNFe.cOrgao   := NFeRetorno.procEventoNFe.Items.RetEventoNFe.cOrgao;
      FprocEventoNFe.Items.RetEventoNFe.cStat    := NFeRetorno.procEventoNFe.Items.RetEventoNFe.cStat;
      FprocEventoNFe.Items.RetEventoNFe.xMotivo  := NFeRetorno.procEventoNFe.Items.RetEventoNFe.xMotivo;
      FprocEventoNFe.Items.RetEventoNFe.XML 
Link para o comentário
Compartilhar em outros sites

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