Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

  • Consultores
Postado

Entendendo o problema.

O Manifesto Eletrônico de Documentos Fiscais (MDF-e), conforme seu leiaute, permite que sejam referenciados documentos originários.

Estes documentos podem ser CT-es, NF-es ou outros MDF-es.

Esta é a regra de validação corresponde a esta rejeição de acordo com o MOC Anexo I - Leiaute e as Regras de Validação:

Captura de tela 2025-01-17 095936.jpg

Conforme é possível observar, se você está recebendo está rejeição significa que essas informações não foram encontradas no arquivo XML que foi enviado ao web service.

Como resolver?

Se você utiliza o componente nativo para Delphi/Lazarus, precisa referenciar o documento conforme exemplo:

var
  LManifesto: TManifesto;
  LInfMunDescarga: TinfMunDescargaCollectionItem;
  LInfCTe: TinfCTeCollectionItem;
  LInfCT: TinfCTCollectionItem;
  LinfNFe: TinfNFeCollectionItem;
  LInfMDFeTransp: TinfMDFeTranspCollectionItem;
  LInfUnidTransp: TinfUnidTranspCollectionItem;
  Lperi: TPeriCollectionItem;
begin
  LManifesto := ACBrMDFe1.Manifestos.Add;
  LInfMunDescarga := LManifesto.MDFe.infDoc.infMunDescarga.New;
  //=============>CT-e<=============================
  LInfCTe := LInfMunDescarga.infCTe.New;
  LInfCTe.chCTe := '';
  LInfCTe.SegCodBarra := '';
  LInfCTe.indReentrega := '';
  LInfUnidTransp := LInfCTe.infUnidTransp.New;
  LinfUnidTransp.tpUnidTransp := utOutros;
  LinfUnidTransp.idUnidTransp := '';

  with LinfUnidTransp.lacUnidTransp.New do
    nLacre := '';

  with LinfUnidTransp.infUnidCarga.New do
  begin
    tpUnidCarga := ucOutros;
    idUnidCarga := '';
    with lacUnidCarga.New do
      nLacre := '';
    qtdRat := 0;
  end;
  LinfUnidTransp.qtdRat := 0;

  Lperi := LInfCTe.peri.New;
  Lperi.nONU := '';
  lperi.xNomeAE := '';
  Lperi.xClaRisco := '';
  Lperi.grEmb := '';
  Lperi.qTotProd := '';
  Lperi.qVolTipo := '';

  LinfCTe.infEntregaParcial.qtdTotal := 0;
  LinfCTe.infEntregaParcial.qtdParcial := 0;

  with LinfCTe.infNFePrestParcial.New do
    chNFe := '';
  //=============>CT<=============================
  LinfCT := LInfMunDescarga.infCT.New;
  LInfCT.nCT := '';
  LInfCT.serie := 0;
  LinfCT.subser := 0;
  LinfCT.dEmi := Now;
  LinfCT.vCarga := 0;
  LInfUnidTransp := LInfCT.infUnidTransp.New;
  LinfUnidTransp.tpUnidTransp := utOutros;
  LinfUnidTransp.idUnidTransp := '';

  with LinfUnidTransp.lacUnidTransp.New do
    nLacre := '';

  with LinfUnidTransp.infUnidCarga.New do
  begin
    tpUnidCarga := ucOutros;
    idUnidCarga := '';
    with lacUnidCarga.New do
      nLacre := '';
    qtdRat := 0;
  end;
  LinfUnidTransp.qtdRat := 0;
  //=============>NF-e<=============================
  LinfNFe := LInfMunDescarga.infNFe.New;
  LinfNFe.chNFe := '';
  LinfNFe.SegCodBarra := '';
  LinfNFe.indReentrega := '';

  LInfUnidTransp := LInfNFe.infUnidTransp.New;
  LinfUnidTransp.tpUnidTransp := utOutros;
  LinfUnidTransp.idUnidTransp := '';

  with LinfUnidTransp.lacUnidTransp.New do
    nLacre := '';

  with LinfUnidTransp.infUnidCarga.New do
  begin
    tpUnidCarga := ucOutros;
    idUnidCarga := '';
    with lacUnidCarga.New do
      nLacre := '';
    qtdRat := 0;
  end;
  LinfUnidTransp.qtdRat := 0;

  Lperi := LInfNFe.peri.New;
  Lperi.nONU := '';
  lperi.xNomeAE := '';
  Lperi.xClaRisco := '';
  Lperi.grEmb := '';
  Lperi.qTotProd := '';
  Lperi.qVolTipo := '';
  //=============>MDF-e<=============================
  LInfMDFeTransp := LInfMunDescarga.infMDFeTransp.New;
  LInfMDFeTransp.chMDFe := '';
  LInfMDFeTransp.indReentrega := '';
  LInfUnidTransp := LInfMDFeTransp.infUnidTransp.New;
  LinfUnidTransp.tpUnidTransp := utOutros;
  LinfUnidTransp.idUnidTransp := '';

  with LinfUnidTransp.lacUnidTransp.New do
    nLacre := '';

  with LinfUnidTransp.infUnidCarga.New do
  begin
    tpUnidCarga := ucOutros;
    idUnidCarga := '';
    with lacUnidCarga.New do
      nLacre := '';
    qtdRat := 0;
  end;
  LinfUnidTransp.qtdRat := 0;

  Lperi := LInfMDFeTransp.peri.New;
  Lperi.nONU := '';
  lperi.xNomeAE := '';
  Lperi.xClaRisco := '';
  Lperi.grEmb := '';
  Lperi.qTotProd := '';
  Lperi.qVolTipo := '';

