Ir para conteúdo
  • Cadastre-se

dev botao

Erro ao enviar rps para provedor SigCorp


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

Recommended Posts

Postado

Olá, saudações a todos

 

Atualizei hoje os fontes do ACBR, e depois disso tive problemas ao enviar RPS para o provedor SigCorp, da prefeitura de Nova Serrana/MG. Ao tentar salvar o retorno, estava dando erro de data inválida. Alterei a linha 519 do arquivo ACBrNFSeXProviderABRASFv2.pas e aí deu certo. O conteúdo da linha era:

 

        Data := ObterConteudoTag(ANode.Childrens.FindAnyNs('DataRecebimento'), FpFormatoDataRecebimento);

 

e com a alteração ficou

        Data := ObterConteudoTag(ANode.Childrens.FindAnyNs('DataRecebimento'), tcDatHor);

 

Sugiro esta correção do componente para o pessoal do desenvolvimento.

 

 

Obrigado

ACBrNFSeXProviderABRASFv2.pas

 

 

  • Consultores
Postado
Em 28/01/2023 at 12:53, Rogério Xavier disse:

Olá, saudações a todos

 

Atualizei hoje os fontes do ACBR, e depois disso tive problemas ao enviar RPS para o provedor SigCorp, da prefeitura de Nova Serrana/MG. Ao tentar salvar o retorno, estava dando erro de data inválida. Alterei a linha 519 do arquivo ACBrNFSeXProviderABRASFv2.pas e aí deu certo. O conteúdo da linha era:

 

        Data := ObterConteudoTag(ANode.Childrens.FindAnyNs('DataRecebimento'), FpFormatoDataRecebimento);

 

e com a alteração ficou

        Data := ObterConteudoTag(ANode.Childrens.FindAnyNs('DataRecebimento'), tcDatHor);

 

Sugiro esta correção do componente para o pessoal do desenvolvimento.

 

 

Obrigado

ACBrNFSeXProviderABRASFv2.pas 87.02 kB · 0 downloads

 

 

Bom dia @Rogério Xavier!
Muito obrigado pela intenção em contribuir!
No entanto, a alteração que você fez é em uma unit base e apesar de parecer simples, pode acabar gerando problemas para outros provedores.
Por isso, não é possível aceitar ela.
Além do mais, se você conferir na procedure configuracao dessa mesma unit, vai ver que o FpFormatoDataRecebimento já recebe o valor tcDatHor.
image.png

Por favor, peço que altere o valor de FpFormataDataRecebimento na unit SigCorp.Provider(ela fica em ..\Fontes\ACBrDFe\ACBrNFSeX\Provedores), faça um novo teste e reporte caso de certo.

  • Curtir 2
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado

Boa tarde Diego,

testei o envio da NFS-e com a alteração que você sugeriu e deu certo.

 

A procedure ficou assim:

 

 

procedure TACBrNFSeProviderSigCorp204.Configuracao;
begin
  inherited Configuracao;

  FpFormatoDataRecebimento := tcDatHor;
  {
  // Usado na leitura do envio
  FpFormatoDataRecebimento := tcDatUSA;
  // Usado na leitura das informações de cancelamento
  FpFormatoDataHora := tcDatHor;
  // Usado na leitura da data de emissão da NFS-e
  FpFormatoDataEmissao := tcDatHor;
  }
  with ConfigGeral do
  begin
    QuebradeLinha := '|';
    ConsultaPorFaixaPreencherNumNfseFinal := True;
  end;

  with ConfigAssinar do
  begin
    Rps := True;
    LoteRps := True;
    CancelarNFSe := True;
    RpsGerarNFSe := True;
    SubstituirNFSe := True;
  end;

  with ConfigWebServices do
  begin
    VersaoDados := '2.04';
    VersaoAtrib := '2.04';
  end;

  with ConfigMsgDados do
  begin
    GerarPrestadorLoteRps := True;
    DadosCabecalho := GetCabecalho('');
  end;
end;

  • Consultores
Postado

Boa tarde Rogério,

No arquivo ACBrNFSeXServicos.ini temos o seguinte:

[3145208]
Nome=Nova Serrana
UF=MG
Provedor=SigCorp
Versao=2.03
ProRecepcionar=http://abrasfnovaserrana.sigbancos.com.br/servico.asmx
HomRecepcionar=http://testeabrasfnovaserrana.sigbancos.com.br/servico.asmx

Isso diz que a cidade utiliza o provedor SigCorp cujo webservice esta baseado na versão 2.03 do layout da ABRASF.

