UC00108 - Cadastro de kit
(→Fluxos de exceção) |
(→Cabeçalho do kit) |
||
| (3 edições intermediárias de um usuário não apresentadas) | |||
| Linha 12: | Linha 12: | ||
= Resultado esperado = | = Resultado esperado = | ||
*Cadastrar no sistema Kits de produtos. | *Cadastrar no sistema Kits de produtos. | ||
| + | *Vender kits cadastrados nas rotinas de venda do sistema, '''sem infligir as regras das mesmas'''. | ||
= Diagrama de classes = | = Diagrama de classes = | ||
| Linha 44: | Linha 45: | ||
'''Fluxo 3:''' Nos componentes do kit, usuário marca um ou mais itens com o parâmetro '''Qtde. Fixa'''. | '''Fluxo 3:''' Nos componentes do kit, usuário marca um ou mais itens com o parâmetro '''Qtde. Fixa'''. | ||
*Sistema salva estes itens no kit marcando-os como quantidade fixa. | *Sistema salva estes itens no kit marcando-os como quantidade fixa. | ||
| − | *Na venda independente da quantidade vendida | + | *Na venda independente da quantidade vendida para o kit/item pai, a quantidade dos componentes em questão não será multiplicada pela quantidade vendida. |
== Fluxos de exceção == | == Fluxos de exceção == | ||
| Linha 57: | Linha 58: | ||
'''Fluxo 3:''' Em modo de inclusão ou alteração, usuário informa como componente do kit o mesmo item que está como item pai no cabeçalho do kit em questão acionando o botão [Adicionar] em seguida. | '''Fluxo 3:''' Em modo de inclusão ou alteração, usuário informa como componente do kit o mesmo item que está como item pai no cabeçalho do kit em questão acionando o botão [Adicionar] em seguida. | ||
*Sistema aborta a inclusão do item no grid e exibe ao usuário a seguinte mensagem de alerta: <font color=#008B00>''Este item foi informado como "item pai" do kit e não poderá ser adicionado no grid junto com os demais componentes. Tente marcar o parâmetro "Faz parte dos itens".''</font> | *Sistema aborta a inclusão do item no grid e exibe ao usuário a seguinte mensagem de alerta: <font color=#008B00>''Este item foi informado como "item pai" do kit e não poderá ser adicionado no grid junto com os demais componentes. Tente marcar o parâmetro "Faz parte dos itens".''</font> | ||
| + | |||
| + | |||
| + | '''Fluxo 4:''' Em modo de inclusão ou alteração, usuário informa como componente do kit um item que é pai de outro kit já cadastrado. | ||
| + | *Sistema aborta a inclusão do item no grid e emite ao usuário a seguinte mensagem de alerta: <font color=#008B00>''Já existe um kit cadastrado cujo item XXXX-XXXXXXXXXXXXXX é o item pai, portando o mesmo não poderá ser componente deste kit.''</font> | ||
= Regras de negócio = | = Regras de negócio = | ||
| Linha 66: | Linha 71: | ||
#*'''Produto já existente:''' Usuário seleciona o produto ''Pneu'' para ser o pai de um determinado kit que contem como componente o produto ''válvula'' e o serviço ''instalação''. Desta forma sempre que o pneu em questão for informado na venda, o sistema entenderá que ele é um kit e quando ele for adicionado no grid, seus componentes serão automaticamente adicionados. | #*'''Produto já existente:''' Usuário seleciona o produto ''Pneu'' para ser o pai de um determinado kit que contem como componente o produto ''válvula'' e o serviço ''instalação''. Desta forma sempre que o pneu em questão for informado na venda, o sistema entenderá que ele é um kit e quando ele for adicionado no grid, seus componentes serão automaticamente adicionados. | ||
#*'''Produto cadastrado especificamente para o kit:''' Usuário cadastra o produto ''Pague 2 leve 3'' e o informa como produto pai de um determinado kit. Sempre que o produto em questão for informado na venda, seus componentes serão automaticamente adicionados, uma vez que o produto pai não é comercializado (opcional via parâmetro), mas sim seus componentes. | #*'''Produto cadastrado especificamente para o kit:''' Usuário cadastra o produto ''Pague 2 leve 3'' e o informa como produto pai de um determinado kit. Sempre que o produto em questão for informado na venda, seus componentes serão automaticamente adicionados, uma vez que o produto pai não é comercializado (opcional via parâmetro), mas sim seus componentes. | ||
| − | #'''Faz parte dos itens:''' Parâmetro que determina se o produto que é pai do kit fará parte dos componentes no ato da venda. Com este parâmetro ativo ao inserir os componentes de um determinado kit na venda o sistema também adicionará no grid o produto pai. | + | #'''Faz parte dos itens:''' Parâmetro que determina se o produto que é pai do kit fará parte dos componentes no ato da venda. Com este parâmetro ativo ao inserir os componentes de um determinado kit na venda o sistema também adicionará no grid o produto pai, com a quantidade informada para o mesmo no cadastro do kit em questão. |
#'''Qtde.:''' Este campo ficará habilitado somente se o parâmetro '''Faz parte dos itens''' estiver ativo. Nele o usuário deverá informar a quantidade do produto pai a ser inserida na venda quando o mesmo fizer parte dos itens. Caso item pai não faça parte dos itens, este campo ficará desabilitado com a quantidade padrão 1. | #'''Qtde.:''' Este campo ficará habilitado somente se o parâmetro '''Faz parte dos itens''' estiver ativo. Nele o usuário deverá informar a quantidade do produto pai a ser inserida na venda quando o mesmo fizer parte dos itens. Caso item pai não faça parte dos itens, este campo ficará desabilitado com a quantidade padrão 1. | ||
#'''Unidade:''' A exemplo da quantidade, este campo só ficará ativo quando o parâmetro '''Faz parte dos itens''' estiver ativo. Quando habilitado ele trará selecionada automaticamente a unidade padrão do produto pai, permitindo que o usuário selecione outra unidade (somente de saída) se desejar. Caso item pai não faça parte dos itens, este campo ficará desabilitado e preenchido com a unidade padrão do mesmo. | #'''Unidade:''' A exemplo da quantidade, este campo só ficará ativo quando o parâmetro '''Faz parte dos itens''' estiver ativo. Quando habilitado ele trará selecionada automaticamente a unidade padrão do produto pai, permitindo que o usuário selecione outra unidade (somente de saída) se desejar. Caso item pai não faça parte dos itens, este campo ficará desabilitado e preenchido com a unidade padrão do mesmo. | ||
Edição atual tal como às 15h34min de 13 de março de 2014
Conteúdo |
[editar] Objetivo
- Manter cadastro de kits.
[editar] Atores
- Usuário
[editar] Pré-requisitos
- Considerar documento Padrões de desenvolvimento.
- No projeto da rotina, em confsrc > META-INF > messages > view.properties definir o nome como Kit. Este nome será utilizado para criar a página no Wiki.,
- Gerar log de inclusão, alteração e exclusão de kit.
[editar] Resultado esperado
- Cadastrar no sistema Kits de produtos.
- Vender kits cadastrados nas rotinas de venda do sistema, sem infligir as regras das mesmas.
[editar] Diagrama de classes
[editar] Fluxo de eventos
[editar] Fluxos principais
Fluxo 1: Usuário acessa Menu > Cadastros > Faturamento > Item > Kit.
- Sistema exibe a tela de pesquisa da rotina em questão conforme regra de negócio RN02.
Fluxo 2: Usuário aciona o botão [Adicionar kit].
- Sistema exibe a tela de manutenção da rotina em questão conforme layout sugerido e RN01.
Fluxo 3: Usuário informa dados do kit e aciona o botão [Salvar].
- Sistema salva o kit.
[editar] Fluxos alternativos
Fluxo 1: Em modo de inclusão ou alteração, usuário marca o parâmetro Este kit é um combo.
- Sistema calcula o valor total de cada item do kit (quantidade * preço unitário) com base na tabela de preço padrão da filial logada, soma os totais dos componentes do kit e exibe o resultado no campo Total do kit na tabela PADRÃO. Caso parâmetro Faz parte dos itens esteja marcado, o item pai também será considerado no calculo.
- Sistema habilita os campos de desconto e acréscimo em valor e percentual.
- Caso haja desconto ou acréscimo sistema faz o calculo com base no total do kit na tabela padrão e exibe o valor líquido no campo Total líquido do kit.
- Na venda, ao incluir este kit a soma dos componentes do mesmo deverá ser equivalente ao Total líquido do kit exibido em seu cadastro. O desconto deverá ser rateado (e arredondado se necessário) entre os componentes do kit. Já o acréscimo será rateado e embutido sobre o valor unitário de cada componente.
Fluxo 2: Em modo de inclusão ou alteração, usuário marca o parâmetro Faz parte dos itens.
- Sistema salva o kit marcando o item pai como parte dos componentes e habilitando os campos Qtde e Unidade para que o usuário informe, obrigatoriamente, a quantidade e unidade do item pai.
- Na venda, ao informar o item pai do kit o sistema adicionará no grid os componentes do kit e também o item pai na quantidade e unidade especificados no cadastro do kit.
Fluxo 3: Nos componentes do kit, usuário marca um ou mais itens com o parâmetro Qtde. Fixa.
- Sistema salva estes itens no kit marcando-os como quantidade fixa.
- Na venda independente da quantidade vendida para o kit/item pai, a quantidade dos componentes em questão não será multiplicada pela quantidade vendida.
[editar] Fluxos de exceção
Fluxo 1: Em modo de alteração usuário tenta alterar o item pai de um kit.
- Sistema não permite tal ação, uma vez que o campo Item pai estará desabilitado.
Fluxo 2: Em modo de inclusão, usuário informa um item pai que já está cadastrado como item pai em outro kit.
- Sistema não permite informar o item como item pai e exibe ao usuário a seguinte mensagem de alerta: Já existe um kit cadastrado cujo item XXXX-XXXXXXXXXXXXXX é o item pai, portando o mesmo não poderá ser pai de outro kit. Onde XXXX-XXXXXXXXXXXXXX equivale ao código+descrição do item informado.
Fluxo 3: Em modo de inclusão ou alteração, usuário informa como componente do kit o mesmo item que está como item pai no cabeçalho do kit em questão acionando o botão [Adicionar] em seguida.
- Sistema aborta a inclusão do item no grid e exibe ao usuário a seguinte mensagem de alerta: Este item foi informado como "item pai" do kit e não poderá ser adicionado no grid junto com os demais componentes. Tente marcar o parâmetro "Faz parte dos itens".
Fluxo 4: Em modo de inclusão ou alteração, usuário informa como componente do kit um item que é pai de outro kit já cadastrado.
- Sistema aborta a inclusão do item no grid e emite ao usuário a seguinte mensagem de alerta: Já existe um kit cadastrado cujo item XXXX-XXXXXXXXXXXXXX é o item pai, portando o mesmo não poderá ser componente deste kit.
[editar] Regras de negócio
[editar] RN01 - Descrição dos campos e funcionalidades da tela (de manutenção)
[editar] Cabeçalho do kit
- Ativo: Parâmetro que define se um determinado kit está ativo para uso ou não. Kits inativos não serão enxergados pelas demais rotinas do sistema.
- Este kit é um combo: Parâmetro que define que o kit é um combo, habilitando os campos de desconto e acréscimo sobre a soma dos valores dos itens que o compõem. O combo caracteriza-se na compra de determinados produtos que junto tem um preço diferenciado, exemplo: Combo do McDonalds batata, refrigerante e sandwiche, que juntos tem um preço mais em conta do que quando comprados separadamente.
- Produto pai: Campo onde o usuário deverá informar um produto que caracterizará o kit. Pode ser um produto já existente ou um produto cadastrado especificamente para kit, exemplo:
- Produto já existente: Usuário seleciona o produto Pneu para ser o pai de um determinado kit que contem como componente o produto válvula e o serviço instalação. Desta forma sempre que o pneu em questão for informado na venda, o sistema entenderá que ele é um kit e quando ele for adicionado no grid, seus componentes serão automaticamente adicionados.
- Produto cadastrado especificamente para o kit: Usuário cadastra o produto Pague 2 leve 3 e o informa como produto pai de um determinado kit. Sempre que o produto em questão for informado na venda, seus componentes serão automaticamente adicionados, uma vez que o produto pai não é comercializado (opcional via parâmetro), mas sim seus componentes.
- Faz parte dos itens: Parâmetro que determina se o produto que é pai do kit fará parte dos componentes no ato da venda. Com este parâmetro ativo ao inserir os componentes de um determinado kit na venda o sistema também adicionará no grid o produto pai, com a quantidade informada para o mesmo no cadastro do kit em questão.
- Qtde.: Este campo ficará habilitado somente se o parâmetro Faz parte dos itens estiver ativo. Nele o usuário deverá informar a quantidade do produto pai a ser inserida na venda quando o mesmo fizer parte dos itens. Caso item pai não faça parte dos itens, este campo ficará desabilitado com a quantidade padrão 1.
- Unidade: A exemplo da quantidade, este campo só ficará ativo quando o parâmetro Faz parte dos itens estiver ativo. Quando habilitado ele trará selecionada automaticamente a unidade padrão do produto pai, permitindo que o usuário selecione outra unidade (somente de saída) se desejar. Caso item pai não faça parte dos itens, este campo ficará desabilitado e preenchido com a unidade padrão do mesmo.
- Total do kit na tabela padrão: Campo somente leitura que terá a funcionalidade invocada somente quando o parâmetro Este kit é um combo estiver ativo. À medida que forem adicionados componentes no kit, o sistema irá somar neste campo os preços de venda dos mesmos com base na quantidade informada e na tabela de preço padrão da filial logada. Caso produto pai faça parte do kit o preço dele também será considerado.
- Desconto em percentual e em valor: Campos onde o usuário poderá informar desconto em percentual ou em valor a ser aplicado sobre o total do kit na tabela padrão. Se for informado um desconto em valor, o sistema calculará automaticamente o percentual equivalente. Caso seja informado desconto em percentual, o sistema calculará automaticamente o valor equivalente. Na venda, caso haja desconto informado no kit, este será considerado em percentual e aplicado sobre o total dos itens de forma rateada independente da tabela de preço selecionada.
- Acréscimo em percentual e em valor: Campos onde o usuário poderá informar acréscimo em percentual ou em valor a ser aplicado sobre o total do kit na tabela padrão. Se for informado um desconto em valor, o sistema calculará automaticamente o percentual equivalente. Caso seja informado desconto em percentual, o sistema calculará automaticamente o valor equivalente. Na venda, caso haja acréscimo informado no kit, este será considerado em percentual e aplicado sobre o preço unitário dos itens de forma rateada independente da tabela de preço selecionada.
[editar] Componentes do kit
- Item: Campo onde o usuário deverá informar um produto ou serviço que fará parte dos componentes de um determinado kit.
- Unidade: Campo onde o usuário deverá selecionar a unidade de saída do item informado como componente do kit. Assim que o item for informado o sistema exibirá automaticamente a unidade padrão do mesmo, permitindo que o usuário a altere se desejar.
- Grade: Caso item informado controle grade este campo ficará habilitado para que o usuário selecione, obrigatoriamente, a grade que fará parte do kit. Caso item não controle grade, este campo ficará desabilitado com o item GRADE PADRÃO selecionado.
- Qtde.: Campo onde o usuário deverá informar a quantidade do item que será componente do kit.
- Qtde. Fixa: Este parâmetro define que a quantidade informada para o componente de um determinado kit será invariável, independente da quantidade informada para o produto pai, o componente que tiver quantidade fixa será inserido na venda sempre com a quantidade informada no cadastro do kit. Exemplo:
- Um determinado kit tem como produto pai o Pneu, que faz parte dos itens na quantidade 1. O kit Pneu tem como componentes a válvula na quantidade 1, o balanceamento na quantidade 1 e o alinhamento na quantidade fixa 1. Na venda o usuário informa para o produto pai do kit a quantidade 4, fazendo com que todos seus componentes tenham a quantidade informada no cadastro do kit multiplicada por 4 antes de serem inseridos no grid, com exceção do alinhamento, que por ter quantidade fixa será incluso no grid na quantidade informada no cadastro do kit.
- Adicionar: Botão que quando acionado inclui no grid logo abaixo o item cujos dados estão informados nos campos de componente.
- Grid: Listará os componentes do kit nas seguintes colunas:
- CÓDIGO: Código do item.
- DESCRIÇÃO: Descrição do item.
- UNIDADE: Unidade selecionada para item.
- GRADE: Grade selecionada para o item.
- QUANTIDADE: Quantidade informada para o item.
- ITEM FIXO: Informa se o item tem quantidade fixa ou não.
- EXCLUIR: Coluna que apresentará para cada registro, o botão [Excluir], que permitirá que o usuário remova itens já adicionados no grid.
[editar] RN02 - Descrição dos campos e funcionalidades da tela (de pesquisa)
A tela inicial do cadastro de kit irá dispor do grid com mecanismo de consulta lucene. Neste grid serão listados os kits já cadastrados nas seguintes colunas:
- ITEM PAI: Código + descrição do produto pai do kit.
- ATIVO: Informa se um determinado está ativo (SIM ou NÃO).
- COMBO: Informa se o kit é um combo (SIM ou NÃO).
- ITEM PAI FAZ PARTE DOS ITENS: Informa se o item pai do kit compõe os componentes do mesmo (SIM ou NÃO).
- QTDE.: Informa a quantidade do item pai no kit (somente quando faz parte dos itens, caso contrário padrão será 1).
- UNIDADE: Informa a unidade do item pai no kit, seja ele parte dos itens ou não.
Na pesquisa com lucene a única coluna passível de pesquisa será ITEM PAI, uma vez que as demais colunas não possibilitarão uma filtragem eficiente.
Para visualizar os itens de um determinado kit, será necessário acessar o mesmo em modo de consulta ou alteração.
[editar] Layouts sugeridos
[editar] Quadro de dados
[editar] Tela de manutenção
[editar] Cabeçalho
| NOME | OBRIGATÓRIO | TIPO DE ENTRADA | VALORES POSSÍVEIS | TAMANHO | VALOR PADRÃO | OBSERVAÇÃO |
| Ativo | Sim | Checkbox | Marcado/Desmarcado | Marcado (somente na inclusão) | ||
| Este kit é um combo | Não | Checkbox | Marcado/Desmarcado | Desmarcado | Quando marcado, este parâmetro habilitará os campos de desconto e acréscimo em valor e em percentual, referentes ao cabeçalho do kit. | |
| Item pai | Sim | Input | Produtos ou serviços cadastrados no sistema | |||
| Faz parte dos itens | Não | Checkbox | Marcado/Desmarcado | Desmarcado | Quando marcado, este parâmetro habilitará os campos Qtde e Unidade do item pai. | |
| Qtde | Sim | Input | Numéricos | 0 | Caso item pai não faça parte dos itens, este campo ficará desligado com valor padrão 1. | |
| Unidade | Sim | Combobox | Unidades de saída vinculadas ao item pai | Unidade padrão do item | Este campo ficará desabilitado com a unidade padrão preenchida quando o item pai não fizer parte dos itens. |
[editar] Itens
| NOME | OBRIGATÓRIO | TIPO DE ENTRADA | VALORES POSSÍVEIS | TAMANHO | VALOR PADRÃO | OBSERVAÇÃO | |
| Item | Sim | Input | Produtos ou serviços cadastrados no sistema | ||||
| Unidade | Sim | Combobox | Unidades de saída vinculadas ao item | Unidade padrão do item | |||
| Grade | Sim | Combobox | Grades cadastradas para o item | Quando item não possuir grade, por padrão ficará selecionada a GRADE PADRÃO. | |||
| Qtde | Sim | Input | Numéricos | 0 | |||
| Qtde. Fixa | Não | Checkbox | Marcado/Desmarcado | Desmarcado |