Mudanças entre as edições de "Condições de Pagamento"
(Uma revisão intermediária pelo mesmo usuário não está sendo mostrada) | |||
Linha 187: | Linha 187: | ||
== Protótipos == | == Protótipos == | ||
− | [[ arquivo : | + | [[ arquivo : mockup.png | 800 px]] |
== Regras de Negócios == | == Regras de Negócios == |
Edição atual tal como às 15h09min de 19 de maio de 2021
Histórico de Alterações
Data | Quem | Comentários |
---|---|---|
07/05/2021 | João Ramon | Criação do documento |
Necessidade
Existem tabelas dedicadas a Condições de pagamento no Banco de Dados da GeoSales, mas estas tabelas não podem ser parametrizadas pelo cliente, porque não há interface criada na plataforma GeoSales para esta funcão. Tal funcionalidade necessita ser implementada dentro da plataforma, a fim de que o usuário consiga fazer essas parametrizações.
Solução
Criação de um CRUD para possibilitar as parametrizações de Condição de pagamento, utilizando a tabela homônima, contendo os campos 'Código da condição de Pagamento', 'Descrição da condição de Pagamento', 'quantidade de dias total', 'percentual de desconto', descrição de dias das parcelas', 'descrição do percentual de parcelas', 'numero do preço', 'quantidade de prazo médio', 'percentual de juros' e 'Código da condição de Pagamento de Referência'. O usuário deverá, por meio destes campos, criar, editar ou excluir as condições de pagamento que ele julgar necessárias dentro da plataforma, utilizando as tabelas já fornecida no Banco de dados.
Implementação
A tabela CONDICAO_PAGAMENTO possui os seguintes parametros:
Column_name | Type | Lenght | Nullable |
---|---|---|---|
CD_COND_PGTO | int | 4 | no |
DS_COND_PGTO | varchar | 40 | no |
QT_DIAS_TOTAL | int | 4 | no |
PR_DESCONTO | decimal | 9 | no |
DS_DIAS_PARCELAS | varchar | 50 | yes |
DS_PR_PARCELAS | varchar | 50 | yes |
NR_PRECO | int | 4 | yes |
QT_PRAZO_MEDIO | int | 4 | yes |
PR_JUROS | decimal | 9 | yes |
CD_COND_PGTO_REFERENCIA | varchar | 30 | yes |
A interface do cliente com a plataforma se dará por meio de um CRUD, que será alocado no módulo 'Cenário de Vendas'.
A sequência operacional do CRUD seguirá conforme o modelo abaixo:
A tela de CRUD deverá possuir botão de pesquisa, a fim de que o usuário possa procurar por acessos existentes. Ao listar todos os cadastros, deverá ser possível ao usuário parametrizar os seguintes campos:
- Descrição da Condição de Pagamento (DS_COND_PGTO);
- Quantidade de dias total (QT_DIAS_TOTAL);
- Percentual de Desconto (PR_DESCONTO);
- Descrição de dias das parcelas (DS_DIAS_PARCELAS);
- Descrição do percentual das parcelas (DS_PR_PARCELAS);
- Numero do Preço (NR_PRECO);
- Quantidade do prazo médio (QT_PRAZO_MEDIO);
- Percentual de Juros (PR_JUROS);
O campo CD_COND_PGTO será inserido de forma automática.
Os campos obrigatórios para cadastro são os campos CD_COND_PAGAMENTO, DS_COND_PGTO, QT_DIAS_TOTAL e PR_DESCONTO. Os demais campos poderão aceitar null.
Será instalado um flag de ativação para a condição de pagamento, na qual o usuário possa definir se o cadastro ficará ativo ou não. Esta função será parametrizada por meio da criação de uma coluna chamada ID_ATIVO na tabela CONDICAO_PAGAMENTO.
Após a inserção dos dados, um código de condição de pagamento será gerado. Dependendo da origem do dado (inserção de dados via plataforma GeoSales ou por meio de integração), será utilizado um sinal para diferenciar a origem do código. Portanto, para o dado originado pelo ERP, o código será gerado com sinal positivo (ou sem sinal aparente), e dados originados pelo usuário dentro da plataforma (tabela CONDICAO_PAGAMENTO, coluna CD_COND_PGTO) deverão ser apresentados com sinal negativo.
Cenários
Consideremos para este cenário a seguinte tabela:
CD_COND_PGTO | DS_COND_PGTO | QT_DIAS_TOTAL | PR_DESCONTO | DS_DIAS_PARCELAS | DS_PR_PARCELAS | NR_PRECO | QT_PRAZO_MEDIO | PR_JUROS | CD_COND_PGTO_REFERENCIA |
---|---|---|---|---|---|---|---|---|---|
1 | 15 dias | 0 | 5,000000 | 1 | 50 | NULL | NULL | NULL | NULL |
Percebemos, pelos dados já inseridos na tabela, que o CD_COND_PGTO existente possui sinal positivo. Isso significa que este cadastro foi inserido via importação do ERP.
1. Criação de uma Nova Condição de Pagamento
O usuário acessa a aba de Condição de Pagamento, na seção de Pedidos Auto no módulo de Vendas. A tela de condição de pagamento será mostrada e os campos serão inseridos para cadastro, a exemplo do que demonstra abaixo:
CD_COND_PGTO | DS_COND_PGTO | QT_DIAS_TOTAL | PR_DESCONTO | DS_DIAS_PARCELAS | DS_PR_PARCELAS | NR_PRECO | QT_PRAZO_MEDIO | PR_JUROS | CD_COND_PGTO_REFERENCIA |
---|---|---|---|---|---|---|---|---|---|
-1 | À vista | 0 | 10,000000 | 1 | 100 | NULL | NULL | NULL | NULL |
1 | 15 dias | 0 | 5,000000 | 1 | 50 | NULL | NULL | NULL | NULL |
O processo estará concluído e a condição de pagamento já estará disponível.
2. Criação de uma Nova Condição de Pagamento (com repetição de cadastro)
Consideremos a tabela CONDICAO_PAGAMENTO:
CD_COND_PGTO | DS_COND_PGTO | QT_DIAS_TOTAL | PR_DESCONTO | DS_DIAS_PARCELAS | DS_PR_PARCELAS | NR_PRECO | QT_PRAZO_MEDIO | PR_JUROS | CD_COND_PGTO_REFERENCIA |
---|---|---|---|---|---|---|---|---|---|
-1 | À vista | 0 | 10,000000 | 1 | 100 | NULL | NULL | NULL | NULL |
1 | 15 dias | 0 | 5,000000 | 1 | 50 | NULL | NULL | NULL | NULL |
- Para este cenário, tentaremos criar uma nova condição de pagamento, chamado 'À vista'. Percebam que já existe uma condição com este parâmetro.
- Neste cenário será disparado um aviso ao usuário de que já existe este cadastro no Banco de Dados, e retornará para a tela para que o usuário escolha outra condição de pagamento, ou cancele a abertura deste cadastro.
3. Edição de uma Condição de Pagamento existente
- Vamos imaginar um cenário onde o cliente cadastrou uma condição de pagamento 'À vista' e deseja atribuir um desconto a esta condição, mas na época do cadastro este desconto foi fixado com 10%, e agora se deseja reduzir este percentual para 5%. Para a correção, o usuário poderá editar seu cadastro.
- Quando selecionar o botão 'pesquisar', surgirá a lista de condições de pagamento já cadastrados anteriormente. Ao selecionar o ícone correspondente à edição do cadastro, a tela de cadastro estará disponível para que os campos possam ser alterados. Neste exemplo, a alteração terá por resultado a tabela nas condições abaixo:
CD_COND_PGTO | DS_COND_PGTO | QT_DIAS_TOTAL | PR_DESCONTO | DS_DIAS_PARCELAS | DS_PR_PARCELAS | NR_PRECO | QT_PRAZO_MEDIO | PR_JUROS | CD_COND_PGTO_REFERENCIA |
---|---|---|---|---|---|---|---|---|---|
-1 | À vista | 0 | 5,000000 | 1 | 100 | NULL | NULL | NULL | NULL |
1 | 15 dias | 0 | 5,000000 | 1 | 50 | NULL | NULL | NULL | NULL |
4. Edição de uma Condição de Pagamento existente (com repetição de cadastro)
- Nesta ocasião, o usuário tenta modificar a descrição de sua condição de pagamento, mas a entrada digitada coincide com uma outra entrada, já existente no banco de dados.
- Então será disparado um aviso ao usuário de que já existe esta condição no Banco de Dados, e retornará para a tela para que o usuário escolha outra descrição de condição de pagamento, ou cancele a edição deste cadastro.
Não há cenário para alteração de dados provenientes do ERP.
Protótipos
Regras de Negócios
[RN1] - Não poderá ser possível o cadastro de uma condição de pagamento com as mesmas características de parametrização.
[RN2] - Não deverá haver sobreposição de cadastros, e sim edição deste cadastro. Caso o usuário tente cadastrar o mesmo cenário mais de uma vez, a plataforma irá alertar informando que já existe uma regra, e que essa regra não poderá ser sobreposta;
[RN3] - Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO;
[RN4] - Visto que as parametrizações poderão ocorrer tanto via GeoSales como por meio da ERP, deve ser necessário diferenciar a origem destas entradas, tratando os dados inseridos na CD_COND_PGTO com sinal negativo, no caso de origem via GeoSales, e com sinal positivo, no caso se origem via ERP;
[RN5] - Uma vez que o cadastro foi integrado à ERP, este não poderá mais sofrer quaisquer alterações por parte do usuário.
[RN6] - Caso o campo referente ao ID de ativo da tabela CONDICAO_PAGAMENTO (que será implementada nesta demanda) esteja com status 'null', ele deve ser considerado ativo.
Aprovação
Considero aprovada a documentação da funcionalidade especificada acima, e autorizo a implementação da mesma no Sistema GeoSales, em nome da Organização a qual estou vinculado.
GeoSales
Setor | Aprovado Por | Data |
---|---|---|
Desenvolvimento - GeoSales | Pessoa que aprovou | 00/00/0000 |
Integração - GeoSales | Pessoa que aprovou | 00/00/0000 |
Configurações - GeoSales | Pessoa que aprovou | 00/00/0000 |
Empresa solicitante
Setor | Aprovado Por | Data | Assinatura |
---|---|---|---|
Gerente TI - Cliente | Pessoa que aprovou | 00/00/0000 | |
Gerente de Projeto - Cliente | Pessoa que aprovou | 00/00/0000 | |
Gerente Comercial - Cliente | Pessoa que aprovou | 00/00/0000 |