Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde a todos, estou tendo problemas ao enviar o evento R-1070 no ambiente de homologação, onde o erro que está retornando é esse:

<tpOcorr>1</tpOcorr>
<localErroAviso> - Campo: nrProc - XPATH: /Reinf/evtTabProcesso/infoProcesso/inclusao/ideProcesso/nrProc</localErroAviso>
<codResp>MS1196</codResp>
<dscResp>Número de processo inválido.</dscResp>

O xml de teste que estou enviando é esse:

<Reinf
      xmlns="http://www.reinf.esocial.gov.br/schemas/evtTabProcesso/v2_01_02"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <evtTabProcesso id="ID1043123770000002024061812472220148">
    <ideEvento>
      <tpAmb>2</tpAmb>
      <procEmi>2</procEmi>
      <verProc>REINF_v2_01_02</verProc>
    </ideEvento>
    <ideContri>
      <tpInsc>1</tpInsc>
      <nrInsc>04312377</nrInsc>
    </ideContri>
    <infoProcesso>
      <inclusao>
        <ideProcesso>
          <tpProc>1</tpProc>
          <nrProc>00000022020188047901</nrProc>
          <iniValid>2022-01</iniValid>
          <indAutoria>1</indAutoria>
          <infoSusp>
            <indSusp>92</indSusp>
            <dtDecisao>2022-02-02</dtDecisao>
            <indDeposito>N</indDeposito>
          </infoSusp>
        </ideProcesso>
      </inclusao>
    </infoProcesso>
  </evtTabProcesso>
</Reinf>

Obrigado a todos que puderem ajudar.

 

Postado

Para complemento do tópico, meu problema está em calcular o dígito verificador do processo pois acredito ser essa a causa do erro de número de processo inválido.

 

  • Consultores
Postado

A documentação do Reinf não possui informação sobre como calcular o nrProc, eu imaginava que essa informação deveria ser obtida com algum órgão responsável que desconheço.

Se ele é um número válido, talvez a produção restrita não tenha informação da base oficial, veja se passa em produção.

Postado
10 minutos atrás, Renato Rubinho disse:

A documentação do Reinf não possui informação sobre como calcular o nrProc, eu imaginava que essa informação deveria ser obtida com algum órgão responsável que desconheço.

Se ele é um número válido, talvez a produção restrita não tenha informação da base oficial, veja se passa em produção.

Então, no manual http://sped.rfb.gov.br/estatico/D6/C562C43471D60917A0ABE09EC78906E9904D71/ManualOrientacaoDesenvolvedor_REINF-v2.0.pdf  na parte de validações, tem a fórmula para calcular o dígito verificador (até já  implementei em java), porém mesmo mandando esse valor já com o dígito verificador certo o reinf informa que o número do processo é inválido. Pode ser que essa regra só tenha mesmo no ambiente de produção...  mas se eu mandar para o ambiente de produção, tenho como excluir com algum evento específico do reinf?  

 

 

Agora, PauloSR disse:

Então, no manual http://sped.rfb.gov.br/estatico/D6/C562C43471D60917A0ABE09EC78906E9904D71/ManualOrientacaoDesenvolvedor_REINF-v2.0.pdf  na parte de validações, tem a fórmula para calcular o dígito verificador (até já  implementei em java), porém mesmo mandando esse valor já com o dígito verificador certo o reinf informa que o número do processo é inválido. Pode ser que essa regra só tenha mesmo no ambiente de produção...  mas se eu mandar para o ambiente de produção, tenho como excluir com algum evento específico do reinf?  

 

 

Caso alguém precise do cálculo do dígito verificador, posso disponibilizar.

  • Consultores
Postado
46 minutos atrás, PauloSR disse:

Que legal, eu não havia encontrado algo relacionado, imaginei que fosse um número completo obtido de outro lugar. 

49 minutos atrás, PauloSR disse:

porém mesmo mandando esse valor já com o dígito verificador certo o reinf informa que o número do processo é inválido

Além da validação do dígito pode ser que ele consiga consultar se o número existe. 

58 minutos atrás, PauloSR disse:

tenho como excluir com algum evento específico do reinf?  

Sim, para este tipo de evento (não periódico) você envia um novo evento alimentando as tags do grupo exclusão, veja no leiaute que utilizou para implementar a inclusão, existem grupos de inclusão, alteração e exclusão. 

1 hora atrás, PauloSR disse:

Caso alguém precise do cálculo do dígito verificador, posso disponibilizar.

Toda informação é sempre bem vinda, se puder compartilhar aqui poderá ser útil na implementação.

  • Solution
Postado

Bom dia Robinho, eu verifiquei aqui o número do processo e o erro estava no parâmetro toProc, que no caso o meu é JUDICIAL. O número de processo está ok e está enviando corretamente.

Para os amigos que fazem uso do java, segue abaixo a rotina para calcular o dígito verificador. Apenas lembrando que a rotina calcula apenas o dígito verificador, mas a montagem do campo segue o formato que está no manual
(NNNNNNN-DD.AAAA.J.TR.OOOO).
Obs: O nosso 'peso' de tamanho (length) de processos é em torno de 22

public static String calcularDigitoVerificador(String numProcesso) {
        int soma = 0;
        int[] pesos = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22};
        for (int i=0;i<numProcesso.length();i++) {
            int digito = Character.getNumericValue(numProcesso.charAt(numProcesso.length()-1-i));
            soma += digito * pesos[i % pesos.length];
        }
        int temp = soma%11;
        return (temp == 0) ? new Integer((11-(temp))/10).toString() : new Integer((11-(temp))).toString();
    }

 

Obrigado a todos.

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