Ir para conteúdo
  • Cadastre-se

dev botao

NFSeX - Cancelamento por Substituição


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 385 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.

Consultor SAC ACBr

Alexandre de Paula
Ajude o Projeto ACBr crescer - Assine o SAC                    

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á 385 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.