Ir para conteúdo
  • Cadastre-se

dev botao

ISSQN DANFE FASTReport


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

Recommended Posts

Olá amigos, na DANF com FAST Reporte para notas fiscais conjugas não está saindo os valor do Serviço quando o mesmo não é tributado, caso que ocorre bastante

com nossos clientes.

Para correção do problema poderia ser procedido com a seguinte natureza.

  //Anterior                        
  //if (((Trim(VarToStr(<ISSQN."vISS">))='') or (Trim(VarToStr(<ISSQN."vISS">))='0'))) then         
  //Atual                
  if (((Trim(VarToStr(<ISSQN."vISS">))='') or (Trim(VarToStr(<ISSQN."vISS">))='0'))) and (((Trim(VarToStr(<ISSQN."vServ">))='') or (Trim(VarToStr(<ISSQN."vServ">))='0'))) then
  begin

  end;
 

 

com isso resolveria nosso problema.

 

Grato.


 

 

 

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...

 

Em 10/03/2016 at 17:11, Juliomar Marchetti disse:

é no distrito federal?

 

Vi que dia 18 foi feito um commit do arquivo DANFeRetrato.fr3 e nele ainda esta a validação do ISSQN do valor do imposto e não pelo valor do serviço, caso que acontece em casos em que o serviço não é tributado ou por algum outro motivo, o que acontece bastante aqui na nossa cidade onde sai somente o valor do Serviço sem ISSQN.

 

   if Engine.FinalPass then
  begin
    if ((Trim(VarToStr(<ISSQN."VServ">))='') or (Trim(VarToStr(<ISSQN."VServ">))='0')) then
    begin
      ColumnFooter1.Visible := False;
      ColumnFooter1.Height := 0;
    end;                  

 

DANFeRetrato.fr3

Link para o comentário
Compartilhar em outros sites

  • Moderadores

@Weber, post Arquivo Pdf ,e o arquivo de xml  , para avaliação.

Pois devo adotar uma regra parecida  conforme a seguir : 

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

Regra retirada da Danfe em Report Fortes.

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

  • Moderadores

Teste  o arquivo anexo;