E você propõe uma alteração na procedure de configuração da versão 2.04

Primeiramente, essa cidade migrou para a versão 2.04 como outras já migraram?

Se sim, precisamos alterar o arquivo INI informando a versão correta e as URLs dessa nova versão.

Você poderia verificar isso para nós?

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

Postado

Bom dia Italo,

 

Na verdade, eu fiz a alteração tanto na versão 2.03 quanto na 2.04, mas o componente de meu sistema está setado para usar a versão 2.04. Enviei os RPS's usando esta versão e com as alterações na procedure e deu tudo certo, peguei o retorno, enviei o PDF para o cliente e consultei a nota no site da prefeitura. Então acredito que esteja atualizado na prefeitura também, de qualquer forma vou entrar em contato para verificar como realmente está.

 

O componente do ACBr eu configuro da seguinte forma:

  NFSeX.Configuracoes.Geral.Provedor   := proSigCorp;
  NFSeX.Configuracoes.Geral.Versao       := ve204;

 

as procedures ficaram assim:

 

procedure TACBrNFSeProviderSigCorp204.Configuracao;
begin
  inherited Configuracao;

  FpFormatoDataRecebimento := tcDatHor;
  {
  // Usado na leitura do envio
  FpFormatoDataRecebimento := tcDatUSA;
  // Usado na leitura das informações de cancelamento
  FpFormatoDataHora := tcDatHor;
  // Usado na leitura da data de emissão da NFS-e
  FpFormatoDataEmissao := tcDatHor;
  }
  with ConfigGeral do
  begin
    QuebradeLinha := '|';
    ConsultaPorFaixaPreencherNumNfseFinal := True;
  end;

  with ConfigAssinar do
  begin
    Rps := True;
    LoteRps := True;
    CancelarNFSe := True;
    RpsGerarNFSe := True;
    SubstituirNFSe := True;
  end;

  with ConfigWebServices do
  begin
    VersaoDados := '2.04';
    VersaoAtrib := '2.04';
  end;

  with ConfigMsgDados do
  begin
    GerarPrestadorLoteRps := True;
    DadosCabecalho := GetCabecalho('');
  end;
end;

 

e

 

 

procedure TACBrNFSeProviderSigCorp203.Configuracao;
begin
  inherited Configuracao;

  // Usado na leitura do envio
//  FpFormatoDataRecebimento := tcDatUSA;
  FpFormatoDataRecebimento := tcDatHor;
  // Usado na leitura das informações de cancelamento
  FpFormatoDataHora := tcDatHor;
  // Usado na leitura da data de emissão da NFS-e
  FpFormatoDataEmissao := tcDatHor;

  if ConfigGeral.Params.ParamTemValor('FormatoData', 'CancDDMMAAAA') then
    FpFormatoDataHora := tcDatVcto;

  if ConfigGeral.Params.ParamTemValor('FormatoData', 'CancMMDDAAAA') then
    FpFormatoDataHora := tcDatUSA;

  if ConfigGeral.Params.ParamTemValor('FormatoData', 'NFSeDDMMAAAA') then
    FpFormatoDataEmissao := tcDatVcto;

  if ConfigGeral.Params.ParamTemValor('FormatoData', 'NFSeMMDDAAAA') then
    FpFormatoDataEmissao := tcDatUSA;

  with ConfigGeral do
  begin
    UseCertificateHTTP := False;
    QuebradeLinha := '|';
  end;

  with ConfigAssinar do
  begin
    Rps := True;
    CancelarNFSe := True;
    RpsGerarNFSe := True;
  end;

  with ConfigWebServices do
  begin
    VersaoDados := '2.03';
    VersaoAtrib := '2.03';
  end;

  ConfigMsgDados.DadosCabecalho := GetCabecalho('');
end;

  • Curtir 1
  • 2 semanas depois ...
Postado (editado)

Boa tarde Italo,

 

Bom da Italo,

 

Atualizei os componentes e recompilei o sistema, agora estou tendo o seguinte erro ao quando executo ACBrNFSeX1.GerarLote(Lote)


---------------------------
Debugger Exception Notification
---------------------------
Project ServidorWin32.exe raised exception class EACBrXmlException with message 'Extra content at the end of the document
'.
---------------------------
Break   Continue   Help   
---------------------------
 

Editado por Rogério Xavier
  • Consultores
Postado

Boa tarde Rogério,

Verifique se não tem nenhuma unit com uma bolinha vermelha em seu ícone, caso afirmativo delete.

Atualize todos os fontes de todas as pastas.

