Ir para conteúdo
  • Cadastre-se

dev botao

Correção Do Danfe Fortesreport Nf-E


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

Recommended Posts

Ola, Bom dia

 

me deparei com um problema na impressão do DANFE usando fortesReport em Contingência SVC-AN e SVC-RS, segue em anexo um pdf com um DANFE de exemplo do problema, 

1 - Abaixo da chave de acesso  existe um quadro branco por cima do texto. (Este é o RLbCodigoBarrasFS)

2 - No quadro onde esta o Protocolo de autorização de uso, esta vindo em branco 

3 - Bande ( rllAvisoContingencia ) esta visível, porém deve ser visível somente para FS-DA

 

Encontrei o problema no ACBrNFeDANFeRLPaisagem.pas e ACBrNFeDANFeRLRetrato.pas na 

procedure TfrlDANFeRLPaisagem.Header; e procedure TfrlDANFeRLRetrato.Header; respetivamente.

 

veja no trecho abaixo que não são tratados os  teSVCAN, teSVCRS, teSVCSP 

 

 

...

if FNFe.Ide.tpEmis in [teNormal, teSCAN] then

  begin
    if FNFe.procNFe.cStat > 0 then
    begin
      rllDadosVariaveis1a.Visible := True;
      rllDadosVariaveis1b.Visible := True;
    end
    else
    begin
      rllDadosVariaveis1a.Visible := False;
      rllDadosVariaveis1b.Visible := False;
    end;
    rlbCodigoBarrasFS.Visible := False;
    // Alteracao aplicada para corrigir a impressao do protocolo da NFe
    // quando emitindo DANFE candelado.
    // Alterado por Jorge Henrique em 22/02/2013
    if FProtocoloNFe <> '' then
      rllDadosVariaveis3.Caption := FProtocoloNFe
    else
      rllDadosVariaveis3.Caption := FNFe.procNFe.nProt + ' ' + DateTimeToStr(FNFe.procNFe.dhRecbto);
    rllAvisoContingencia.Visible := False;
    rlbAvisoContingencia.Visible := False;
  end
  else if FNFe.Ide.tpEmis in [teContingencia, teFSDA] then
  begin
    sChaveContingencia := NotaUtil.GerarChaveContingencia(FNFe);
    rllDadosVariaveis1a.Visible := False;
    rllDadosVariaveis1b.Visible := False;
    rlbCodigoBarras.Visible := True;
    rlbCodigoBarrasFS.Caption := sChaveContingencia;
    rlbCodigoBarrasFS.Visible := True;
    rllDadosVariaveis3_Descricao.Caption := 'DADOS DA NF-E';
    rllDadosVariaveis3.Caption := NotaUtil.FormatarChaveContigencia(sChaveContingencia);
    rllAvisoContingencia.Caption := 'DANFE em Contingência - ' + 'Impresso em decorrência de problemas técnicos';
    if (dhCont > 0) and (xJust > '') then
      rllContingencia.Caption := 'Data / Hora da entrada em contingência: ' + FormatDateTime('dd/mm/yyyy hh:nn:ss', dhCont) + '   Motivo: ' + xJust;
    rllAvisoContingencia.Visible := True;
    rlbAvisoContingencia.Visible := True;
  end
  else if FNFe.Ide.tpEmis = teDPEC then
  begin
    rllDadosVariaveis1a.Visible := True;
    rllDadosVariaveis1b.Visible := True;
    rlbCodigoBarras.Visible := True;
    rlbCodigoBarrasFS.Visible := False;
    rllDadosVariaveis3_Descricao.Caption := 'NÚMERO DE REGISTRO DPEC';
 
    if FProtocoloNFe <> '' then
      rllDadosVariaveis3.Caption := FProtocoloNFe
    else
      rllDadosVariaveis3.Caption := FNFe.procNFe.nProt + ' ' + DateTimeToStr(FNFe.procNFe.dhRecbto);
 
    rllAvisoContingencia.Caption := 'DANFE em Contingência - DPEC ' + 'regularmente recebida pela Receita Federal do Brasil';
 
    if (dhCont > 0) and (xJust > '') then
      rllContingencia.Caption := 'Data / Hora da entrada em contingência: ' + FormatDateTime('dd/mm/yyyy hh:nn:ss', dhCont) + '   Motivo: ' + xJust;
 
    rllAvisoContingencia.Visible := True;
    rlbAvisoContingencia.Visible := True;
  end;
...

 

Para resolver acrescentei no primeiro " if " os  teSVCAN, teSVCRS, teSVCSP, fiz alguns teste e não notei problemas decorrentes a esta mudança, e resolveu os problemas acima descritos.

 

if FNFe.Ide.tpEmis in [teNormal, teSCAN, teSVCAN, teSVCRS, teSVCSP] then

      begin

.

.

.

 
Segue em anexo a correção que fiz e o DANFE de exemplo.

 

Desde já agradeço pela atenção.

ACBRDanfe.rar

DANFE.pdf

Link para o comentário
Compartilhar em outros sites

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

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.