- 3. Gerar o XML do MDF-e
3.13. QRCode 24-07-19 - 3.12. Responsável Técnico 2 24-07-19
« Anterior - 3.14. Consolida MDF-e 25-02-20
Próximo »
3.13. QRCode 24-07-19
Funcionalidade para gerar QR code de consulta do MDF-e
Assinatura
string infMDFeSupl(string URL, string chaveMDFe, int tpAmb, string nomeCertificado, out string qrCode, out int resultado, out string msgResultado)
Descrição:
Funcionalidade para gerar o grupo de informações da URL de consulta do MDF-e. O indicador tpEmis da chave de acesso informada é utilizada para gerar o QRCode normal ou de contingência.
Parâmetros:
nome | tipo | tam. | obrig. | descrição |
---|---|---|---|---|
URL | string | - | sim | informar a URL de consulta do MDF-e, https://dfe-portal.svrs.rs.gov.br/mdfe/qrCode |
chaveMDFe | string | 44 | sim | informar a chave de acesso da MDF-e |
tpAmb | int | - | sim | informar o tipo Ambiente: 1 - produção / 2 - homologação |
nomeCertificado | string | - | entrada | informar nome do titular do certificado a ser utilizado na conexão SSL com o WS: É permitido o uso do certificado digital que tenha o mesmo CNPJ base (oito primeiros dígitos do CNPJ) do emissor do MDF-e. 1. informar o assunto do certificado digital que deve existir no repositório MY do current user, ex.: "CN=NFe - Associacao NF-e:99999090910270, C=BR, L=PORTO ALEGRE, O=Teste Projeto NFe RS, OU=Teste Projeto NFe RS, S=RS". 2. informar: NUMEROSERIE|[número de série] quando não seja possível localizar o certificado digital pelo assunto; 3. informar: ARQUIVO | [nome do arquivo pfx com caminho completo] | [senha do arquivo] para uso do certificado digital em arquivo pfx, ex.: "ARQUIVO|c:\certificado.pfx|senha". 4. informar: CERTIFICADO | [string base64 do arquivo pfx] | [senha do arquivo] no parâmetro NomeCertificado para passar uma string contendo um certificado digital em base64, ex.:"CERTIFICADO|MIIGoDCCBYigAwIBAgIQep(arquivo pfx do certificado digital convertido em base64...)QQDExNBQy|senha". |
qrCode | string | - | não | retorna a string do qrCode que deve ser gerado no DAMDFE |
resultado | int | - | saída | retorna o código do resultado da geração do qrCode = 6200 |
msgResultado | string | - | saída | retorna a literal do resultado da geração do qrCode = 6200 - qrCode gerado com sucesso |
Diagrama:
Retorno:
Um string com o grupo XML do Grupo informações suplementares do MDF-e
XML:
Exemplo de XML - MDF-e emissão normal
<infMDFeSupl> <qrCodMDFe><![CDATA[https://dfe-portal.svrs.rs.gov.br/mdfe/qrCode?chMDFe=35190710142785000190580010000000071086438399&tpAmb=2]]></qrCodMDFe> </infMDFeSupl>
Exemplo de XML - MDF-e emissão contingência
<infMDFeSupl> <qrCodMDFe><![CDATA[https://dfe-portal.svrs.rs.gov.br/mdfe/qrCode?chMDFe=35190710142785000190580010000000052299246164&tpAmb=2&sign=Q00cAqX6gZECRwVPrTOk3sOaBkLFuhP2EBQeEVhIhb+fkuzNJA431ODqMKgKdzHDD29DakVNuiXu9UDCGZvOdep5mJ61nsWlx7JQve9I1E3XTKosVGSr0GtdfPdAMJKGwyWgX270EeTm8FSGRUrGGJEqgxGtOvAfKbnMbFR17KyQMtSoxkzVGnqQn5Bwivilq/mKJSJNRPlyCIZQyG+pNoxo4pm1h0er0pAE1O0eS0v6UDvz/VqyO7NTTaG+1Xxl53qU64pK/AElNy6lLFUWAEtA0fI+zedb2DzPXQdBLiFvuNMXmU86ZzeTdyHA2iS+xYNOXZUdnOrXUjZBSNo4IQ==]]></qrCodMDFe> </infMDFeSupl>
Importante
O trecho do XML foi formatado para uma melhor visualização, a mensagem original não tem formatação.
Vale observar que a formatação pode corromper a assinatura digital, além de ocupar espaço e ser desnecessária, pois os browser exibem formatado.
Histórico de atualização:
- 2019-07-24 - versão inicial.
Exemplos de uso:
Visual Basic 6.0
' '====== Dados do Dim do Grupo de Corte de Voo ========== ' Dim infMDFeSupl As String Dim infMDFeSupl_URL As String Dim infMDFeSupl_chaveMDFe As String Dim infMDFeSupl_tpAmb As long Dim infMDFeSupl_nomeCertificado As String Dim infMDFeSupl_QRCode As String Dim resultado As long Dim msgResultado As String ' '====== instancia DLL================== ' ' ' referenciando a DLL em late binding ' não é necessário fazer o reference da DLL ' o intelisense não funciona ' Dim objMDFeUtil As Object Set objMDFeUtil = CreateObject("MDFe_Util.Util") ' ' criação dos grupos ' infMDFeSupl_URL = "https://dfe-portal.svrs.rs.gov.br/mdfe/qrCode" infMDFeSupl_chaveMDFe = "35190710142785000190580010000000071086438399" infMDFeSupl_tpAmb = 2 infMDFeSupl_nomeCertificado = "CN=M R M KATO ASAKURA EIRELI:10142785000190, OU=AR SERASA, OU=RFB e-CNPJ A3, OU=Secretaria da Receita Federal do Brasil - RFB, O=ICP-Brasil, L=OURINHOS, S=SP, C=BR" infMDFeSupl_QRCode ="" resultado = 0 msgResultado ="" ' infMDFeSupl = MDFeUtil.infMDFeSupl(infMDFeSupl_URL, infMDFeSupl_chaveMDFe, infMDFeSupl_tpAmb, infMDFeSupl_nomeCertificado, infMDFeSupl_qrCode, resultado, msgResultado) MsgBox "grupo infMDFeSupl " + infMDFeSupl, vbInformation, "Resultado"
- 3.13. QRCode 24-07-19
3. Gerar o XML do MDF-e - « Anterior
3.12. Responsável Técnico 2 24-07-19 - Próximo »
3.14. Consolida MDF-e 25-02-20