Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2316 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde pessoal,

Eu estava tendo problemas com a geração via ACBrMonitorPLUS com relação ao grupo Faturas. A rejeição era "Rejeição: campos do grupo fatura não informados"

Essa rejeição ocorria devido ao componente suprimir a Tag desconto quando o valor era 0 e agora após essa nova validação, o grupo Fatura não é obrigatório, mas se for informado tem que sair todas as tags, inclusive a desconto com o valor zerado.

Para correção eu alterei no arquivo "../Fontes/ACBrDFe/ACBrNFe/PCNNFE/pcnNFeW.pas"

a função antes era:

procedure TNFeW.GerarCobrFat;
begin
  if (trim(nfe.Cobr.Fat.nFat) <> '') or
    (nfe.Cobr.Fat.vOrig > 0) or
    (nfe.Cobr.Fat.vDesc > 0) or
    (nfe.Cobr.Fat.vLiq > 0) then
  begin
    Gerador.wGrupo('fat', 'Y02');
    Gerador.wCampo(tcStr, 'Y03', 'nFat   ', 01, 60, 0, nfe.Cobr.Fat.nFat, DSC_NFAT);
    Gerador.wCampo(tcDe2, 'Y04', 'vOrig  ', 01, 15, 0, nfe.Cobr.Fat.vOrig, DSC_VORIG);
    Gerador.wCampo(tcDe2, 'Y05', 'vDesc  ', 01, 15, 0, nfe.Cobr.Fat.vDesc, DSC_VDESC);
    Gerador.wCampo(tcDe2, 'Y06', 'vLiq   ', 01, 15, 0, nfe.Cobr.Fat.vLiq, DSC_VLIQ);
    Gerador.wGrupo('/fat');
  end;
end;

 

Alterei para:

procedure TNFeW.GerarCobrFat;
begin
  if (trim(nfe.Cobr.Fat.nFat) <> '') or
    (nfe.Cobr.Fat.vOrig > 0) or
    (nfe.Cobr.Fat.vDesc > 0) or
    (nfe.Cobr.Fat.vLiq > 0) then
  begin
    Gerador.wGrupo('fat', 'Y02');
    Gerador.wCampo(tcStr, 'Y03', 'nFat   ', 01, 60, 1, nfe.Cobr.Fat.nFat, DSC_NFAT);
    Gerador.wCampo(tcDe2, 'Y04', 'vOrig  ', 01, 15, 1, nfe.Cobr.Fat.vOrig, DSC_VORIG);
    Gerador.wCampo(tcDe2, 'Y05', 'vDesc  ', 01, 15, 1, nfe.Cobr.Fat.vDesc, DSC_VDESC);
    Gerador.wCampo(tcDe2, 'Y06', 'vLiq   ', 01, 15, 1, nfe.Cobr.Fat.vLiq, DSC_VLIQ);
    Gerador.wGrupo('/fat');
  end;
end;

 

Alterando a obrigação do campo para 1 ele gera a tag no XML mesmo se o valor estiver zerado. Isso resolve o problema.

Caso queiram subir a correção no SVN segue anexo o .pas modificado.

Obrigado

pcnNFeW.zip

Postado

Boa tarde!

Fiz desta forma:

procedure TNFeW.GerarCobrFat;
begin
  if (trim(nfe.Cobr.Fat.nFat) <> '') or
    (nfe.Cobr.Fat.vOrig > 0) or
    (nfe.Cobr.Fat.vDesc > 0) or
    (nfe.Cobr.Fat.vLiq > 0) then
  begin
    Gerador.wGrupo('fat', 'Y02');
    Gerador.wCampo(tcStr, 'Y03', 'nFat   ', 01, 60, 0, nfe.Cobr.Fat.nFat, DSC_NFAT);
    Gerador.wCampo(tcDe2, 'Y04', 'vOrig  ', 01, 15, 0, nfe.Cobr.Fat.vOrig, DSC_VORIG);
    if NFe.Ide.tpAmb = taHomologacao then begin
       Gerador.wCampo(tcDe2, 'Y05', 'vDesc  ', 01, 15, 1, nfe.Cobr.Fat.vDesc, DSC_VDESC);
    end else begin
       Gerador.wCampo(tcDe2, 'Y05', 'vDesc  ', 01, 15, 0, nfe.Cobr.Fat.vDesc, DSC_VDESC);
    end;

    Gerador.wCampo(tcDe2, 'Y06', 'vLiq   ', 01, 15, 0, nfe.Cobr.Fat.vLiq, DSC_VLIQ);
    Gerador.wGrupo('/fat');
  end;
end;

Assim funcionou corretamente.

pcnNFeW.pas

  • Curtir 2
  • 4 semanas depois ...
  • Este tópico foi criado há 2316 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.