Ir para conteúdo
  • Cadastre-se

dev botao

Pequena Falha No Acbrciee


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

Recommended Posts

Olá pessoal!

 

Gostaria que vocês dessem uma olhada na função "TACBrCNIEE.BuscarECF".

 

Bem, estou usando um ECF, Daruma MACH 2. Quando utilizo o "ACBrECF.SubModeloECF" para buscar o Modelo, é retornado "MACH2" e não "MACH 2", fazendo com que não seja encontrado na tabela.

 

Para resolver isso, optei em retirar os espaços. No meu código eu utilizo assim:

 

  Marca    := StringReplace(edtMarca.Text,' ','', [rfReplaceAll]);
  Modelo   := StringReplace(edtModelo.Text, ' ','', [rfReplaceAll]);
  VersaoSB := StringReplace(edtVersaoSB.Text,' ','', [rfReplaceAll]);
...

 

 ECF := ACBrCNIEE.BuscarECF(Marca, Modelo, VersaoSB);

 

E dentro da função "TACBrCNIEE.BuscarECF", coloquei o seguinte código:

...
  Marca    := AnsiUpperCase(AMarca);
  Modelo   := AnsiUpperCase(AModelo);
  VersaoSB := AnsiUpperCase(ACBrUtil.OnlyNumber(AVersaoSB));
 
  Result := nil;
  for I := 0 to Cadastros.Count - 1 do
  begin
    MarcaAtual  := AnsiUpperCase(Cadastros.DescrMarca);
    ModeloAtual := AnsiUpperCase(Cadastros.DescrModelo);
    VersaoAtual := AnsiUpperCase(ACBrUtil.OnlyNumber(Cadastros.Versao));
 
    //Retirar Espaços
    MarcaAtual  := StringReplace(MarcaAtual,' ','', [rfReplaceAll]);
    ModeloAtual := StringReplace(ModeloAtual,' ','', [rfReplaceAll]);
    VersaoAtual := StringReplace(VersaoAtual,' ','', [rfReplaceAll]);
 
    if (MarcaAtual = Marca) and (ModeloAtual = Modelo) and (VersaoAtual = VersaoSB) then

...

 

Resolveu o meu problema. Vejam se é possível inserir isso no fonte.

Abraços...

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

     Se a tabela disponibilizada pelo governo estiver diferente mesmo, acho que seria bom verificar com a Daruma o motivo de estar cadastrado assim. Talvez eles tenham alguma recomendação nesse caso.

 

     No mais, considerando que é muito difícil ter modelos com nomes ambíguos quando se retira os espaços, acho que não há nenhum problema. Exemplo: Não acho que fabricante algum iria criar um ECF Modelo "MAXI 490" e depois um outro "MAX i490".

     Mas seria bom deixar documentado, talvez até no código, o motivo de fazer esse "trim" para que no futuro ninguém tivesse problema ao mexer nessa parte do código.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Acho que o método poderia ser modificado para incluir um último parâmetro que pode default recebesse False, algo como:

function TACBrCNIEE.BuscarECF(const AMarca, AModelo, AVersaoSB: String; RemoveEspacos : Boolean = False): TACBrCNIEERegistro;
if RemoveEspacos then
begin
    MarcaAtual  := StringReplace(MarcaAtual,' ','', [rfReplaceAll]);
    ModeloAtual := StringReplace(ModeloAtual,' ','', [rfReplaceAll]);
    VersaoAtual := StringReplace(VersaoAtual,' ','', [rfReplaceAll]);
end;

Assim não afetaria o código de projetos já existentes...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Eu concordo com o Daniel. Se não tiver nenhum motivo específico da Daruma pra ter feito essa diferença, acho que é a melhor opção.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

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