Mudanças entre as edições de "Condições de Pagamento"

De GeoSales
Ir para navegação Ir para pesquisar
 
(10 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 41: Linha 41:
 
| NR_PRECO || int || 4 || yes
 
| NR_PRECO || int || 4 || yes
 
|-
 
|-
|QT_PRAZO_MEDIO || int || 4 || yes
+
| QT_PRAZO_MEDIO || int || 4 || yes
 
|-
 
|-
 
| PR_JUROS || decimal || 9 || yes
 
| PR_JUROS || decimal || 9 || yes
Linha 54: Linha 54:
 
[[arquivo: CPGTO.png]]
 
[[arquivo: CPGTO.png]]
  
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 editar os cadastros existentes, além de ter a opção de deixar tais cadastros ativos ou não. Esta função será parametrizada por meio da criação de uma coluna chamada ID_ATIVO na tabela CONDICAO_PAGAMENTO.
+
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:
  
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 codigo. 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.
+
* 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);
  
== Cenários ==
+
O campo CD_COND_PGTO será inserido de forma automática.
  
Consideremos para este cenário a seguinte tabela:
+
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.
  
{| class="wikitable"
+
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.
! CD_MEIO_PGTO
 
! DS_MEIO_PGTO
 
! CD_MEIO_PGTO_REFERENCIA
 
|-
 
|}
 
  
  
  
 +
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:
  
 +
{| class="wikitable"
 +
! 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:
  
 +
{| class="wikitable"
 +
! 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:
  
 +
{| class="wikitable"
 +
! 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
 +
|-
 +
|}
  
  
<!-- === 1. Criação de uma Nova Condição de Pagamento ===
+
* 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.
  
*Visto que Acesso o Portal GeoSales EVO
 
*E seleciono o módulo Cenários de Vendas
 
*E seleciono a aba Condições de Pagamento
 
*Então será acessado o CRUD de Condições de Pagamento
 
*Quando selecionar o botão 'criar'
 
*Surgirá a tela de cadastro com os campos para preenchimento conforme tabela CONDICAO_PAGAMENTO
 
*Então preencho os campos
 
*E seleciono o botão Finalizar.
 
*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) ===
 
  
*Visto que Acesso o Portal GeoSales EVO
+
=== 3. Edição de uma Condição de Pagamento existente ===
*E seleciono o módulo Cenários de Vendas
 
*E seleciono a aba Condições de Pagamento
 
*Então será acessado o CRUD de Condição de Pagamento
 
*Quando selecionar o botão 'criar'
 
*Surgirá a tela de cadastro com os campos para preenchimento conforme tabela CONDICAO_PAGAMENTO
 
*Então preencho os campos
 
*E seleciono o botão Finalizar.
 
*Existe um meio de pagamento já cadastrado, com os mesmos parâmetros apontados neste novo registro;
 
*O portal informará ao usuário que tal parametrização já existe, e não permitirá que o cadastro seja realizado.
 
  
  
 +
* 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.
  
=== 3. Edição de uma Condição de Pagamento existente ===
+
* 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:
  
*Visto que Acesso o Portal GeoSales EVO
+
{| class="wikitable"
*E seleciono o módulo Cenários de Vendas
+
! CD_COND_PGTO
*E seleciono a aba Condições de Pagamento
+
! DS_COND_PGTO
*Então será acessado o CRUD de Condições de Pagamento
+
! QT_DIAS_TOTAL
*Quando selecionar o botão 'pesquisar'
+
! PR_DESCONTO
*Surgirá a lista de Condições de pagamento já cadastrados anteriormente
+
! DS_DIAS_PARCELAS
*Então seleciono um cadastro existente
+
! DS_PR_PARCELAS
*E seleciono o botão editar.
+
! NR_PRECO
*Na tela de edição posso mudar os campos de parametrização que são necessários
+
! QT_PRAZO_MEDIO
*E salvo as minhas alterações.
+
! PR_JUROS
*Então O processo estará concluído e a condição de pagamento já estará com as modificações salvas.
+
! 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) ===
 
=== 4. Edição de uma Condição de Pagamento existente (com repetição de cadastro) ===
  
*Visto que Acesso o Portal GeoSales EVO;
+
* 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.
*E seleciono o módulo Cenários de Vendas;
+
 
*E seleciono a aba Condições de Pagamento;
+
* 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.
*Então será acessado o CRUD de Condições de Pagamento;
 
*Quando selecionar o botão 'pesquisar';
 
*Surgirá a lista de Condições de pagamento já cadastrados anteriormente;
 
*Então seleciono um cadastro existente;
 
*E seleciono o botão editar;
 
*Na tela de edição posso mudar os campos de descrição do meio de pagamento e código do meio de pagamento referencia;
 
*Existe uma condição de pagamento já cadastrada, com os mesmos parâmetros apontados nesta nova edição;
 
*O portal informará ao usuário que tal parametrização já existe, e ele não poderá efetuar este cadastro.
 
  
=== 5. Edição de uma Condição de Pagamento importada via Integração ===
 
  
*Visto que Acesso o Portal GeoSales EVO
+
''' Não há cenário para alteração de dados provenientes do ERP.'''
*E seleciono o módulo Cenários de Vendas
 
*E seleciono a aba Condições de Pagamento
 
*Então será acessado o CRUD de Condições de Pagamento
 
*Quando selecionar o botão 'pesquisar'
 
*Surgirá a lista de Condições de pagamento já cadastrados anteriormente
 
*Então seleciono um cadastro existente
 
*A opção selecionada é um cadastro importado do ERP, logo não estará disponível para edição.-->
 
  
 
== Protótipos ==
 
== Protótipos ==
  
[[ arquivo : prototipo1.png | 800 px]]
+
[[ 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: CPGTO.png

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

Mockup.png

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