Lindomar S. Menezes Postado 29 Abril Postado 29 Abril (editado) Cidade de Piratuba - SC, provedor Betha Ao emitir uma NFS-e com o cObra preenchido, obtivemos o seguinte retorno na emissão: cvc-complex-type.2.4.d: Conteúdo inválido encontrado ao iniciar com o elemento 'dps:end'. Nenhum elemento filho é esperado neste ponto. Olhando a geração da dps, notei que o grupo de endereço estava sendo gerado todo em branco, causando o erro acima. <dps:obra> <dps:cObra>0000000000000</dps:cObra> <dps:end> <dps:CEP/> <dps:xLgr/> <dps:nro/> <dps:xBairro/> </dps:end> </dps:obra> Fiz a alteração do código dentro do arquivo Betha.GravarXml, Antes alteração: function TNFSeW_BethaAPIPropria.GerarXMLObra: TACBrXmlNode; begin Result := CreateElement('obra'); Result.AppendChild(AddNode(tcStr, '#1', 'inscImobFisc', 1, 30, 0, NFSe.ConstrucaoCivil.inscImobFisc, '')); if NFSe.ConstrucaoCivil.CodigoObra <> '' then Result.AppendChild(AddNode(tcStr, '#1', 'cObra', 1, 30, 1, NFSe.ConstrucaoCivil.CodigoObra, '')) else if NFSe.ConstrucaoCivil.Cib > 0 then Result.AppendChild(AddNode(tcStr, '#1', 'cCIB', 1, 8, 1, Poem_Zeros(NFSe.ConstrucaoCivil.Cib, 8))); Result.AppendChild(GerarXMLEnderecoObra); end; Depois alteração: function TNFSeW_BethaAPIPropria.GerarXMLObra: TACBrXmlNode; begin Result := CreateElement('obra'); Result.AppendChild(AddNode(tcStr, '#1', 'inscImobFisc', 1, 30, 0, NFSe.ConstrucaoCivil.inscImobFisc, '')); if NFSe.ConstrucaoCivil.CodigoObra <> '' then Result.AppendChild(AddNode(tcStr, '#1', 'cObra', 1, 30, 1, NFSe.ConstrucaoCivil.CodigoObra, '')) else if NFSe.ConstrucaoCivil.Cib > 0 then Result.AppendChild(AddNode(tcStr, '#1', 'cCIB', 1, 8, 1, Poem_Zeros(NFSe.ConstrucaoCivil.Cib, 8))) else Result.AppendChild(GerarXMLEnderecoObra); end; Apenas coloquei a geração do endereço no else seguindo cCIB, inclusive se olhar o arquivo de geração do ambiente nacional também está englobado no else. Após a correção a nota foi emitida com sucesso. Se puderem avaliar e se estiver correto Editado 29 Abril por Lindomar S. Menezes 2
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