UC00094 - Tabela de preço
Conteúdo |
Objetivo
- Manter cadastro de tabelas de preço.
Atores
- Usuário
Pré-requisitos
- Considerar documento Padrões de desenvolvimento.
- No projeto da rotina, em confsrc > META-INF > messages > view.properties definir o nome como Tabela de preço. Este nome será utilizado para criar a página no Wiki.
Resultado esperado
- Cadastrar no sistema tabelas de preço a serem utilizadas nos itens.
Diagrama de classes
Fluxo de eventos
Fluxos principais
Fluxo 1: Usuário acessa o menu Cadastros > Faturamento > Item > Tabela de preço.
- Sistema exibe tela de pesquisa exibindo as tabelas já cadastradas em um grid com as seguintes colunas:
- DESCRIÇÃO
- DESCRIÇÃO ABREVIADA
- ATIVO
- PADRÂO
- DESCONTO (%)
- VALIDADE
Fluxo 2: Usuário aciona o botão <Adicionar tabela de preço>.
- Sistema exibe a tela de manutenção conforme layout sugerido.
Fluxo 3: Usuário informa os dados da tabela de preço e aciona o botão <Salvar>.
- Sistema cadastra a tabela de preço.
Fluxos alternativos
Fluxo 1: Na tela de pesquisa usuário aciona no grid o botão <Consulta> para um determinado registro.
- Sistema exibe a tela de manutenção em modo de consulta com os dados do registro selecionado.
Fluxo 2: Usuário aciona o botão <Alterar> em um determinado registro no grid da tela de pesquisa ou após consulta-lo.
- Sistema exibe a tela de manutenção com os dados do registro selecionado habilitados para alteração.
Fluxo 3: Usuário aciona o botão <Excluir> em um determinado registro no grid da tela de pesquisa ou após consulta-lo.
- Sistema emite ao usuário a mensagem de confirmação: Confirma a exclusão deste registro?
- Caso usuário selecione <Sim> na mensagem, sistema exclui permanentemente o registro em questão. Caso contrário a exclusão é abortada.
Fluxos de exceção
Fluxo 1: Tendo uma tabela de preço já cadastrada e definida como padrão em uma determinada filial, usuário altera uma outra tabela ou cadastra uma nova tabela definindo-a também como padrão na filial em questão.
- Sistema aborta a gravação e emite ao usuário a seguinte mensagem de alerta: A tabela de preço cadastrada como XXXXXX já está definida como tabela padrão na filial YYY-YYYYYYY. Uma filial pode ter somente uma única tabela de preço definida como padrão. Onde XXXXXX equivale à descrição da tabela padrão já cadastrada e YYY-YYYYYYY ao código+nome da filial.
Fluxo 2: Tendo uma tabela de preço já cadastrada e vinculada a um cliente ou a um produto, usuário tenta alterá-la.
- Ao entrar em modo de alteração sistema emite ao usuário a seguinte mensagem de alerta: Atenção! Esta tabela de preço é utilizada no cadastro de produtos/clientes e quaisquer alterações poderão afetar os produtos/clientes que a utilizam. Apesar do alerta, sistema permite ao usuário gravar as alterações (respeitando o controle de acesso do mesmo).
Fluxo 3: Tendo uma tabela de preço já cadastrada e vinculada a um cliente ou a um produto, usuário tenta excluí-la.
- Sistema aborta a exclusão e emite ao usuário a seguinte mensagem de alerta: Atenção! Esta tabela de preço está sendo utilizada no cadastro de produtos ou já foi vinculada a um ou mais clientes e portanto sua exclusão não será permitida.
Fluxo 4: Usuário tenta alterar/cadastrar uma tabela de preço informando na mesma uma validade cuja data final é menor que a data corrente (de login).
- Sistema aborta a gravação e emite ao usuário a seguinte mensagem: A data final da validade da tabela não pode ser menor que a data corrente.
Regras de negócio
RN01 - Descrição dos campos e funcionalidades da tela (de manutenção)
- Ativo: Campo que define se uma determinada tabela de preço está ativa para uso ou não. Tabelas de preço inativas não serão visíveis nas demais rotinas do sistema.
- Tabela padrão: Campo que define que a tabela de preço será a tabela padrão das filiais selecionadas. Somente será permitido ter cadastrada uma única tabela padrão por filial.
- Descrição: Campo onde deverá ser informada o nome/descrição da tabela de preço.
- Descrição abreviada: Campo onde poderá ser informada uma descrição abreviada para a tabela de preço. Esta descrição pode ser eventualmente utilizada em consultas e relatórios cujo espaço disponível para esta informação é limitado.
- Validade: Nestes campos poderá ser definido um período de validade para o uso da tabela de preço. Caso esta informação seja deixada em branco, não será estabelecido um prazo de validade para a tabela. Caso usuário informe um período, a tabela de preço somente poderá ser utilizada nas demais rotinas do sistema em datas compreendidas na validade da mesma.
- Desconto máximo: Campo onde pode ser definido um percentual máximo de desconto (no item) a ser utilizado em uma venda com uma determinada tabela de preço.
- Filiais: Neste campo poderá ser definida quais filiais poderão utilizar uma determinada tabela de preço. Por padrão, todas as filiais cadastradas serão listadas independente do controle de acesso do usuário. A rotina de cadastro de tabela de preço sempre considerará, excepcionalmente, todas as tabelas cadastradas independente das filiais atribuídas às mesmas.
Layouts sugeridos
- Erro ao criar miniatura: Arquivo aparentemente inexistente: /dados-servidor/wikijavainterno/images/b/bb/Tabela-de-preço.png
Tabela de preço tela de manutenção
Quadro de dados
Tela de manutenção
| NOME | OBRIGATÓRIO | TIPO DE ENTRADA | VALORES POSSÍVEIS | TAMANHO | VALOR PADRÃO | OBSERVAÇÃO |
| Ativo | Não | Checkbox | Marcado/Desmarcado | Marcado | ||
| Descrição | Sim | Input | Alfanuméricos | 40 | Vazio | |
| Descrição abreviada | Não | Input | Alfanuméricos | 15 | Vazio | |
| Validade | Não | Input | Numéricos | Vazio | ||
| Desconto máximo | Não | Input | Numéricos | Vazio |