Ir para conteúdo
  • Cadastre-se

Recommended Posts

Postado

Boa tarde

Na última revisão (45705) do SVN da unit  PadraoNacional.GravarXml.pas houve uma modificação que está teoricamente causando o erro

function TNFSeW_PadraoNacional.GerarXml: Boolean;
Antes estava assim(Até revisão 45603):

  if FormatoDiscriminacao <> fdNenhum  then
    ConsolidarVariosItensServicosEmUmSo;

  xmlNode := GerarXMLInfDps;
  NFSeNode.AppendChild(xmlNode);

  Result := True;
 

Agora esse if, está assim:

  if (FormatoDiscriminacao <> fdNenhum) or (NFSe.Servico.ItemServico.Count > 0) then
    ConsolidarVariosItensServicosEmUmSo;
 

Está forçando a entrar na procedure  TNFSeWClass.ConsolidarVariosItensServicosEmUmSo ( ACBrNFSeXGravarXml ) que está zerando as informações do NFSe.Servico, gerando os erros...

    // Leva em consideração a informação do ultimo item da lista.
    UltimoItem := FNFSe.Servico.ItemServico.Count -1;
    NFSe.Servico.CodigoMunicipio := IntToStr(FNFSe.Servico.ItemServico[UltimoItem].CodigoMunicipio);
    NFSe.Servico.CodigoPais := FNFSe.Servico.ItemServico[UltimoItem].CodigoPais;
    NFSe.Servico.ItemListaServico := FNFSe.Servico.ItemServico[UltimoItem].ItemListaServico;
    NFSe.Servico.xItemListaServico := FNFSe.Servico.ItemServico[UltimoItem].xItemListaServico;
    NFSe.Servico.CodigoTributacaoMunicipio := FNFSe.Servico.ItemServico[UltimoItem].CodigoTributacaoMunicipio;
    NFSe.Servico.CodigoNBS := FNFSe.Servico.ItemServico[UltimoItem].CodigoNBS;
    NFSe.infNFSe.xNBS := FNFSe.Servico.ItemServico[UltimoItem].xNBS;
...

FNFSe.Servico.ItemServico[UltimoItem].ItemListaServico entre outros, está Vazio, apagando a informação preenchida anteriormente.

 

meu FormatoDiscriminacao está fdNenhum e por isso surgiu o erro agora...

Podem verificar a correção, por favor?

  • Consultores
Postado

sugestões favor anexar a unit modificada

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Postado

Juliomar bom dia.

Então não sei a correção, apenas resolvi modificando o IF para não entrar na rotina  ConsolidarVariosItensServicosEmUmSo, pq nela os itens de serviço estão sem valor e regravando o serviço da nota fiscal, causando o erro.

...Fontes\ACBrDFe\ACBrNFSeX\Provedores\ACBrNFSeXGravarXml.pas
   procedure ConsolidarVariosItensServicosEmUmSo

nesse ponto pra abaixo está zerando as informações

    // Leva em consideração a informação do ultimo item da lista.
    UltimoItem := FNFSe.Servico.ItemServico.Count -1;
    NFSe.Servico.CodigoMunicipio := IntToStr(FNFSe.Servico.ItemServico[UltimoItem].CodigoMunicipio);
    NFSe.Servico.CodigoPais := FNFSe.Servico.ItemServico[UltimoItem].CodigoPais;
    NFSe.Servico.ItemListaServico := FNFSe.Servico.ItemServico[UltimoItem].ItemListaServico;
    NFSe.Servico.xItemListaServico := FNFSe.Servico.ItemServico[UltimoItem].xItemListaServico;
    NFSe.Servico.CodigoTributacaoMunicipio := FNFSe.Servico.ItemServico[UltimoItem].CodigoTributacaoMunicipio;
....

FNFSe.Servico.ItemServico[UltimoItem] vazio...

Postado (editado)

O que aconteceu ali é que sempre vai ter (NFSe.Servico.ItemServico.Count > 0) e por exemplo aqui, eu não coloco essas variaveis dentro do NFSe.Servico.ItemServico e sim direto no NFSe.Servico conforme a imagem abaixo:

 image.png.1c6f4775d9cdeb573a5e62b24c16c76d.png

 

Dai quando entra na função, ela vai estar vazia, substituindo o que já foi preenchido anteriormente.

Editado por Zunker
  • Membros Pro
Postado

Realmente 
substitui por essa unit ai funcionou normalmente com o componente atualizado da a seguinte mensagem:
Código: X800: Erro: Erro de Validação --> 1824 - Element
'{http://www.sped.fazenda.gov.br/nfse}TribNac': '' is not a valid value of the atomic type
'{http://www.sped.fazenda.gov.br/nfse}TSCodTribNac'.

PadraoNacional.GravarXml.pas

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 conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...