Jump to content

Compre o Delphi
Com até 30% de desconto
e parcelado em até 12x sem juros

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

Karine Paiva

ANSWERED BPe Em Contigência

Recommended Posts

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 Jurisato 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

Share this post


Link to post
Share on other sites

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. 

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.'

Share this post


Link to post
Share on other sites

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 Jurisato 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

Share this post


Link to post
Share on other sites

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

Edited by Karine Paiva
Esqueci de anexar os XMLs de evento

Share this post


Link to post
Share on other sites

Karine,

Você tem razão a montagem da string do QR-Code esta errada para emissão em contingência.

Já estamos analisando e em breve vamos enviar para o repositório a correção.


Consultor SAC ACBr Italo Jurisato 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

Share this post


Link to post
Share on other sites

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
Ajude o Projeto ACBr crescer - Assine o SAC

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

Share this post


Link to post
Share on other sites

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 Jurisato 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

Share this post


Link to post
Share on other sites

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
Ajude o Projeto ACBr crescer - Assine o SAC

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

Share this post


Link to post
Share on other sites

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 Jurisato 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

Share this post


Link to post
Share on other sites

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

Edited by Karine Paiva

Share this post


Link to post
Share on other sites

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.

  • Like 2

Consultor SAC ACBr Italo Jurisato 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

Share this post


Link to post
Share on other sites

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 Jurisato 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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...