From 076d81c477b90479fb6112136fd3272f0cf5df6f Mon Sep 17 00:00:00 2001 From: Vision-Digital Date: Mon, 24 Aug 2026 11:03:25 -0300 Subject: [PATCH] feat: add grupo infDCe ao infDoc do CT-e (NT 2025.001) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit A NT 2025.001 acrescentou o grupo infDCe ao choice de infDoc, permitindo vincular ao CT-e as Declarações de Conteúdo eletrônicas (modelo 99) transportadas. O grupo existe no cteTiposBasico_v4.00.xsd (elemento infDCe, filho único: chave do tipo TChDFe), mas não havia classe correspondente. Sem ele, a única forma de declarar uma DC-e era infOutros com tpDoc=00 (Declaração), cujo nDoc tem maxLength=20 e não comporta a chave de 44 dígitos — vínculo em texto livre, que a SEFAZ não amarra ao documento. O membro é declarado sem Order porque nenhum outro membro de infDoc usa: misturar membros ordenados e não ordenados na mesma classe faz o XmlSerializer lançar InvalidOperationException na sua construção. --- .../Informacoes/infCTeNormal/infDoc.cs | 7 +++++++ .../infCTeNormal/infDocumentos/infDCe.cs | 21 +++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 CTe.Classes/Informacoes/infCTeNormal/infDocumentos/infDCe.cs diff --git a/CTe.Classes/Informacoes/infCTeNormal/infDoc.cs b/CTe.Classes/Informacoes/infCTeNormal/infDoc.cs index 98901f139..b40686053 100644 --- a/CTe.Classes/Informacoes/infCTeNormal/infDoc.cs +++ b/CTe.Classes/Informacoes/infCTeNormal/infDoc.cs @@ -15,6 +15,13 @@ public class infDoc [XmlElement(ElementName = "infOutros")] public List infOutros { get; set; } + /// + /// Informações das DCe (modelo 99) transportadas pelo CT-e. + /// Grupo criado pela NT 2025.001, disponível somente no leiaute 4.00. + /// + [XmlElement(ElementName = "infDCe")] + public List infDCe { get; set; } + public string nCont { get; set; } public string dPrev { get; set; } diff --git a/CTe.Classes/Informacoes/infCTeNormal/infDocumentos/infDCe.cs b/CTe.Classes/Informacoes/infCTeNormal/infDocumentos/infDCe.cs new file mode 100644 index 000000000..c918937a4 --- /dev/null +++ b/CTe.Classes/Informacoes/infCTeNormal/infDocumentos/infDCe.cs @@ -0,0 +1,21 @@ +using System.Xml.Serialization; + +namespace CTe.Classes.Informacoes.infCTeNormal.infDocumentos +{ + /// + /// Informações das DCe (Declaração de Conteúdo eletrônica, modelo 99) + /// transportadas pelo CT-e. + /// + /// Grupo criado pela NT 2025.001 (item "Criação do grupo de informações da DCe nos + /// documentos originários"), disponível somente no leiaute 4.00. + /// + /// + public class infDCe + { + /// + /// Chave de acesso da DCe + /// + [XmlElement(Order = 1)] + public string chave { get; set; } + } +}