Ir para conteúdo
  • Cadastre-se

NFSeX - Cancelamento por Substituição


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 971 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde!

Estou testando a emissão de nota fiscal substituta informando a nota a ser cancelada nas propriedades subst.chSubstda, subst.cMotivo e subst.xMotivo. Verifiquei que a nova nota é gerada sem problema e a nota referenciada é cancelada, porém, notei que não exibe o código da nota substituída na impressão do DANFSE. 

Não encontrei no manual nada a respeito do código da nota substituída. 

Gostaria de confirmar se há alguma forma de informar o código na impressão do DANFSE.

Desde já, grato pelo auxílio.

Leandro

NFSeX.jpg

  • Consultores
Postado

Boa tarde Leandro,

No XML que você anexou acima temos:

<subst>
	<chSubstda>43149022272120074000172000000000003623101570676550</chSubstda>
	<cMotivo>99</cMotivo>
	<xMotivo>Teste de substituicao</xMotivo>
</subst>

A chave que consta na tag chSubstda é a chave da nota que foi substituída.

Na unit PadraoNacional.LerXml temos:

procedure TNFSeR_PadraoNacional.LerSubstituicao(const ANode: TACBrXmlNode);
var
  AuxNode: TACBrXmlNode;
  Ok: Boolean;
begin
  AuxNode := ANode.Childrens.FindAnyNs('subst');

  if AuxNode <> nil then
  begin
      {
      A formação da chSubstda de 50 posições da NFS é:

      Cód.Mun. (7) +
      Amb.Ger. (1) +
      Tipo de Inscrição Federal (1) +
      Inscrição Federal (14 - CPF completar com 000 à esquerda) +
      nNFSe (13) +
      AnoMes Emis. da DPS (4) +
      Cód.Num. (9) +
      DV (1)

      Código numérico de 9 Posições numérico, aleatório,
      gerado automaticamente pelo sistema gerador da NFS-e.
      }
    NFSe.subst.chSubstda := ObterConteudo(AuxNode.Childrens.FindAnyNs('chSubstda'), tcStr);
    NFSe.subst.cMotivo := StrTocMotivo(Ok, ObterConteudo(AuxNode.Childrens.FindAnyNs('cMotivo'), tcStr));
    NFSe.subst.xMotivo := ObterConteudo(AuxNode.Childrens.FindAnyNs('xMotivo'), tcStr);

    NFSe.RpsSubstituido.Numero := Copy(NFSe.subst.chSubstda, 24, 13);
  end;
end;

Vai ser necessário debugar essa procedure para ver se ele esta lendo corretamente o grupo subst.

Você poderia fazer isso?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

image.png

Alexandre de Paula
Gerente de Projetos
Ajude o Projeto ACBr crescer - Assine o Clube PRO                    

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  ícone Discórdia Discord   

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

 

 

  • Este tópico foi criado há 971 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...
The popup will be closed in 10 segundos...