Ir para conteúdo
  • Cadastre-se

dev botao

Impressão da DANFE FORTES


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

Recommended Posts

Amigos na impressão da DANFE no fortes reporte contem a seguinte linha:

procedure TfrlDANFeRLRetrato.ISSQN;
begin
  with FNFe.Total.ISSQNtot do
  begin
    if FNFe.Emit.IM > '' then
    begin
      rlbISSQN.Visible := True;
      rllISSQNInscricao.Caption     := FNFe.Emit.IM;
      rllISSQNValorServicos.Caption := FormatFloatBr(FNFe.Total.ISSQNtot.vServ,'###,###,##0.00');
      rllISSQNBaseCalculo.Caption   := FormatFloatBr(FNFe.Total.ISSQNtot.vBC,'###,###,##0.00');
      rllISSQNValorISSQN.Caption    := FormatFloatBr(FNFe.Total.ISSQNtot.vISS,'###,###,##0.00');
    end
    else
      rlbISSQN.Visible := False;
  end;
end;
 

 

Visto que exite um parâmetro para esta finalidade: MostraDadosISSQN, 

 

Pois bem, quando o parametro esta false e o Cliente possui IM ele esta imprimindo os campos da mesma forma..

minha sugestão seria que fique assim:

procedure TfrlDANFeRLRetrato.ISSQN;
begin
  with FNFe.Total.ISSQNtot do
  begin
    if (FNFe.Emit.IM > '') and (MostraDadosISSQN = True) then
    begin
      rlbISSQN.Visible := True;
      rllISSQNInscricao.Caption     := FNFe.Emit.IM;
      rllISSQNValorServicos.Caption := FormatFloatBr(FNFe.Total.ISSQNtot.vServ,'###,###,##0.00');
      rllISSQNBaseCalculo.Caption   := FormatFloatBr(FNFe.Total.ISSQNtot.vBC,'###,###,##0.00');
      rllISSQNValorISSQN.Caption    := FormatFloatBr(FNFe.Total.ISSQNtot.vISS,'###,###,##0.00');
    end
    else
      rlbISSQN.Visible := False;
  end;
end;

 

Pois tenho vários clientes que tem IM porém não fazem NF conjugada e estão reclamando dos campos desnecessários.

 

 

ACBR, Desatualizado. ignorar por favor!

12 minutos atrás, Weber disse:

Amigos na impressão da DANFE no fortes reporte contem a seguinte linha:

procedure TfrlDANFeRLRetrato.ISSQN;
begin
  with FNFe.Total.ISSQNtot do
  begin
    if FNFe.Emit.IM > '' then
    begin
      rlbISSQN.Visible := True;
      rllISSQNInscricao.Caption     := FNFe.Emit.IM;
      rllISSQNValorServicos.Caption := FormatFloatBr(FNFe.Total.ISSQNtot.vServ,'###,###,##0.00');
      rllISSQNBaseCalculo.Caption   := FormatFloatBr(FNFe.Total.ISSQNtot.vBC,'###,###,##0.00');
      rllISSQNValorISSQN.Caption    := FormatFloatBr(FNFe.Total.ISSQNtot.vISS,'###,###,##0.00');
    end
    else
      rlbISSQN.Visible := False;
  end;
end;
 

 

Visto que exite um parâmetro para esta finalidade: MostraDadosISSQN, 

 

Pois bem, quando o parametro esta false e o Cliente possui IM ele esta imprimindo os campos da mesma forma..

minha sugestão seria que fique assim:

procedure TfrlDANFeRLRetrato.ISSQN;
begin
  with FNFe.Total.ISSQNtot do
  begin
    if (FNFe.Emit.IM > '') and (MostraDadosISSQN = True) then
    begin
      rlbISSQN.Visible := True;
      rllISSQNInscricao.Caption     := FNFe.Emit.IM;
      rllISSQNValorServicos.Caption := FormatFloatBr(FNFe.Total.ISSQNtot.vServ,'###,###,##0.00');
      rllISSQNBaseCalculo.Caption   := FormatFloatBr(FNFe.Total.ISSQNtot.vBC,'###,###,##0.00');
      rllISSQNValorISSQN.Caption    := FormatFloatBr(FNFe.Total.ISSQNtot.vISS,'###,###,##0.00');
    end
    else
      rlbISSQN.Visible := False;
  end;
end;

 

Pois tenho vários clientes que tem IM porém não fazem NF conjugada e estão reclamando dos campos desnecessários.

 

 

ACBR, Desatualizado. ignorar por favor!

 