Reinstale o ACBr com a opção de apagar arquivos antigos marcada.

Recompila a aplicação com a opção Build.

E faça um novo teste.

Veja o resultado do meu teste:

Requisição
Ambiente: 2
Cidade  : Nova Serrana/MG
Provedor: SigCorp Versão: 2.04
 
Método Executado: Enviar Lote Síncrono
 
Parâmetros de Envio
Numero do Lote: 1
 
Parâmetros de Retorno
Nome Arquivo : C:\Erp\XML\202302\NFSe\1-env-lot.xml

 

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

Postado

Bom dia Italo,

 

Desculpa pela demora no retorno, é porque tive que entrar em contato com o suporte do provedor e devido ao recesso de carnaval demorou.

Fiz os procedimentos que sugeriu e os problemas acima foram resolvidos, porém está dando erro conforme no xml em anexo.

 

No xml tem a URL http://abrasfnovaserrana.meumunicipio.online/ws  (esta URL se colar no navegador dá erro)

entrei contato com o provedor e me informaram que a URL correta é https://novaserrana.meumunicipio.online/abrasf/ws?wsdl (se colar esta no navegador da certo)

20230224103623-rec.xml

Postado

Boa tarde Italo,

 

atualizei os componentes e recompilei o sistema, agora está dando o seguinte erro:

 

---------------------------
Debugger Exception Notification
---------------------------
Project ServidorWin32.exe raised exception class EACBrDFeException with message 'SOAP-ENV:Server - Procedure 'ws:RecepcionarLoteRps' not present'.
---------------------------
Break   Continue   Help   
---------------------------

 

 

isto acontece quando tenta executar  EmiteResponse.ArquivoRetorno := AService.Recepcionar(ConfigMsgDados.DadosCabecalho, EmiteResponse.ArquivoEnvio);

na linha 1615 do arquivo ACBrNFSeXProviderBase

Postado
31 minutos atrás, Rogério Xavier disse:

Boa tarde Italo,

 

atualizei os componentes e recompilei o sistema, agora está dando o seguinte erro:

 

---------------------------
Debugger Exception Notification
---------------------------
Project ServidorWin32.exe raised exception class EACBrDFeException with message 'SOAP-ENV:Server - Procedure 'ws:RecepcionarLoteRps' not present'.
---------------------------
Break   Continue   Help   
---------------------------

 

 

isto acontece quando tenta executar  EmiteResponse.ArquivoRetorno := AService.Recepcionar(ConfigMsgDados.DadosCabecalho, EmiteResponse.ArquivoEnvio);

na linha 1615 do arquivo ACBrNFSeXProviderBase

Em anexo o xml do retorno

20230227153025-rec-soap.xml

Postado

Italo, 

 

sempre fiz pelo modo assíncrono.

 

Tentei no modo unitário e deu o seguinte erro:

---------------------------
Debugger Exception Notification
---------------------------
Project ServidorWin32.exe raised exception class EACBrDFeException with message 'SOAP-ENV:Server - Procedure 'ws:GerarNfse' not present'.
---------------------------
Break   Continue   Help   
---------------------------
 

 

 

e no modo síncrono deu o seguinte erro:

---------------------------
Debugger Exception Notification
---------------------------
Project ServidorWin32.exe raised exception class EACBrDFeException with message 'SOAP-ENV:Server - Procedure 'ws:RecepcionarLoteRpsSincrono' not present'.
---------------------------
Break   Continue   Help   
---------------------------
 

 

 

Uma informação para você: No arquivo ACBrNFSeXServicos.ini tem a seguinte seção:

[3145208]
; Atualizado em 27/02/2023
Nome=Nova Serrana
UF=MG
Provedor=SigCorp
Versao=2.04
ProRecepcionar=https://novaserrana.meumunicipio.online/abrasf/ws
HomRecepcionar=http://testenovaserrana.meumunicipio.online/abrasf/ws

que percebi que carrega as URLs. Fiz um teste na unit SigCorp.Provider forçando a usar URL https://novaserrana.meumunicipio.online/abrasf/ws?wsdl (que foi a URL que o suporte do SigCorp me passou), para isso coloquei o seguinte código na linha 538:

  URL := GetWebServiceURL(AMetodo);
  if URL = 'https://novaserrana.meumunicipio.online/abrasf/ws' then
    URL := 'https://novaserrana.meumunicipio.online/abrasf/ws?wsdl';

 

Desta forma não dá o erro que estou relatando, porém o arquivo de retorno vem em branco, com a nomenclatura: 20230227142431-rec.json

 

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