Ir para conteúdo
  • Cadastre-se

dev botao

Erro No Relatório Parametros De Cofiguração


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

Recommended Posts

Postado (editado)

Saudações:

 

Li em um tópico sobre a mudança no layout do RG Param. de configuração onde, se a versão é >= 201 ele imprime

Perfil de Requisitos Configurado: <Letra do perfil>

 

Ao implementar as mudanças (que são: a informação da versão e a letra do requisito), me deparei com algo estranho:

 

Aqui, a forma como configuro as informações na minha aplicação:

 

   AAC.AbrirArquivo;
   AAC.IdentPAF.Paf.RecompoeGT           := True;
   AAC.IdentPAF.Paf.RecompoeNumSerie := True;
   AAC.IdentPAF.VersaoER                       := '0201';
   AAC.IdentPAF.Paf.PerfilRequisitos        := 'F';

 

Mesmo informando ao AAC a versão 0201 ele não mudou a impressão do RG.

Assim, analisando o código na unit AcbrECF, a partir da linha 6155, me deparei com a seguinte situação: (omiti alguns trechos da rotina para simplificar a visualização)

 

procedure TACBrECF.PafMF_RelParametrosConfiguracao(AInfoPafECF: TACBrECFInfoPaf;  const AIndiceRelatorio: Integer);

var
...
  versaoPafECF: Integer;//a var obtém a versão da ER
...
...
...
begin
  versaoPafECF := 0;//aqui ele define zero como padrão
...
...
Aqui me deparei com o problema
 
  if (not Assigned(AInfoPafECF)) then //AInfoPafECF existe e ele pula este trecho
  begin
    if Assigned(fsAAC) then
    begin
      AInfoPafECF  := fsAAC.IdentPAF.Paf;
      versaoPafECF := StrToInt(OnlyNumber(fsAAC.IdentPAF.VersaoER));//onde deveria obter o valor da versão
    end
    else
      raise EACBrECFErro.Create( ACBrStr('Parâmetros de configuração do Paf-ECF não informados') ) ;
  end;
 
...
 
  Relatorio := TStringList.Create;
  try
    Relatorio.Clear;
 
    Relatorio.Add('</linha_dupla>');
    Relatorio.Add('<ce>PARÂMETROS DE CONFIGURAÇÃO</ce>');
    Relatorio.Add('</linha_dupla>');
    Relatorio.Add('');
//e aqui esta sempre como zero e nao muda o processamento da impressão
    if versaoPafECF >= 201 then
      Relatorio.Add('Perfil de Requisitos Configurado: ' + AInfoPafECF.PerfilRequisitos)
    else
    begin
...
 
Existe aqui um erro ou estou fazendo algo errado nas configurações?
Eu chamo a impressão da seguinte forma:
 
ECF.PafMF_RelParametrosConfiguracao(ECF.AAC.IdentPAF.Paf, indice);
 
Att,
 
Alfredo Koplin
 
PS: Após pensar um pouco, fiz o seguinte: ECF.PafMF_RelParametrosConfiguracao(nil, indice);
e funcionou, mas ainda assim cabe a dúvida: a rotina do ACBRECF nao deveria prever que AInfoPafECF está presente e proceder de acordo?
Editado por koplin
  • Moderadores
  • Solution
Postado

Na verdade ele vai utilizar uma propriedade do ACBrAAC onde está configurado o perfil de requisitos, e AInfoPafECF não possui ela.

Fiz um overload do método para um novo método que recebe a string do perfil de requisitos.

 

Estou homologando para todos os estados e implementei esse relatório da seguinte maneira.

  1. Cada estado tem seu perfil, coloquei isso em uma tabela de controle;
  2. Conforme o estado configurado no momento leio nessa tabela o perfil;
  3. Passo ao novo método para impressão.

Ficou mais ou menos assim:

ACBrECF.PafMF_RelParametrosConfiguracao(UFPERFIL, Indice);

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado (editado)

Valeu, Regys, pela informação.

 

Detalhe, não tem a opção RESOLVIDO para marcar.

 

 

 

Att,

 

Alfredo Koplin.

Editado por koplin
  • 11 meses depois ...
Postado

Pessoal,

precisei remover as tags de formatação (<n> e </n>) do relatório PafMF_RelParametrosConfiguracao

porque minha Daruma FS700 estava imprimindo somete até a linha do "IDENTIFICAÇÃO E CARACTERISTICAS DO".

Depois que removi, funcionou.

  • Moderadores
Postado

Pessoal,

precisei remover as tags de formatação (<n> e </n>) do relatório PafMF_RelParametrosConfiguracao

porque minha Daruma FS700 estava imprimindo somete até a linha do "IDENTIFICAÇÃO E CARACTERISTICAS DO".

Depois que removi, funcionou.

 

Não precisa mecher no relatório basta configurar o ACBrECF para não utilizar as tags usando a propriedade IgnorarTagsFormatacao.

  • Curtir 1

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • 4 meses depois ...
  • Este tópico foi criado há 3673 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.

The popup will be closed in 10 segundos...