# Qual tabela de preço será usada em uma venda ou catálogo?

### Venda

A definição da tabela de preço segue uma hierarquia configurada para garantir que as prioridades do cliente, da empresa e do representante sejam respeitadas, proporcionando flexibilidade e eficiência no processo de vendas. A seleção da tabela será realizada conforme a seguinte ordem:

1. **Validação da Tabela do Cliente**
   * Primeiramente, será verificado se o cliente possui uma tabela de preço definida.
   * Caso exista, essa tabela será utilizada como base para as transações.
2. **Tabela Definida na Empresa / Operação**
   * Se o cliente não possuir uma tabela configurada, será utilizada a tabela padrão definida para a operação.
   * Caso a operação também não possua uma tabela, será utilizada a tabela definida no parâmetro da empresa.
3. **Tabela Liberada para o Representante**
   * Se a empresa não tiver uma tabela configurada, será verificada a existência de tabelas liberadas para o representante.
   * Nesse caso, o representante poderá selecionar uma das tabelas disponíveis para ele.
4. **Configuração Geral do Sistema (HsMovel)**
   * Se o representante não tiver nenhuma tabela de preço definida, serão consideradas todas as tabelas configuradas no sistema HsMovel, garantindo que sempre haja uma opção disponível.
   * Caso o representante tenha tabelas liberadas e uma delas seja proveniente do cliente, empresa ou operação, ela deverá ser utilizada.
   * Caso contrário, será utilizada a primeira tabela disponível na lista para o representante.

Essa hierarquia foi desenvolvida para assegurar que o sistema funcione de maneira organizada, respeitando as configurações específicas de cada nível e permitindo flexibilidade para as vendas.

### Catálogo

No caso do **Catálogo**, a lógica de seleção da tabela de preço será diferente, considerando que não há um cliente ou empresa associados durante a navegação. O objetivo é priorizar as tabelas disponíveis para o representante, garantindo a flexibilidade necessária. Abaixo está o detalhamento:

1. **Tabelas Liberadas para o Representante:**
   * Serão utilizadas as tabelas de preço que estão liberadas especificamente para o representante.
   * O representante poderá acessar apenas as tabelas configuradas como disponíveis para ele.
2. **Configuração Geral do Sistema (HsMovel):**
   * Caso não existam tabelas liberadas para o representante, serão utilizadas todas as tabelas configuradas no sistema HsMovel.
   * Isso garante que o catálogo esteja sempre acessível, mesmo na ausência de uma configuração específica para o representante.

Essa abordagem foi projetada para simplificar a experiência do representante durante o uso do catálogo, evitando dependências de configurações de cliente ou empresa e priorizando as opções disponíveis diretamente para ele.
