UC00090 - Reajuste de preços por custo alterado
Conteúdo |
Objetivo
- Permitir ao usuário do sistema reajustar o preço de venda de seus produtos a partir das alterações de custo ocorridas nos mesmos.
Atores
- Usuário do sistema
Pré-requisitos
- Considerar documento Padrões de desenvolvimento.
- No projeto da rotina, em confsrc > META-INF > messages > view.properties definir o nome como Reajuste de preço por custo alterado. Este nome será utilizado para criar a página no Wiki.
Resultado esperado
- Atualizar preço de venda dos produtos.
Diagrama de classes
Fluxo de eventos
Fluxos principais
Fluxo 1: Usuário acessa a rotina Menu > Movimentos > Faturamento > Reajuste de preços > Por custo alterado.
- Sistema exibe a tela principal da rotina em questão com a aba de filtragem aberta, conforme layout sugerido Filtros.
Fluxo 2: Usuário informa os filtros desejados e aciona o botão <Consultar>.
- Sistema lista resultados encontrados em um grid conforme descreve a regra de negócio RN01.
Fluxo 3: Usuário reajusta preço dos produtos listados no grid selecionado uma das três opções de reajuste disponíveis, no grid marca para reajuste os produtos desejados e aciona o botão <Salvar>.
- Sistema procede, de acordo com a opção de reajuste utilizada, conforme descrito na regra de negócio RN02.
Fluxos alternativos
Fluxo 1: Usuário opta pelo tipo de reajuste Manual informando no grid novo markup e/ou preço de venda somente para algumas tabelas de preço ou somente para alguns produtos, deixando alguns registros inalterados e acionando o botão <Salvar> em seguida.
- Para registros que usuário não alterou o preço ou markup manualmente um novo preço de venda será calculado com base no CUSTO ALTERADO do produto e no % MARKUP ATUAL de cada tabela. Lembrando que esta regra se aplica somente para produtos selecionados. Produtos que não foram selecionados não sofrerão nenhuma alteração no preço.
Fluxos de exceções
Fluxo 1: Na aba de consulta usuário informa filtros para os quais não existem produtos cujo preço de custo foi alterado acionando o botão <Consultar> logo em seguida.
- Após constatar que não existem resultados a serem exibidos sistema emite ao usuário a seguinte mensagem de alerta: Não há produtos com alteração no preço de custo que correspondam aos filtros utilizados.
Fluxo 2: Na rotina em questão usuário seleciona um dos 3 tipos de reajuste disponíveis e aciona o botão <OK> sem que nenhum registro esteja selecionado no grid.
- Sistema aborta a operação e emite ao usuário a seguinte mensagem de alerta: Antes de selecionar o tipo de reajuste desejado é necessário selecionar no grid quais produtos terão o preço reajustado.
Fluxo 3: Na tela de reajuste de preços, após filtrar/listar produtos no grid usuário aciona o botão <Salvar> sem selecionar nenhum produto no grid.
- Sistema aborta a operação e emite ao usuário a seguinte mensagem de alerta: Nenhum produto foi selecionado para reajuste.
Regras de negócio
RN01 - Filtragem
- Período: Neste campo o usuário poderá filtrar produtos cujo preço de custo foi alterado via entrada de nota ou manualmente no período informado. Ao lado do campo em questão o usuário deverá informar o tipo de período que deseja utilizar escolhendo as opções Alteração manual ou Notas de entrada.
- Fornecedor: Neste campo o usuário poderá filtrar por um fornecedor específico produtos que tiveram seu custo alterado no período informado.
- Botão <Consultar>: Quando acionado buscará produtos cujo preço de custo foi alterado com base nos filtros informados listando os resultados encontrados no grid.
- Botão <Limpar>: Limpa todos os campos da aba de filtragem.
Os resultados encontrados serão listados no grid da seguinte maneira:
- SELECIONAR: Coluna que permite ao usuário selecionar um ou mais produtos ou todos os produtos, seguindo modelo da respectiva coluna no grid da liquidação em lote. Somente terão preço reajustado os produtos que estiverem selecionados no grid.
- ORIGEM ALTERAÇÃO: Nesta coluna será identificado o movimento que fez a alteração no custo do produto. Se a alteração no custo foi feita manualmente esta coluna exibirá o texto "MANUAL". Caso custo do produto tenha sido alterado em função de uma nota de entrada será exibido o ícone NF e a palavra "ENTRADA" à sua direita. O ícone será um link que quando acionado, exibirá em uma janela pop-up o a nota de entrada em questão. Se o custo foi alterado através da rotina de entrada/saídas, será exibido "ENTRADA/SAÍDA".
- DATA: Data em que ocorreu alteração no custo.
- PRODUTO: Coluna que exibe o código e descrição do produto cujo custo sofreu alteração.
- GRADE: Coluna que exibe a grade do produto que sofreu/originou alteração no custo. Para produtos sem grade será exibido GRADE PADRÃO.
- UNIDADE: No caso de alteração manual, exibe a unidade padrão do produto. No caso de nota de entrada e entrada/saída, exibe a unidade em que o produto foi movimentado.
- CUSTO ALTERADO: Exibe o preço de custo do produto que foi alterado na movimentação em questão.
- CUSTO ANTERIOR: Exibe o preço de custo do produto anterior à alteração em questão.
- TABELA DE PREÇO: Nome das tabelas de preço relacionadas ao produto.
- MARKUP ATUAL: Percentual de markup configurado para as tabelas de preço no cadastro do produto.
- PREÇO DE VENDA ATUAL: Preço de venda configurado para as tabelas de preço no cadastro do produto.
- NOVO MARKUP: Nesta célula do grid, para cada tabela de preço, poderá ser digitado pelo usuário um novo percentual de markup para o produto. Assim que o markup for digitado, quando o foco for posicionado sobre a próxima célula o sistema calculará automaticamente o novo preço com base no novo markup e no custo alterado.
- NOVO PREÇO: Nesta célula do grid, para cada tabela de preço, poderá ser digitado pelo usuário um novo preço de venda para o produto. Assim que o preço for digitado, quando o foco for posicionado sobre o próximo campo o sistema calculará o novo markup com base no novo preço e no custo alterado.
RN02 - Tipos de reajuste no preço de venda
O usuário poderá optar por reajustar o preço de venda dos produtos com base na alteração feita no custo dos mesmos de diferentes formas. Cada forma de reajuste terá suas particularidades e quando selecionada, habilitará ao usuário diferentes opções conforme descrito abaixo.
Reajuste manual
Com esta opção ativada o usuário poderá alterar manualmente no grid, para cada produto, as colunas NOVO % MARKUP e NOVO PREÇO DE VENDA. Sempre que uma destas colunas for alterada, o sistema calculará o valor da outra automaticamente com base no novo valor e no CUSTO ALTERADO do produto.
Reajuste com base na fórmula de preço de venda
Com esta opção selecionada, ao acionar o botão <OK> o sistema irá reajustar o markup e o preço de venda de todas as tabelas de preço de todos os produtos listados no grid com base na fórmula de preço de venda configurada para a filial logada.
Reajuste com base em uma tabela de preço
Com esta opção selecionada ao acionaro o botão <OK> o sistema exibirá uma tela pop-up com os seguintes dados:
- Tabela de preço padrão: Lista a tabela de preço preço cadastrada como padrão no sistema. Este campo é somente leitura.
- Fórmula de preço de venda: Lista a fórmula de preço de venda cadastrada para a filial logada. Este campo é somente leitura.
- Grid: Lista as demais tabelas de preço cadastradas no sistema (com exceção da padrão) com as seguintes colunas:
- TABELA DE PREÇO: Nome da tabela de preço.
- % DE REAJUSTE: Coluna onde o usuário poderá informar um percentual de reajuste para a tabela em questão com base na tabela padrão.
- TIPO DE REAJUSTE: Coluna onde o usuário deverá selecionar, caso tenha reajuste informado, se o mesmo será acima ou abaixo com base na tabela padrão.
- Botão <Limpar>: Limpa todos os dados informados voltando a tela a seu estado inicial.
- Botão <Salvar>: Salva as alterações feitas fechando a tela pop-up e transferindo-as para a tela anterior.
- Botão <Cancelar> : Fecha a tela e descarta todos as alterações feitas diante mensagem de confirmação.