Ir para conteúdo
  • Cadastre-se

dev botao

BPe Em Contigência


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

Recommended Posts

  • Consultores
Postado

Boa tarde Karine,

Qual foi o processo adotado?

Você gerou o XML em Contingência, emitiu o DABPE e por fim enviou para SEFAZ?

Se sim, antes de enviar para a SEFAZ fez alguma alteração no XML?

Algo do tipo, alterou o modo de emissão?

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

Boa Tarde!

O processo que eu fiz foi, gerei um bilhete eletrônico forçando o erro, ai ele não foi para SEFAZ, sendo assim peguei o mesmo registro e tentei emitir em contingência.

Nessa tentativa da contingência que deu esse erro. 

Postado

Eu li na documentação, tinha entendido ser dessa forma. Mas pelo que eu vi quando é em contingência o QRCode é bem diferente do normal. E no XML do erro o QRCode está da forma da emissão normal.

Na documentação fala que no QRCode de contingência tem que ter 3 partes:

1ª parte - URL

2ª parte - token JWT

3ª parte - fingerprint do certificado digital

Acho que o erro gerado é por isso.

Postado

Boa Tarde!

Italo, conversei com um dos responsáveis pelo BPe sobre a contingência e o mesmo me respondeu como é o processo:

'Sobre a contingência, você tentar normal, falha e você altera o tpEmis=2, isso muda a chave e o DV. Quando você for transmitir, transmite assim com o TpEmis de contingência.'

  • Consultores
Postado

Bom dia Karine,

Funciona como os demais DF-e.

Manual versão 1.00a do BP-e página 79:

11.2. Resumo das ações para entrada em contingência

1. Alterar XML do BP-e com tpEmis = 2 (Contingência Off-line);
2. Preencher campos dhCont e xJust (Data e justificativa da entrada em Contingência)
3. Gerar nova chave de acesso com o tpEmis=2, mantendo o mesmo cBP;
4. Gerar o QR Code de DaBPE com token assinado (conforme especificado no item 9.2.2);
5. Emitir o DABPE com a mensagem "EMITIDO EM CONTINGÊNCIA";
6. Transmitir o arquivo assim que superada a dificuldade técnica que demandou a contingência.
 

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 (editado)

Bom dia!

Italo, então eu segui esse processo e continua com o erro:

 

Eu acho que o problema está ao montar o QR Code de contingência.

Eu não entendo muito dessa parte, pode ser que esteja completamente errada, mas no manual informa que o Fingerprint é gerado encima da chave publica do certificado, parece que está gerando da chave do BPe.

image.png.572a92bc256940c56aadcad39a7c62d2.png

image.thumb.png.88493b3245b4bbc01bea8d97da566473.png

E na documentação fala sobre o JWT, parece que não está na assinatura também.

Acho que é esse o problema.

 

1-pro-lot.xml

1-env-lot.xml

Editado por Karine Paiva
Esqueci de anexar os XMLs de evento
  • Fundadores
Postado

Já está no SVN...

Citar

-- ACBrBPe --
[-] Correção no método "GetURLQRCode", para calcular corretamente a URL, quando
    emitido em modo off-line  (por: DSA)

Agradeço se puder testar...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Consultores
Postado

Boa noite Karine,

O problema agora é o Schema que não contem os parãmetros usados quando o BP-e é emitido em contingência.

Veja:

                        <xs:element name="qrCodBPe">
                            <xs:annotation>
                                <xs:documentation>Texto com o QR-Code impresso no DABPE</xs:documentation>
                            </xs:annotation>
                            <xs:simpleType>
                                <xs:restriction base="xs:string">
                                    <xs:whiteSpace value="preserve"/>
                                    <xs:minLength value="50"/>
                                    <xs:maxLength value="1000"/>
                                    <xs:pattern value="((HTTPS?|https?)://.*\?chBPe=[0-9]{44}&amp;tpAmb=[1-2](&amp;sign=[!-ÿ]{1}[ -ÿ]{0,}[!-ÿ]{1}|[!-ÿ]{1})?)"/>
                                </xs:restriction>
                            </xs:simpleType>
                        </xs:element>