Fiz a seguinte alteração : 

  if Engine.FinalPass then
  begin
    if  ( 
          ( Trim(VarToStr(<ISSQN."vBC"   >)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vBC"   >)) ='0') or
          ( Trim(VarToStr(<ISSQN."vISS"  >)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vISS"  >)) ='0') or
          ( Trim(VarToStr(<ISSQN."vServ">)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vServ">)) ='0') 
       )  then
          begin
             ColumnFooter1.Visible := False;
             ColumnFooter1.Height := 0;
          end;                  
  end;    

 

DANFeRetrato.fr3

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

Deu erro..

 

Em 10/03/2016 at 17:11, Juliomar Marchetti disse:

é no distrito federal?

 

Vi que dia 18 foi feito um commit do arquivo DANFeRetrato.fr3 e nele ainda esta a validação do ISSQN do valor do imposto e não pelo valor do serviço, caso que acontece em casos em que o serviço não é tributado ou por algum outro motivo, o que acontece bastante aqui na nossa cidade onde sai somente o valor do Serviço sem ISSQN.

 

   if Engine.FinalPass then
  begin
    if ((Trim(VarToStr(<ISSQN."VServ">))='') or (Trim(VarToStr(<ISSQN."VServ">))='0')) then
    begin
      ColumnFooter1.Visible := False;
      ColumnFooter1.Height := 0;
    end;                  

 

Erro Relatorio.PNG

2 horas atrás, hleorj disse:

Teste  o arquivo anexo;

Fiz a seguinte alteração : 


  if Engine.FinalPass then
  begin
    if  ( 
          ( Trim(VarToStr(<ISSQN."vBC"   >)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vBC"   >)) ='0') or
          ( Trim(VarToStr(<ISSQN."vISS"  >)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vISS"  >)) ='0') or
          ( Trim(VarToStr(<ISSQN."vServ">)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vServ">)) ='0') 
       )  then
          begin
             ColumnFooter1.Visible := False;
             ColumnFooter1.Height := 0;
          end;                  
  end;    

 

DANFeRetrato.fr3

Deu erro..

Tem que tirar os espaços exemplo: ISSQN."vBC'    >) fica ISSQN."vBC'>

 if Engine.FinalPass then
  begin
    if  ( 
          ( Trim(VarToStr(<ISSQN."vBC"   >)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vBC"   >)) ='0') or
          ( Trim(VarToStr(<ISSQN."vISS"  >)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vISS"  >)) ='0') or
          ( Trim(VarToStr(<ISSQN."vServ">)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vServ">)) ='0') 
       )  then
          begin
             ColumnFooter1.Visible := False;
             ColumnFooter1.Height := 0;
          end;                  
  end;    

 

Em 10/03/2016 at 17:11, Juliomar Marchetti disse:

é no distrito federal?

 

Vi que dia 18 foi feito um commit do arquivo DANFeRetrato.fr3 e nele ainda esta a validação do ISSQN do valor do imposto e não pelo valor do serviço, caso que acontece em casos em que o serviço não é tributado ou por algum outro motivo, o que acontece bastante aqui na nossa cidade onde sai somente o valor do Serviço sem ISSQN.

 

   if Engine.FinalPass then
  begin
    if ((Trim(VarToStr(<ISSQN."VServ">))='') or (Trim(VarToStr(<ISSQN."VServ">))='0')) then
    begin
      ColumnFooter1.Visible := False;
      ColumnFooter1.Height := 0;
    end;                  

 

Link para o comentário
Compartilhar em outros sites

14 minutos atrás, Weber disse:

Deu erro..

 

Vi que dia 18 foi feito um commit do arquivo DANFeRetrato.fr3 e nele ainda esta a validação do ISSQN do valor do imposto e não pelo valor do serviço, caso que acontece em casos em que o serviço não é tributado ou por algum outro motivo, o que acontece bastante aqui na nossa cidade onde sai somente o valor do Serviço sem ISSQN.

 

   if Engine.FinalPass then
  begin
    if ((Trim(VarToStr(<ISSQN."VServ">))='') or (Trim(VarToStr(<ISSQN."VServ">))='0')) then
    begin
      ColumnFooter1.Visible := False;
      ColumnFooter1.Height := 0;
    end;                  

 

Erro Relatorio.PNG

Deu erro..

Tem que tirar os espaços exemplo: ISSQN."vBC'    >) fica ISSQN."vBC'>


 if Engine.FinalPass then
  begin
    if  ( 
          ( Trim(VarToStr(<ISSQN."vBC"   >)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vBC"   >)) ='0') or
          ( Trim(VarToStr(<ISSQN."vISS"  >)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vISS"  >)) ='0') or
          ( Trim(VarToStr(<ISSQN."vServ">)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vServ">)) ='0') 
       )  then
          begin
             ColumnFooter1.Visible := False;
             ColumnFooter1.Height := ;
          end;                  
  end;    

 

Vi que dia 18 foi feito um commit do arquivo DANFeRetrato.fr3 e nele ainda esta a validação do ISSQN do valor do imposto e não pelo valor do serviço, caso que acontece em casos em que o serviço não é tributado ou por algum outro motivo, o que acontece bastante aqui na nossa cidade onde sai somente o valor do Serviço sem ISSQN.

 

   if Engine.FinalPass then
  begin
    if ((Trim(VarToStr(<ISSQN."VServ">))='') or (Trim(VarToStr(<ISSQN."VServ">))='0')) then
    begin
      ColumnFooter1.Visible := False;
      ColumnFooter1.Height := 0;
    end;                  

 

Arquivo corrigido em anexo.. do jeito que estava mesmo arrumando os espaços não estava funcionando.

2 horas atrás, hleorj disse:

Teste  o arquivo anexo;

Fiz a seguinte alteração : 


  if Engine.FinalPass then
  begin
    if  ( 
          ( Trim(VarToStr(<ISSQN."vBC"   >)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vBC"   >)) ='0') or
          ( Trim(VarToStr(<ISSQN."vISS"  >)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vISS"  >)) ='0') or
          ( Trim(VarToStr(<ISSQN."vServ">)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vServ">)) ='0') 
       )  then
          begin
             ColumnFooter1.Visible := False;
             ColumnFooter1.Height := 0;
          end;                  
  end;    

 

DANFeRetrato.fr3

Deste jeito não deu certo, arrumei uns erros e mudei a logica, em anexo o arquivo para verificação.

  if Engine.FinalPass then
  begin

    if  (
          ( Trim(VarToStr(<ISSQN."vBC">)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vBC">)) ='0') and    
          ( Trim(VarToStr(<ISSQN."vISS">)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vISS">)) ='0') and    
          ( Trim(VarToStr(<ISSQN."vServ">)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vServ">)) ='0') 
       )  then
          begin
             ColumnFooter1.Visible := False;
             ColumnFooter1.Height := 0;
          end;                  
  end;                       
 

DANFeRetrato.fr3

Link para o comentário
Compartilhar em outros sites

3 minutos atrás, hleorj disse:

qual alteracao que praticou ?

if Engine.FinalPass then
  begin

    if  (
          ( Trim(VarToStr(<ISSQN."vBC">)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vBC">)) ='0') and    
          ( Trim(VarToStr(<ISSQN."vISS">)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vISS">)) ='0') and    
          ( Trim(VarToStr(<ISSQN."vServ">)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vServ">)) ='0') 
       )  then
          begin
             ColumnFooter1.Visible := False;
             ColumnFooter1.Height := 0;
          end;                  
  end;        

na verdade o correto seria ficar assim:

if Engine.FinalPass then
  begin

    if  (
          (( Trim(VarToStr(<ISSQN."vBC">)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vBC">)) ='0')) and    
          (( Trim(VarToStr(<ISSQN."vISS">)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vISS">)) ='0')) and    
          (( Trim(VarToStr(<ISSQN."vServ">)) = '' ) or
          ( Trim(VarToStr(<ISSQN."vServ">)) ='0')) 
       )  then
          begin
             ColumnFooter1.Visible := False;
             ColumnFooter1.Height := 0;
          end;                  
  end;  

com um "(" entre os AND.

Abraço.

            

Link para o comentário
Compartilhar em outros sites

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