- 4. Gerar o XML da DC-e
4.1. Identificação da DC-e - 4. Gerar o XML da DC-e
« Anterior - 4.1.1. Cria a chave de Acesso da DC-e
Próximo »
4.1. Identificação da DC-e
Sumário
Funcionalidade para gerar o XML do grupo do Identificação da DC-e
Assinatura
string ide(int cUF, int cDC, int mod, int serie, int nDC, string dhEmi, int tpEmis, int tpEmit, int nSiteAutoriz, int cDV,int tpAmb, string verProc)
Descrição:
Funcionalidade para gerar o XML do grupo do Identificação da DC-e.
Parâmetros:
nome | tipo | tam. | obrig. | descrição |
---|---|---|---|---|
cUF | inteiro | - | sim | informar o código da UF do emitente do Documento Fiscal, utilizar a codificação do IBGE (Ex. SP->35, RS->43, etc.). |
cDC | inteiro | - | sim | informar o código numérico que compõe a Chave de Acesso. Número aleatório gerado pelo emitente para cada DC-e para evitar acessos indevidos ao documento. |
mod | inteiro | 2 | sim | informar o código do Modelo do Documento Fiscal, código 99 para a DC-e. |
serie | inteiro | 1-3 | sim | informar a série do Documento Fiscal, informar 0 (zero) para série única. |
nDC | inteiro | 1-9 | sim | informar o Número da DC-e. |
dhEmi | string | 25 | sim | informar a data e hora de emissão do Documento Fiscal no formato AAAA-MM-DDTHH:MM:SS-zz:zz com o fuso horário (formato UTC), exemplo: 2025-05-01T07:56:55-02:00 |
tpEmis | inteiro | 1 | sim | Forma de emissão da DC-e: 1 - Normal; 9 - Contingência off-line da DC-e. |
tpEmit | inteiro | 1 | sim | informar tipo do emitente: 0=Fisco 1=Marketplace 2=Emissor próprio 3=Transportadora 4=ECT |
nSiteAutoriz | inteiro | 1 | não | informar o Site do Autorizador que recepcionou a DCe. Se o autorizador da DC-e possuir apenas um site deverá ser informado com Zero (0), em caso de autorizador trabalhar com múltiplos sites indicar o número do site para qual foi endereçada a DCe (1 a 9). Observação: O ambiente autorizador que trabalhar com mais de um Site deverá divulgar para cada endereço de site qual número correspondente de nSiteAutoriz o contribuinte pode usar. |
cDV | inteiro | 1 | sim | informar o Dígito Verificador da chave de acesso da DC-e. |
tpAmb | inteiro | 1 | sim | informar tipo de ambiente: 1 - Produção; 2 - Homologação. |
verProc | string | 1-20 | sim | informar a versão do processo de emissão da DC-e utilizado (aplicativo emissor de DC-e). |
Diagrama:
Retorno:
Um string com o grupo XML de identificação
XML:
Exemplo de XML do grupo de Identificação da DC-e
<ide> <cUF>35</cUF> <cDC>094864</cDC> <mod>99</mod> <serie>0</serie> <nDC>1</nDC> <dhEmi>2025-05-13T23:04:11-03:00</dhEmi> <tpEmis>1</tpEmis> <tpEmit>3</tpEmit> <nSiteAutoriz>0</nSiteAutoriz> <cDV>0</cDV> <tpAmb>2</tpAmb> <verProc>DCe_Util_v100</verProc> </ide>
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 sendo desnecessária, pois os browser exibem formatado.
Exemplos de uso:
Visual Basic 6.0
' inicializar variáveis '............................................... ' ' criação dos grupos ' ' '========grupo de identificação da DCe================== ' ' declara e instancia DLL Dim objDCeUtil As Object Set objDCeUtil = CreateObject("DCe_Util.Util") ' declarar parâmetros Dim ide As String Dim ide_cUF As Long Dim ide_cDC As Long Dim ide_mod As Long Dim ide_serie As Long Dim ide_nDC As Long Dim ide_dhEmi As String Dim ide_tpEmis As Long Dim ide_tpEmit As Long Dim ide_nSiteAutoriz As Long Dim ide_cDV As Long Dim ide_tpAmb As Long Dim ide_verProc As String ' inicializar parâmetros ide = "" ide_cUF = 35 ' informar o código IBGE da UF do emitente ide_cDC = 0 ' informar o código numérico que compõe a chave de acesso ide_mod = 99 ' informar o modelo do documento - DC-e = 99 ide_serie = 0 ' informar a série da DC-e, informar 0 quando for série única ide_nDC = 1 ' infomar o número da DC-e ide_dhEmi = Format$(Now, "yyyy-mm-ddThh:mm:ss-03:00") ' informar a data de emissão ide_tpEmis = 1 ' informar a forma de emissão da DC-e: 1 - Normal / 9 - Contingência off-line da DC-e ide_tpEmit = 3 ' informar o tipo Emitente: 0=Fisco;1=Marketplace;2=Emissor próprio;3=Transportadora ide_nSiteAutoriz = 0 ' informar o Site Autorizador que recepcionou a DC-e ide_cDV = 0 ' informar o DV da chave de acesso da DC-e ide_tpAmb = 2 ' informar o tpAmb: 1-produção/2-homologação ide_verProc = "DCe_Util_v100" ' versão do processo de emissão utilizado ' cria chave de acesso da DC-e Dim resultado As Long Dim CNPJ As String Dim cUF, ano, mes, modelo, serie, numero, tpEmis, tpEmit, nSiteAutoriz, codigoseguranca As String Dim msgResultado As String Dim cDFe As String Dim cDV As String CNPJ = "00000000000191" cUF = Trim(Str(ide_cUF)) ano = Format(Now, "YY") mes = Format(Now, "mm") modelo = Trim(Str(ide_mod)) serie = Trim(Str(ide_serie)) numero = Trim(Str(ide_nDC)) tpEmis = Trim(Str(ide_tpEmis)) tpEmit = Trim(Str(ide_tpEmit)) nSiteAutoriz = Trim(Str(ide_nSiteAutoriz)) msgResultado = "" codigoseguranca = "segredo" ' informar uma expressão para garantir o sigilo da forma de cálculo do cDFe cDFe = "" cDV = "" chave = "" resultado = objDCeUtil.CriaChaveDCe(cUF, ano, mes, CNPJ, modelo, serie, numero, tpEmis, tpEmit, nSiteAutoriz, codigoseguranca, msgResultado, cDFe, cDV, chave) If resultado <> 5601 Then MsgBox "Ocorreu um erro ao gerar a chave de acesso " + msgResultado, vbInformation, "Resultado" Else ide_cDV = Val(cDV) ' utilizar o que foi gerado no criachaveDFe ide_cDC = Val(cDFe) ' utilizar o que foi gerado no criachaveDFe ide = objDCeUtil.ide(ide_cUF, _ ide_cDC, _ ide_mod, _ ide_serie, _ ide_nDC, _ ide_dhEmi, _ ide_tpEmis, _ ide_tpEmit, _ ide_nSiteAutoriz, _ ide_cDV, _ ide_tpAmb, _ ide_verProc) MsgBox ide, vbInformation, "Informação" End If
- 4.1. Identificação da DC-e
4. Gerar o XML da DC-e - « Anterior
4. Gerar o XML da DC-e - Próximo »
4.1.1. Cria a chave de Acesso da DC-e