emarcolongo Postado 30 Junho Postado 30 Junho (editado) boa tarde. estou gerando um nf de ciap e esta sendo adicionado essa tag <gPagAntecipado/> Citar Falha na validação dos dados da nota: 24532 --> 1871 - Element '{http://www.portalfiscal.inf.br/nfe}gPagAntecipado': Missing child element(s). Expected is ( {http://www.portalfiscal.inf.br/nfe}refNFe ). porém verifiquei que isso se deve quando tem que ser referenciada a nota, porém não é o caso, é uma nota de ciap <cUF>35</cUF> <cNF>00024533</cNF> <natOp>LANC DE CRED DE ICMS DO ATIVO PERMANENTE</natOp> <mod>55</mod> <serie>1</serie> <nNF>24532</nNF> <dhEmi>2026-06-30T13:18:27-03:00</dhEmi> <dhSaiEnt>2026-06-30T13:18:27-03:00</dhSaiEnt> <tpNF>0</tpNF> <idDest>1</idDest> <cMunFG>3513009</cMunFG> <tpImp>1</tpImp> <tpEmis>1</tpEmis> <cDV>8</cDV> <tpAmb>1</tpAmb> <finNFe>1</finNFe> <indFinal>0</indFinal> <indPres>0</indPres> <procEmi>0</procEmi> <verProc>4.00</verProc> <gPagAntecipado/> como posso ajustar ? Editado 30 Junho por emarcolongo
Thobias Sobczak Postado 30 Junho Postado 30 Junho Mesma situação aqui: TNFeXmlWriter.GerarIde function TNFeXmlWriter.Gerar_gPagAntecipado: TACBrXmlNode; var i: Integer; begin Result := nil; if Assigned(NFe.Ide.gPagAntecipado) then <---SEMPRE TRUE pois 'gPagAntecipado' é criado no TIde.Create; begin Result := FDocument.CreateElement('gPagAntecipado'); for i := 0 to NFe.Ide.gPagAntecipado.refNFe.Count - 1 do begin Result.AppendChild(AddNode(tcStr,'BC02','refNFe', 44, 44, 1, NFe.Ide.gPagAntecipado.refNFe[i].refDFEChave, DSC_REFNFE)); end; end; end; ACBrNFe.Classes constructor TIde.Create; begin inherited Create; FNFref := TNFrefCollection.Create(); FgCompraGov := TgCompraGov.Create; FgPagAntecipado := TgPagAntecipado.Create(); end; Se a gente for ver o método Gerar_Ide_CompraGov o tratamento é diferente pra criar a tag: function TNFeXmlWriter.Gerar_Ide_CompraGov: TACBrXmlNode; var i: Integer; begin Result := nil; if (NFe.ide.gCompraGov.tpEnteGov <> tcgNenhum) and (NFe.ide.gCompraGov.tpOperGov <> togNenhum) then begin Result := FDocument.CreateElement('gCompraGov'); Result.AppendChild(AddNode(tcStr, 'BB02', 'tpEnteGov', 1, 1, 1, tpEnteGovToStr(NFe.ide.gCompraGov.tpEnteGov), DSC_TPENTEGOV)); Result.AppendChild(AddNode(tcDe4, 'BB03', 'pRedutor', 1, 7, 1, NFe.ide.gCompraGov.pRedutor, DSC_PREDUTOR)); Result.AppendChild(AddNode(tcStr, 'BB04', 'tpOperGov', 1, 1, 1, tpOperGovToStr(NFe.ide.gCompraGov.tpOperGov), DSC_TPOPERGOV)); for i := 0 to NFe.Ide.gCompraGov.refDFeAnt.Count - 1 do begin Result.AppendChild(AddNode(tcStr, 'BB05', 'refDFeAnt', 44, 44, 1, NFe.Ide.gCompraGov.refDFeAnt[i].refDFEChave, DSC_DFEANT)); end; end; end;
Thobias Sobczak Postado 30 Junho Postado 30 Junho Por enquanto a solução encontrada pra 'quebrar galho' é matar essa instancia do gPagAntecipado quando não tem ele de fato, assim o Writer nao cria a tag no xml If Assigned(Ide.gPagAntecipado) Then FreeAndNil(Ide.gPagAntecipado);
Consultores italo.giurizzato.junior Postado 30 Junho Consultores Postado 30 Junho Boa tarde @Thobias Sobczak e @emarcolongo, Por favor testem com a unit em anexo. ACBrNFe.XmlWriter.pas Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / Araraquara-SP Araraquara - A era dos Trólebus
Thobias Sobczak Postado 30 Junho Postado 30 Junho (editado) 4 minutos atrás, Italo Giurizzato Junior disse: Boa tarde @Thobias Sobczak e @emarcolongo, Por favor testem com a unit em anexo. ACBrNFe.XmlWriter.pas 212.28 kB · 0 downloads Resolvido! if NFe.Ide.gPagAntecipado.refNFe.Count > 0 then RESOLVEU :) Editado 30 Junho por Thobias Sobczak 3
Consultores Solution italo.giurizzato.junior Postado 30 Junho Consultores Solution Postado 30 Junho @Thobias Sobczak, Muito obrigado pelo retorno. Já enviei para o SVN. Italo Giurizzato Junior Ajude o Projeto ACBr crescer - Assine o SAC Analista de Sistemas / Araraquara-SP Araraquara - A era dos Trólebus
Thobias Sobczak Postado 30 Junho Postado 30 Junho (editado) 7 minutos atrás, Italo Giurizzato Junior disse: @Thobias Sobczak, Muito obrigado pelo retorno. Já enviei para o SVN. Eu que agradeço Italo a hora que puder, da uma lida nesse tópico: Creio que tem outro bug rolando que já foi solucionado parcialmente rs Editado 30 Junho por Thobias Sobczak
Recommended Posts
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 contaEntrar
Já tem uma conta? Faça o login.
Entrar Agora