Ir para conteúdo
  • Cadastre-se

dev botao

Rps Cuiabá


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

Recommended Posts

Boa tarde pessoal.

 

Estou notando algo estranho na emissão da NFS-e.

Vira e mexe vem me retornando a seguinte mensagem:

Código Erro: E010

Mensagem: RPS ja informado. Numero do RPS em que ocorreu o erro: ....

Correção: Para essa Inscricao Municipal/CNPJ ja existe um RPS informado com o mesmo numero, serie e tipo.

Provedor: ISSNET.

 

Com esta informação fui consultar no site da prefeitura e a nota consta lá.

O AcbrNfse esta enviou a nota só que não sei porque não pegou o retorno.

 

Alguém já passou por isto?

Sabe como resolver?

Link para o comentário
Compartilhar em outros sites

  • 7 meses depois ...
  • Consultores

Bom dia a todos,

 

Primeiramente, lembrem-se que é responsabilidade da aplicação controlar o numero do RPS que deve ser sequencial.

 

O numero da NFS-e por sua vez é controlado pelo Web Services.

 

Quanto as funções de consulta, o programa exemplo possui 4 botões:

[Consultar Situação do Lote]

[Consultar Lote]

[Consultar NFSe por RPS]

[Consultar NFSe por Período]

 

É importante ressaltar que dependendo do provedor alguma dessas funções podem não estar disponível como por exemplo: Consultar Situação do Lote.

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

Deixa eu tentar te explicar o que acontece Italo.

 

No meu sistema o usuário manda vários registros de notas de uma vez, ele marca os registros que quer ser gerado a nota e o sistema entra em um while enviando.

Mas tem momentos que em determinados registros dá o erro E010 informado no primeiro post. Não é problema do sistema ter gerado número de rps repetido, pois 

acesso o site da prefeitura e aquele registro que deu o erro lá esta a nota gerada no site. Ai o que tenho que fazer é lançar os dados da nota do site para o meu sistema para que assim ele de continuidade na sequencia do número de rps.

Eu acredito que este problema esta no componente ou no servidor da prefeitura que é o issnet.

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

  • Consultores

Boa tarde leufmt,

 

Entendi o usuário lança vários RPS e depois tem a opção de selecionar os que deseja enviar para o provedor e este retornar as respectivas notas.

 

Como ocorre esse envio, é por lote ou de um em um?

 

A sugestão que dou é usar o envio por lote (até 50 RPS), caso o provedor tenha essa opção disponí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

  • Consultores

Bom dia,

 

Por favor, não post fragmentos de código como texto no post e sim como arquivo em anexo, principalmente se o fragmento for grande como o seu.

 

É simples, basta clicar no botão [Mais Opções] que você vai encontrar um outro botão para anexar arquivos.

 

Edit o seu post anexando o fragmento como um arquivo TXT (bloco de notas).

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

Notei segundo o seu código, que você envia os RPS de forma individual, ou seja, cada lote possui apenas um RPS, vem vez de enviar todos os RPS no mesmo lote. Mas até tudo bem.

 

Notei que a variável RPS por receber o seu valor do campo ULTIMO somado de 1 da tabela NFSE_NOTA ou do campo NUMERONOTAINICIAL_PAR de uma tabela acredito eu chamada Parametro.

 

Até ai perfeito.

 

Mas em que momento os campos ULTIMO e ou NUMERONOTAINICIAL_PAR são atualizados em suas respectivas tabelas?

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

É atualizar a partir do momento que é gerada a nota, abaixo da linha "If ACBrNFSe.Enviar(Lote, False) then" tu vai ver o campo recebendo o valor atual "ADOQNotas.FieldByName('NUMERORPS_NOT').AsString :=  ACBrNFSe.NotasFiscais.Items[0].NFSe.IdentificacaoRps.Numero;"

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

 

Mas acontece que IdentificacaoRps.Numero recebe o valor da variável RPS.

 

E está recebe o valor segundo o IF abaixo:

 

If ADOQConsulta.FieldByName('ULTIMO').AsInteger >= DMBase.ADOQParametroNUMERONOTAINICIAL_PAR.AsInteger then
     RPS := ADOQConsulta.FieldByName('ULTIMO').AsInteger + 1
Else
     RPS := DMBase.ADOQParametroNUMERONOTAINICIAL_PAR.AsInteger;
 
Em que momento o campo ULTIMO ou NUMERONOTAINICIAL_PAR são atualizados?
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

Vem um novo valor a partir da consulta ao banco de dados: 