Note que não tem os parâmetros: jwtfprint, conforme especificado na página 72 do Manual versão 1.00a do BP-e.

Favor entrar em contato com a SEFAZ e relatar o problema no Schema: bpeTiposBasico_v1.00.xsd

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

  • Fundadores
Postado

Estranho... o Schema está esperando encontrar um elemento iniciando com &sign=, mas isso é completamente diferente do descrito no manual 1.00a... onde os elementos são &jwt e &fprint

image.png

Parece que o Schema atual foi um Ctr-C e Ctrl-V dos Schemas da NFe... :)

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

  • Consultores
Postado

Vamos brincar de TE - Tentativa e Erro.

Depois de calculado o jwt e o fprint que tal pegar o conteúdo desses dois parâmetros e atribuir ao parâmetro sign, ou seja:

em vez de:

    Passo2 := '&jwt=' + jwt;
    Passo3 := '&fprint='+fp;

    Result := Passo1 + Passo2 + Passo3;

faríamos:

    Passo2 := '&sign=' + jwt + fp;
    Result := Passo1 + Passo2;

Dessa forma não vai ocorrer erro de validação, mas não sei se a SEFAZ vai autorizar.

Não custa tentar.

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 (editado)

Bom dia Gente,

Tudo bem?

Realizei o teste com a unit disponibilizada e ocorreu o erro abaixo agora:

image.png.60b826c560139f7fc6a67f33eaa9ded2.png

Se vocês quiserem posso mandar o primeiro XML que deu erro de schemas para o pessoal responsável pelo BPe e perguntar sobre esse problema.

 

1-pro-lot.xml

1-env-lot.xml

Editado por Karine Paiva
  • Consultores
Postado

Bom dia Karine,

Com a alteração na unit que fiz, o XML foi gerado, assinado, validado e enviado.

A SEFAZ retornou a rejeição 999.

Normalmente quando é retornado 999 significa que a SEFAZ esta com algum problema e acaba retornando esse erro padrão.

Seria interessante você enviar para a SEFAZ os dois XML.

O que gera a string do QR-Code segundo o manual e que por sinal não é validado pelo fato de no Schema não constar os parâmetros jwt e fprint.

E o que gera a string do Qr-Code com o parâmetro sign com os valores de jwt e fprint concatenados.

Este segundo por sua vez é validado conforme o Schema disponibilizado pela SEFAZ.

Acredito que a SEFAZ ainda não ajustou de forma correta a recepção de um BP-e emitido em contingência.

Um outro teste que pode ser feito, antes de entrar em contato com a SEFAZ é.

1. Voltar a unit ACBrBPe alterada pelo Daniel onde a String do QR-Code é gerada com os parâmetros jwt e fprint.

2. comentar a linha que valida o XML:

  Bilhetes.Assinar;
//  Bilhetes.Validar;   <==== comentar essa linha

ela se contra na função: TACBrBPe.Enviar que se encontra na unit ACBrBPe.

3. Por fim fazer um novo teste de envio.

Se o BPe emitido em contingência for autorizado pela SEFAZ e a leitura do QR-Code funcionar, significa que o Schema esta errado.

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

  • Consultores
Postado

Karine,

Coloquei o XML no validador disponível no Portal Nacional do BP-e e o erro aponta para o qrCodBPe, diz que o conteúdo esta em desacordo com o tipo de dado - String.

O elemento qrCodBPe é inválido - O valor 'https://bpe-homologacao.svrs.rs.gov.br/ws/bpeQrCode/qrCode.asmx?chBPe=52180201543354000145630030010002772287716385&tpAmb=2&jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjaEJwZSI6IjUyMTgwMjAxNTQzMzU0MDAwMTQ1NjMwMDMwMDEwMDAyNzcyMjg3NzE2Mzg1IiwidHBBbWIiOjJ9.ZZ/bSHFiOwAvyTgzUBmDO05Mjl9WVTh9DIgrOYo+fms=&fprint = F273623C8E936F1AB5B947FF9B6DF26A98C56BA5 'é inválido de acordo com seu tipo de dados' String '- A restrição Padrão falhou.

Não sei se o validador que existe no Portal é incapaz de interpretar o CDATA ou se o conteúdo da tag não esta no formato desejado.

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

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