Agora esta assim:

  with FNFe.Total.ISSQNtot do
  begin
    rlbISSQN.Visible  := ( FNFe.Total.ISSQNtot.vISS > 0 ) and ( fMostraDadosISSQN = True );
    if rlbISSQN.Visible then
    begin
      rllISSQNInscricao.Caption     := FNFe.Emit.IM;
      rllISSQNValorServicos.Caption := FormatFloatBr(FNFe.Total.ISSQNtot.vServ,'###,###,##0.00');
      rllISSQNBaseCalculo.Caption   := FormatFloatBr(FNFe.Total.ISSQNtot.vBC,'###,###,##0.00');
      rllISSQNValorISSQN.Caption    := FormatFloatBr(FNFe.Total.ISSQNtot.vISS,'###,###,##0.00');
    end;
  end;
 

Porém existem empresas que são isentas de ISS, ficando o valor como zero. acho que o IF deveria ser com o valor do serviço ficando assim:

  with FNFe.Total.ISSQNtot do
  begin
    rlbISSQN.Visible  := ( FNFe.Total.ISSQNtot.vServ > 0 ) and ( fMostraDadosISSQN = True );
    if rlbISSQN.Visible then
    begin
      rllISSQNInscricao.Caption     := FNFe.Emit.IM;
      rllISSQNValorServicos.Caption := FormatFloatBr(FNFe.Total.ISSQNtot.vServ,'###,###,##0.00');
      rllISSQNBaseCalculo.Caption   := FormatFloatBr(FNFe.Total.ISSQNtot.vBC,'###,###,##0.00');
      rllISSQNValorISSQN.Caption    := FormatFloatBr(FNFe.Total.ISSQNtot.vISS,'###,###,##0.00');
    end;
  end;

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

@Weber

  with FNFe.Total.ISSQNtot do
  begin
    rlbISSQN.Visible  := ( ( FNFe.Total.ISSQNtot.vServ > 0 ) or
                           ( FNFe.Total.ISSQNtot.vISS  > 0 ) or
                           ( FNFe.Total.ISSQNtot.vBC   > 0 )
                          )
 
                         and ( fMostraDadosISSQN = True );
   ...
   .....
  end;

Soluciona o problema de todos ?

Equipe ACBr Henrique Leonardo
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Tecnólogo em processamento de dados

E-mail [email protected] - Skype : hleorj

Link para o comentário
Compartilhar em outros sites

  • 9 meses depois ...

Pessoal, boa noite!

Desculpe ressuscitar o tópico, mas estou com um problema exatamente neste ponto. Tenho um cliente que emite Nfe de produtos e serviços, porém em ambos os casos, que quer que seja exibido a inscrição municipal no danfe. Pelo código acima, só é exibido caso tenha algum valor nos totais do ISSQN. 

Não seria mais interessante colocar um "OR" para propriedade MostraDadosISSQN? com isso fica a critério de cada um decidir se exibe ou não, independente de valor.

Tipo isso

Citar

  with FNFe.Total.ISSQNtot do
  begin
    rlbISSQN.Visible  := ( ( FNFe.Total.ISSQNtot.vServ > 0 ) or
                           ( FNFe.Total.ISSQNtot.vISS  > 0 ) or
                           ( FNFe.Total.ISSQNtot.vBC   > 0 )
                          )
 
                         or ( fMostraDadosISSQN = True );

 

Só um detalhe: o emissor da sefaz exibe assim, por isso ele está me questionando para também colocar.

Link para o comentário
Compartilhar em outros sites

8 horas atrás, Juliomar Marchetti disse:

O que diz o manual quanto a essa informação?

Dei uma olhada e a unica coisa que achei sobre foi isso:

Citar

7.3.3 Quadro “Cálculo do ISSQN”
Caso não se aplique às suas operações, o emitente poderá suprimir os campos do bloco
“Cálculo do ISSQN” e efetuar os seguintes ajustes:
o Aumentar a altura do quadro “Dados dos Produtos/Serviços” no mesmo valor da
redução obtida com a eliminação dos campos do referido bloco.

Aumentar a altura do campo “Informações Complementares” e do quadro
“Reservado ao Fisco” no mesmo valor da redução obtida com a eliminação dos
campos do bloco “Cálculo do ISSQN”.

Ou seja, a meu ver não existe nada que impeça de exibir o quadro do ISSQN, mesmo sem valores, apenas exibindo a inscrição municipal, semelhante ao emissor da sefaz 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Henrique eu só não implementei por que tenho alguns problema de impedimento pessoal (notebook) mas se quiser implementar mas. cria default como true.

Perdão digo False pois só usar quem quiser mesmo!

  • Curtir 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Enviado ao svn : 

[*] Ajustes para imprimir a banda Mostra Dados ISSQN.
[*] Propriedade MostraDadosISSQN valor padrão igual a false.
              por: Henrique Leonardo / Juliomar Marchetti

  • Curtir 1
Equipe ACBr Henrique Leonardo
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Tecnólogo em processamento de dados

E-mail [email protected] - Skype : hleorj

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2667 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.