ADOQConsulta.SQL.Text := 'SELECT MAX(NUMERORPS_NOT) ULTIMO FROM NFSE_NOTA ' +
     'WHERE (AMBIENTE_NOT = ' + QuotedStr(DMBase.ADOQParametroAMBIENTE_PAR.AsString) +
     ') AND (CODIGOPARAMETRO_NOT = ' + DMBase.ADOQParametroCODIGO_PAR.AsString + ')';
Link para o comentário
Compartilhar em outros sites

  • Consultores

Entendi, o ULTIMO não é um campo e sim uma variável que recebe o valor do campo NUMERORPS_NOT.

 

Sendo assim o que pode estar ocorrendo:

 

Como você tem a consulta e a atualização da tabela dentro do loop, pode estar ocorrendo um atraso na atualização da tabela e consequentemente ao fazer a nova consulta pega o mesmo valor de NUMERORPS_NOT.

 

Dai você tem o erro de retorno do Web Service acusando que já existe um RPS com aquele numero.

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

Caro Italo, fiz uma analise para ver se estava havendo atraso na geração do NUMERORPS_NOT na minha consulta ao banco.

Mas não esta havendo atraso. Por exemplo, o RPS 1846 que foi gerado para o envio da nota dá o erro que já foi informado, dai acesso o site da prefeitura e aquele rps que deu o erro esta lá a nota gerada.

Como faço para enviar várias notas em um lote, pois pelo que tu disse antes parece que dá para fazer isto, talvez isto resolva meu problema?

É o servido ISSNET

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia ,

 

Você tem um rotina que alimenta o componente com os dados do RPS, correto?

 

Algo do tipo:

 

 ACBrNFSe1.NotasFiscais.Clear;
 
 with ACBrNFSe1 do
  begin
   NotasFiscais.NumeroLote:='1';
   NotasFiscais.Transacao := True;
 
   with NotasFiscais.Add.NFSe do
    begin
      (...)
    end;
 
  end;
 
As linhas em negrito são responsáveis por adicionar (Add) um RPS ao componente.
Se você tem 10 RPS basta colocar esse bloco dentro de um loop, e a cada vez que ele executar ele adiciona um novo RPS e alimenta com os dados dele.
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

Bom. Até ai acho que entendi.

Mas agora como vou pegar nesse meu código que vem logo abaixo:

   with NotasFiscais.Add.NFSe do
    begin
      (...)

    end;

 

    If ACBrNFSe.Enviar(Lote, False) then
    begin
      //Como vou pegar aqui o retorno de cada rps? Como por exemplo o Codigo de Verificacao?
    end;
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde,

 

Também através de um loop.

 

Se enviamos um lote contendo 10 RPS, no retorno temos a lista com as 10 NFS-e.

 

Essa é a linha que você utiliza para atualizar a tabela no banco de dados no que se refere ao código de verificação:

 

     ADOQNotas.FieldByName('CODIGOVERIFICACAO_NOT').AsString := ACBrNFSe.NotasFiscais.Items[0].NFSe.CodigoVerificacao;
 
Percebeu que se trata de uma lista e como você só envia um RPS de cada vez, sempre lê o elemento [0] (zero), ou seja, o primeiro elemento da lista?
 
loop:
 
for x := 0 to ACBrNFSe.NotasFiscais.Count-1 do // o Count retorna a quantidade de itens "-1" uma vez que o índice começa em zero.
begin
(...)
     ADOQNotas.FieldByName('CODIGOVERIFICACAO_NOT').AsString := ACBrNFSe.NotasFiscais.Items[x].NFSe.CodigoVerificacao;
(...)
end;
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

  • 2 anos depois...

Para registro (se alguém consultar este tópico): 
O ISSNET retorna Código 99999 - Nota não processada, ou erro desconhecido, quando o RPS está na fila para processamento. Já me ocorreu a situação:
1) Transmito a nota, gravo o recibo/protocolo, porém o servidor está lento (vai pra fila para processamento);
2) Na consulta, retorna 99999;
3) Transmito novamente, gravo o recibo/protocolo, e o servidor continua enviando pra fila pra processamento; Pronto, já está reproduzida a situação.
4) Se o servidor processar as transmissões, quando é consultado o Recibo/Protocolo (2o envio), vai dar RPS já informado .

A solução é efetuar a consulta por RPS e processar a atualização do sistema.
Isto só ocorre com Cuiabá. Transmito também para Curitiba, e não ocorre esta situação (retorna RPS ainda não processada).

Espero ter ajudado

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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