Mudanças entre as edições de "Condição de Pagamento por Item"

De GeoSales
Ir para navegação Ir para pesquisar
 
(12 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 11: Linha 11:
 
== Necessidade ==
 
== Necessidade ==
  
 +
O cliente possui uma política de inserção das condições de pagamento particulares a cada item solicitado em um determinado pedido. Atualmente, o GeoSales Evo possui a possibilidade de inserir uma condição de pagamento com opções pré-parametrizadas, mas com aplicação sobre todos os itens, de forma coletiva e uniforme, ou seja, a condição de pagamento atualmente inserida num pedido ficará incidirá sobre todos os itens, e não individualmente. A possiblidade de inserir condições de pagamento individuais por item é uma necessidade para o cliente, haja visto a política de quebra de pedidos que o cliente realiza em seu ERP, baseado nestes atributos.
  
 
== Solução ==
 
== Solução ==
  
 +
Uma vez que o motivo da customização é para viabilizar a quebra de pedidos que o cliente realiza no seu ERP, após o envio do pedido do EVO, sendo que essa quebra decorrerá de dois atributos: Tipo de pedido (venda/Bonificação) e Condição de Pagamento, sendo ainda que cada atributo deverá ser particionado para o item, e não para o pedido inteiro, conclui-se que, o atendimento da solicitação do cliente será satisfeito a partir da possibilidade da tomada individual destes atributos (tipo de venda e condição de pagamento) '''por item'''. A primeira possibilidade já esta satisfeita no EVO, visto que é possível atribuir no pedido o tipo de venda para um item específico. Já a condição de pagamento, atualmente, é atributo do pedido inteiro, sendo aplicado a todos os itens. Como solução, deve-se implementar um método que permita a inserção da condição de pagamento no item desejado e, dessa forma, possibilitar a devida quebra de pedido que o cliente deseja fazer no seu ERP.
  
 
== Implementação ==
 
== Implementação ==
+
 
 +
A tabela CARARTERISTICA atualmente recebe atributos que são inerentes ao próprio item no pedido, e já possui informações parametrizáveis. Estas informações estão dispostas na interface do sistema GeoSales, dentro do card do item do pedido, por meio de campos nos quais os usuários devem preencher de forma mandatória (não aceita null). Neste card de item, deve-se inserir um novo campo, chamado 'Condição de Pagamento', e receba a lista das condições parametrizadas, para preenchimento. O campo de condição de pagamento do item continuará existindo na aba de informações de pagamento do pedido, e será dado prioridade à condição apontada no pedido. Caso a condição no item não estiver populada, a condição válida será a do pedido em geral para aquele item.
 +
 
 +
Portanto, a tabela CARACTERISTICA receberá informações de condição de pagamento e vinculará esta ao item do pedido, através do campo de inserção da condição a ser criada no card do item, num campo criado vinculado à tabela.
 +
 
 +
O fluxo de atividades da inserção da condição de pagamento para o item dispõe do seguinte modelo:
 +
 
 +
[[arquivo:condicaoitem.png]]
 +
 
 
== Cenários ==
 
== Cenários ==
  
 +
Considere para a composição do cenário as seguintes massas de dados:
 +
 +
{|class="wikitable"
 +
!CD_COND_PAGAMENTO
 +
!NM_COND_PAGAMENTO
 +
|-
 +
| 1 || A VISTA
 +
|-
 +
| 2 || 03 DIAS
 +
|-
 +
| 3 || 10 DIAS
 +
|-
 +
|}
 +
 +
{|class="wikitable"
 +
!CD_ITEM
 +
!NM_ITEM
 +
|-
 +
| 1 || PRODUTO01
 +
|-
 +
| 2 || PRODUTO02
 +
|-
 +
| 3 || PRODUTO03
 +
|-
 +
|}
 +
 +
=== Cenário Atual - Condição de Pagamento Geral ===
 +
 +
Neste cenário, ao realizar um pedido contendo os Itens PRODUTO01, PRODUTO02 e PRODUTO03, a condição de pagamento só é declarada na aba das informações de pagamento, culminando na mesma condição aplicada igualmente a todos os itens. Para este cenário, convencionou-se escolher a condição CD_COND_PAGAMENTO = 1, A VISTA.
 +
 +
{|class="wikitable"
 +
!NM_ITEM
 +
!NM_CONDICAO_PAGAMENTO
 +
|-
 +
| PRODUTO01 || A VISTA
 +
|-
 +
| PRODUTO02 || A VISTA
 +
|-
 +
| PRODUTO03 || A VISTA
 +
|-
 +
|}
  
== Regras de Negócios ==
 
  
'''[RN1] - ''' Não poderá conter a mesma regra para o mesmo estado e filial;
 
  
'''[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 poderá ser sobreposta;
 
  
'''[RN3] - ''' Essa funcionalidade será desenvolvida exclusivamente no GeoSales EVO.
+
=== Cenário Desejado - Condição de Pagamento Puramente por Item ===
  
'''[RN4] - ''' Durante o processo, o portal não deverá travar, ou seja, o batch irá apresentar os dados apenas referentes às variáveis relacionadas (via GSOload). A medida visa evitar um carregamento excessivamente pesado de dados para determinada função. <br>
+
Neste cenário, ao realizar um pedido contendo os Itens PRODUTO01, PRODUTO02 e PRODUTO03, a condição de pagamento será declarada ''''exclusivamente'''' dentro do card do item, preenchendo o campo 'condição de pagamento', que irá popular a tabela CARACTERISTICA. No caso, cada item terá a possibilidade de ter uma condição de pagamento diferenciada, como disposto abaixo.
  
'''[RN5] - ''' Os históricos do log de alterações das variáveis ficarão registrados por um período de 1 (um) ano.
+
{|class="wikitable"
 +
!NM_ITEM
 +
!NM_CONDICAO_PAGAMENTO
 +
|-
 +
| PRODUTO01 || A VISTA
 +
|-
 +
| PRODUTO02 || 03 DIAS
 +
|-
 +
| PRODUTO03 || 10 DIAS
 +
|-
 +
|}
  
'''[RN6] - ''' Um determinado produto poderá ser vinculado a mais de um grupo, mas a quantidade deve ser diferente.
+
Visto que todos os itens já tiveram as condições de pagamento declaradas, caso a condição de pagamento na aba de informação de pagamento seja informada, será considerada a condição declarada no card do '''item'''.
  
'''[RN7] - ''' A chave poderá ser associada a mais de um produto/tabela, mas o valor é específico pela unidade de um destes dois atributos.
+
== Regras de Negócios ==
  
'''[RN8] - ''' As variáveis '''''fs''''', '''''fmm''''' e '''''fmx''''' corresponderão aos valores resultantes das fórmulas de valor Sugerido, Valor Mínimo e Valor Máximo, respectivamente. Portanto, tais variáveis serão protegidas.
+
'''[RN1] - ''' A inserção da condição de pagamento será realizada no card do item, ao acessa as informações internas por meio do ícone 'i';
  
'''[RN9] - ''' As variáveis permitidas para cadastro pelo usuário deverão atender ao padrão <code>[a-z0-9]</code>
+
'''[RN2] - ''' O preenchimento do campo de condição de pagamento no item será '''''obrigatório''''';
  
'''[RN10] - ''' As formulas não poderão ter valor nulo, nem valores negativos. Caso não haja valor sugerido cadastrado, o valor mínimo será igual ao valor sugerido, ou o resultado da formula ser um valor negativo, este campo receberá o valor zero.
+
'''[RN3] - ''' A medida customizada será realizada para permitir a quebra de pedidos, a qual será realizada '''exclusivamente''' no ERP do cliente, após a exportação do pedido.
  
 
== Aprovação ==
 
== Aprovação ==

Edição atual tal como às 15h15min de 25 de outubro de 2021

Histórico de Alterações

Data Quem Comentários
15/10/2021 João Ramon Criação do documento

Necessidade

O cliente possui uma política de inserção das condições de pagamento particulares a cada item solicitado em um determinado pedido. Atualmente, o GeoSales Evo possui a possibilidade de inserir uma condição de pagamento com opções pré-parametrizadas, mas com aplicação sobre todos os itens, de forma coletiva e uniforme, ou seja, a condição de pagamento atualmente inserida num pedido ficará incidirá sobre todos os itens, e não individualmente. A possiblidade de inserir condições de pagamento individuais por item é uma necessidade para o cliente, haja visto a política de quebra de pedidos que o cliente realiza em seu ERP, baseado nestes atributos.

Solução

Uma vez que o motivo da customização é para viabilizar a quebra de pedidos que o cliente realiza no seu ERP, após o envio do pedido do EVO, sendo que essa quebra decorrerá de dois atributos: Tipo de pedido (venda/Bonificação) e Condição de Pagamento, sendo ainda que cada atributo deverá ser particionado para o item, e não para o pedido inteiro, conclui-se que, o atendimento da solicitação do cliente será satisfeito a partir da possibilidade da tomada individual destes atributos (tipo de venda e condição de pagamento) por item. A primeira possibilidade já esta satisfeita no EVO, visto que é possível atribuir no pedido o tipo de venda para um item específico. Já a condição de pagamento, atualmente, é atributo do pedido inteiro, sendo aplicado a todos os itens. Como solução, deve-se implementar um método que permita a inserção da condição de pagamento no item desejado e, dessa forma, possibilitar a devida quebra de pedido que o cliente deseja fazer no seu ERP.

Implementação

A tabela CARARTERISTICA atualmente recebe atributos que são inerentes ao próprio item no pedido, e já possui informações parametrizáveis. Estas informações estão dispostas na interface do sistema GeoSales, dentro do card do item do pedido, por meio de campos nos quais os usuários devem preencher de forma mandatória (não aceita null). Neste card de item, deve-se inserir um novo campo, chamado 'Condição de Pagamento', e receba a lista das condições parametrizadas, para preenchimento. O campo de condição de pagamento do item continuará existindo na aba de informações de pagamento do pedido, e será dado prioridade à condição apontada no pedido. Caso a condição no item não estiver populada, a condição válida será a do pedido em geral para aquele item.

Portanto, a tabela CARACTERISTICA receberá informações de condição de pagamento e vinculará esta ao item do pedido, através do campo de inserção da condição a ser criada no card do item, num campo criado vinculado à tabela.

O fluxo de atividades da inserção da condição de pagamento para o item dispõe do seguinte modelo:

Condicaoitem.png

Cenários

Considere para a composição do cenário as seguintes massas de dados:

CD_COND_PAGAMENTO NM_COND_PAGAMENTO
1 A VISTA
2 03 DIAS
3 10 DIAS
CD_ITEM NM_ITEM
1 PRODUTO01
2 PRODUTO02
3 PRODUTO03

Cenário Atual - Condição de Pagamento Geral

Neste cenário, ao realizar um pedido contendo os Itens PRODUTO01, PRODUTO02 e PRODUTO03, a condição de pagamento só é declarada na aba das informações de pagamento, culminando na mesma condição aplicada igualmente a todos os itens. Para este cenário, convencionou-se escolher a condição CD_COND_PAGAMENTO = 1, A VISTA.

NM_ITEM NM_CONDICAO_PAGAMENTO
PRODUTO01 A VISTA
PRODUTO02 A VISTA
PRODUTO03 A VISTA



Cenário Desejado - Condição de Pagamento Puramente por Item

Neste cenário, ao realizar um pedido contendo os Itens PRODUTO01, PRODUTO02 e PRODUTO03, a condição de pagamento será declarada 'exclusivamente' dentro do card do item, preenchendo o campo 'condição de pagamento', que irá popular a tabela CARACTERISTICA. No caso, cada item terá a possibilidade de ter uma condição de pagamento diferenciada, como disposto abaixo.

NM_ITEM NM_CONDICAO_PAGAMENTO
PRODUTO01 A VISTA
PRODUTO02 03 DIAS
PRODUTO03 10 DIAS

Visto que todos os itens já tiveram as condições de pagamento declaradas, caso a condição de pagamento na aba de informação de pagamento seja informada, será considerada a condição declarada no card do item.

Regras de Negócios

[RN1] - A inserção da condição de pagamento será realizada no card do item, ao acessa as informações internas por meio do ícone 'i';

[RN2] - O preenchimento do campo de condição de pagamento no item será obrigatório;

[RN3] - A medida customizada será realizada para permitir a quebra de pedidos, a qual será realizada exclusivamente no ERP do cliente, após a exportação do pedido.

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