Novidade: Busca Rápida no Cadastro de Produtos e Clientes

Em diversos momentos do dia nossos clientes tem a necessidade de fazer a busca por um determinado produto de forma rápida e fácil, para isso é utilizado o browse de produtos, que agora ficou muito mais ágil.

Nosso Time de Desenvolvimento do Comércio concluiu o projeto Agilidade na busca de produtos, que teve como objetivo principal simplificar e agilizar a procura de produtos no cenário de vendas ao consumidor e permitir que o vendedor consiga localizar um produto utilizando parte de determinada informação, como descrição, apelido ou cor.

Desde o início do projeto, em todas as implementações, sempre foi priorizado manter a rapidez na busca, utilizar um visual amistoso e minimalista, além da utilização de tecnologia atual e moderna. Para tanto, juntamente com o Time Dev-Tools, a ferramenta escolhida para o projeto foi o MeiliSearch.

MeiliSearch 

MeiliSearch é uma ferramenta de busca personalizável e eficiente. Foi projetada para facilitar a implementação de funcionalidades de busca em aplicativos, sites e em outros projetos. O principal objetivo dessa ferramenta é ser uma solução pronta para uso e foi escolhida pois o propósito se alinhava com o objetivo do projeto.

Além da velocidade, outro ponto importante na escolha da ferramenta é o fato de ser possível personalizar o comportamento do retorno dos resultados obtidos, garantindo assim que esse retorno irá atender a necessidade de nossos clientes. Porém o destaque da ferramenta, que fez com que ela fosse escolhida, foram 3 fatores, suporte multilínguebusca incremental e tolerância a erros. Isso quer dizer que por ter suporte multilíngue é possível fazer a busca em línguas diferentes, além de pesquisar com stemming¹ e acentuação, tendo o retorno de resultados esperado.

busca incremental é uma funcionalidade que permite que os resultados obtidos sejam mostrados ao usuário conforme ele vai digitando a palavra, de forma rápida e dinâmica. Já a tolerância a erros de digitação significa que a ferramenta consegue encontrar o resultado mesmo quando o usuário digitar alguma letra errada, esquecer da letra no meio da palavra, etc.

Um exemplo de usabilidade é o usuário digitar “produ” e conseguir visualizar todos os registros que contenham essas letras em algum ponto do campo, da mesma forma que se o usuário digitar “prdu” ou “podu” conseguiria obter os mesmo resultados.

¹ Stemming ou processo de stemização é o ato de reduzir uma palavra ao seu radical. As palavras “gato”, “gata”, “gatos” e “gatas” seriam reduzidas para “gat”, por exemplo.

Busca rápida no SIGER

Configuração

A utilização deve ser configurada no menu 1.1-P, botão [Padrões p/pesquisa], marcando o campo “Utiliza Busca Rápida”, em qualquer módulo do SIGER®. Será solicitada uma senha para liberação do recurso.

Após marcar o parâmetro para utilização da busca rápida, é necessário fazer a configuração para o correto funcionamento do serviço, para isso basta acessar o menu 9.C-G e fazer as configurações.

Tabelas liberadas e liberações futuras

Por enquanto a Busca Rápida foi liberada para as tabelas de Produto e Cliente/Fornecedor, porém todos os programas e rotinas foram implementados pensando no futuro, da forma mais genérica possível, facilitando a liberação de outras tabelas do SIGER®.

Configuração da tabela

Cada tabela liberada deve ser configurada para uso, para isso é necessário acessar o menu 9.C-I/A/E/M.

As configurações são por empresa e é possível ter uma sigla principal, e fazer o compartilhamento dessas configurações. É possível indicar a quantidade de registros que serão carregados na página inicialmente, a cada pesquisa.

É importante salientar que uma das configurações disponibilizadas é a de “Sincronizar individualmente“, que significa que os registros da tabela serão atualizados no serviço da Busca Rápida quando alterados no SIGER® (alteração ou exclusão), sem a necessidade de fazer a sincronização de dados pelo menu.

A manutenção também conta com um F9-Filtros, que abre a seleção padrão da tabela, permitindo definir quais os registros devem ser levados para o serviço da Busca Rápida, com esses filtros é possível indicar que os produtos inativos não devem ser sincronizados, por exemplo.

Referente aos campos que serão utilizados na Busca Rápida é possível informar:

Legenda: Descrição que será exibida para o campo quando utilizada a visualização da Busca Rápida em cards.

Procurável: Indica se o conteúdo do campo pode ser utilizado pela Busca Rápida.
Atualizável: Define se o campo terá o seu conteúdo atualizado automaticamente para o conteúdo atual na visualização em cards.

Imagem: Indica se o campo é uma imagem.

Campo: Ao clicar no botão será aberta uma janela de seleção de campos da tabela, permitindo selecionar visualmente qual campo utilizar na Busca Rápida.

Expressão: Ao clicar no botão será aberta a janela para edição da expressão JavaScript, onde é possível criar uma expressão e unir dois campos, por exemplo.

Sincronização dos Dados

A sincronização dos dados é feita através do menu 9.C-S, onde deve ser indicadas as tabelas e as siglas que devem ser sincronizadas.

Importante lembrar que quanto mais aberta a seleção, mais demorada a sincronização será, portanto é imprescindível ser o mais específico possível na escolha dos filtros.

Ex: Ao incluir uma nova tabela ou alterar alguma configuração de uma tabela já existente, filtre apenas a tabela incluída/alterada.

Outro ponto importante para lembrar é que a sincronização pode ser chamada através de linha de comando no agendador de tarefas do SIGER®.

Ex: SIGER.EXE VS-USUARI:?????????? VS-SENUSU:?????????? VS-OPCMEN:59CS VS-FLGFUN:SWB

Enfim, a Busca Rápida…

Após toda a configuração e sincronização já é possível utilizar a Busca Rápida, para isso basta acessar algum ponto do SIGER® que utilize o browse da tabela e, ao invés de utilizar a tecla de atalho F8, utilizar o F12. Se a busca rápida estiver configurada e o serviço estiver rodando, a tela será aberta.

Existe duas possibilidades para visualizar os registros encontrados, por cards ou em lista.

  • A tela conta os campos:
  • Campo para pesquisa;
  • Botão para limpar o texto digitado;
  • RadioButton para escolher o tipo de visualização da tela (em lista ou em cards);
  • Literal indicando quantos registros estão sendo visualizados e uma estimativa de quantos foram encontrados;
  • Botão “F2-Carregar mais” para fazer a carga de mais itens na tela.

Falando em números

Em testes efetuados, considerando o tempo para fazer 224 buscas foi de 2 segundos, tanto no layout de grid, quanto no layout de cards.
Para carga de 9.065 linhas carregadas no grid a rotina levou cerca de 9 milésimos de segundos por linha.

Exemplos

Digitado “luvas rapa soldadr” ao invés de “luvas raspa soldador”

Digitado “quimco” ao invés de “químico”

Troca de layout e preservação da pesquisa feita

Botão “F2-Carregar mais