Caso utilize ACBrMonitorPLUS ou ACBrLib:

; Utilize tags abaixo para Adicionar CTes Relacionados
[infCTe001001]
chCTe=
SegCodBarra=
indReentrega=

[peri001001001]
nONU=     
xNomeAE=  
xClaRisco=
grEmb=    
qTotProd= 
qVolTipo=

[infEntregaParcial001001]
qtdTotal=0
qtdParcial=0

[infUnidTransp001001001]
idUnidTransp=
tpUnidTransp=
qtdRat=

[lacUnidTransp001001001001]
nLacre=

[infUnidCarga001001001001]
idUnidCarga=
tpUnidCarga
qtdRat=

[lacUnidCarga001001001001001]
nLacre=

; Utilize tags abaixo para Adicionar NFes Relacionadas
[infNFe001001]
chNFe=
SegCodBarra=
indReentrega=

[peri001001001]
nONU=     
xNomeAE=  
xClaRisco=
grEmb=    
qTotProd= 
qVolTipo=

[infUnidTransp001001001]
idUnidTransp=
tpUnidTransp=
qtdRat=

[lacUnidTransp001001001001]
nLacre=

[infUnidCarga001001001001]
idUnidCarga=
tpUnidCarga
qtdRat=

[lacUnidCarga001001001001001]
nLacre=

; Utilize tags abaixo para Adicionar MDFes Relacionados
[infMDFeTransp001001]
chMDFe=
indReentrega=

[peri001001001]
nONU=     
xNomeAE=  
xClaRisco=
grEmb=    
qTotProd= 
qVolTipo=

[infUnidTransp001001001]
idUnidTransp=
tpUnidTransp=
qtdRat=

[lacUnidTransp001001001001]
nLacre=

[infUnidCarga001001001001]
idUnidCarga=
tpUnidCarga
qtdRat=

[lacUnidCarga001001001001001]
nLacre=

Eu preenchi estas informações, mas mesmo assim elas não foram geradas no meu XML.

Para entender isso, primeiro precisamos observar as regras de validação das rejeições 638, 639 e 540:

Captura de tela 2025-01-17 120610.jpg

Veja que de acordo com o Tipo do Emitente (tpEmit) que foi preenchido no MDF-e, um determinado tipo de documento não pode ser referenciado.

As soluções do ACBr já fazem estas tratativas internamente.

Então se, por exemplo, você preencheu o valor 1 para o tpEmit, e preencheu as informações de uma NF-e referenciada, essas informações não serão adicionadas no XML.

Você deve corrigir o tpEmit.

  • Curtir 3
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

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 !!

×
×
  • 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...