Mudanças entre as edições de "Calculo Frete Peso total e ranger -ANHAMBI"

De GeoSales
Ir para navegação Ir para pesquisar
 
(31 revisões intermediárias por 2 usuários não estão sendo mostradas)
Linha 13: Linha 13:
 
|  11/06/2018  ||  Marcus Fabio      ||  Validação das alterações pelo desenvolvimento
 
|  11/06/2018  ||  Marcus Fabio      ||  Validação das alterações pelo desenvolvimento
 
|-
 
|-
 +
|  25/06/2018  ||  Renato Lima    ||  Alteração na integração, na RI1,RI2,implementção, RN5,RN6 e criação da RN7,RN8 e RN9.
 +
|-
 +
|  25/06/2018  ||  Anderson Gomes      ||  Validação das alterações pelo desenvolvimento
 +
|-
 +
|  05/07/2018  ||  Renato Lima    ||  Tratar o fator de divisão por 1000 na integração e Utilizar o campo ID_TIPO_FRETE_PADRAO ja que é populado com o campo A1_TPFRETE.
 +
|-
 +
|  05/07/2018  ||  Anderson Gomes      ||  Validação das alterações pelo desenvolvimento
 
|}
 
|}
  
Linha 34: Linha 41:
 
No momento de integrar o valor do pedido o integrador deve observar a seguinte regra:
 
No momento de integrar o valor do pedido o integrador deve observar a seguinte regra:
  
Deve ser verificado os campos '''A1_TPFRETE''' e '''A1_X_MFRET''' os quais recebem '''C''' ou '''F''' e '''D''' ou '''C''', respectivamente.
+
*Deve ser verificado os campos '''A1_TPFRETE''' e '''A1_X_MFRET''' os quais recebem '''C''' ou '''F''' e '''D''' ou '''C''', respectivamente.
Quando o campo '''A1_TPFRETE''' = '''C''' e o campo '''A1_X_MFRET''' = '''D''', o valor do frete deve ser integrado no campo
+
*Quando o campo '''A1_TPFRETE''' = '''C''' e o campo '''A1_X_MFRET''' = '''D''', o valor do frete deve ser integrado no campo
 
'''C5_FRETE''', somado ao total do pedido e exibido para o vendedor na tela de decomposição;
 
'''C5_FRETE''', somado ao total do pedido e exibido para o vendedor na tela de decomposição;
Quando o campo '''A1_TPFRETE''' = '''C''' e o campo '''A1_X_MFRET = C''' ou '''VAZIO''', o valor do frete deve ser integrado no
+
*Quando o campo '''A1_TPFRETE''' = '''C''' e o campo '''A1_X_MFRET = C''' ou '''VAZIO''', o valor do frete deve ser integrado no
 
campo '''C5_X_VFRET''', '''NÃO''' somar no total do pedido e '''NÃO''' exibir para o vendedor na tela de decomposição;
 
campo '''C5_X_VFRET''', '''NÃO''' somar no total do pedido e '''NÃO''' exibir para o vendedor na tela de decomposição;
Quando o campo A1_TPFRETE = F, o valor do frete deve ser integrado no campo '''C5_X_VFRET''', '''NÃO''' somar no total
+
*Quando o campo A1_TPFRETE = F, o valor do frete deve ser integrado no campo '''C5_X_VFRET''', '''NÃO''' somar no total
 
do pedido e NÃO exibir para o vendedor na tela de decomposição;
 
do pedido e NÃO exibir para o vendedor na tela de decomposição;
 +
 +
O campo '''A1_TPFRETE''' não deve ser integrado com o valor null.
 +
 +
O fator de divisão já virá convertido na integração.
 +
O valor do campo GV1_VLUNIN será divido por 1000,apresentando o valor da seguinte forma:
 +
Tarifa Base
 +
GV1_VLUNIN=
 +
163,28:1000=0,16
  
 
== Implementação ==
 
== Implementação ==
Linha 47: Linha 62:
  
 
   Valor do Frete = (Tarifa Base) x Peso total do pedido
 
   Valor do Frete = (Tarifa Base) x Peso total do pedido
                       1000   
+
                        
 
  Onde:
 
  Onde:
 
  Tarifa base será o valor populado no campo VR_PRECO_KG da tabela FAIXA_PRECO_FRETE
 
  Tarifa base será o valor populado no campo VR_PRECO_KG da tabela FAIXA_PRECO_FRETE
Fator de divisão = 1000
 
 
  Peso do pedido = Peso total do pedido.
 
  Peso do pedido = Peso total do pedido.
  
Linha 60: Linha 74:
 
  Item 2: 05 unidades pesando 100 quilos cada unidade, total de 500 quilos.
 
  Item 2: 05 unidades pesando 100 quilos cada unidade, total de 500 quilos.
 
  Total de peso do pedido: 1500 quilos.
 
  Total de peso do pedido: 1500 quilos.
  Tarifa Base = R$ 163,28
+
  Tarifa Base = R$ 0,16
Fator de divisão = 1000
 
 
  Preço do Frete = R$ 244,92
 
  Preço do Frete = R$ 244,92
  
  
Ao ter peso total do pedido, será verificado na FAIXA_PRECO_PRODUTO, qual opção de faixa se encaixa, para aquele pedido, de acordo com seu peso, região e praça.
+
Ao ter peso total do pedido, será verificado na FAIXA_PRECO_FRETE, qual opção de faixa se encaixa, para aquele pedido, de acordo com seu peso, região e praça.
  
  
 
Após realizar o calculo do frete, deve verificar:
 
Após realizar o calculo do frete, deve verificar:
  
*Quando o campo ID_TPFRETE_CLI = C e o campo ID_COMPOE_CALC_FRETE = D, o valor do frete deve ser somado ao total do pedido e exibido para o vendedor na tela de decomposição e o valor frete;
+
*Quando o campo ID_TIPO_FRETE_PADRAO = 'C' ou '1' e o campo ID_COMPOE_CALC_FRETE = D, o valor do frete deve ser somado ao total do pedido e exibido para o vendedor na tela de decomposição e o valor frete total;
  
*Quando o campo ID_TPFRETE_CLI = C e o campo ID_COMPOE_CALC_FRETE = C ou VAZIO,o valor do frete NÃO deve somar no total do pedido e NÃO exibir para o vendedor na tela de decomposição e o valor frete;
+
*Quando o campo ID_TIPO_FRETE_PADRAO = 'C' ou '1' e o campo ID_COMPOE_CALC_FRETE = C ou VAZIO,o valor do frete NÃO deve somar no total do pedido e NÃO deve exibir para o vendedor na tela de decomposição e o valor frete total;
  
*Quando o campo ID_TPFRETE_CLI = F, o valor do frete NÃO deve somar no total do pedido e NÃO exibir para o vendedor na tela de decomposição e o valor frete;  
+
*Quando o campo ID_TIPO_FRETE_PADRAO = 'F' ou'2', o valor do frete NÃO deve somar no total do pedido e NÃO deve exibir para o vendedor na tela de decomposição e o valor frete total;  
  
* Qualquer outra situção que não esteja nas situações informadas acima, o valor do frete NÃO deve somar no total do pedido e NÃO exibir para o vendedor na tela de decomposição e o valor frete;   
+
* Qualquer outra situção que não esteja nas situações informadas acima, o valor do frete NÃO deve somar no total do pedido e NÃO deve  exibir para o vendedor na tela de decomposição e o valor frete total;   
  
  
Linha 89: Linha 102:
 
! style="width:300px" |Chave Primária
 
! style="width:300px" |Chave Primária
 
! style="width:300px" |Explicação
 
! style="width:300px" |Explicação
|-
 
| ID_TPFRETE_CLI
 
| CHAR(1)
 
| NÃO
 
| NAO
 
| Campo receberá informação através da integração do campo  '''A1_TPFRETE''' que pode receber '''C''' ou '''F'''.
 
 
|-  
 
|-  
 
| ID_COMPOE_CALC_FRETE
 
| ID_COMPOE_CALC_FRETE
Linha 100: Linha 107:
 
| NAO
 
| NAO
 
| NAO
 
| NAO
| Campo para informar se o valor do frete será exibido e comporá o valor do pedido, vai receber valores através da integração do campo '''A1_X_MFRET''' e poderá receber '''D''' ou '''C''' ou '''NULL'''.
+
| Campo para informar se o valor do frete será exibido e comporá o valor do pedido, vai receber valores através da integração do campo '''A1_X_MFRET''' e poderá receber '''D''' - Destacado ou '''C''' - Conhecimento ou '''NULL'''.
 
|-  
 
|-  
 
|}
 
|}
Linha 106: Linha 113:
 
== Regras de integração ==
 
== Regras de integração ==
  
'''[RI1]''' – No momento de integrar o valor do frete, o sistema deve verificar o campo '''A1_TPFRETE''' que recebe os valores '''C''' ou '''F''' e o campo '''A1_X_MFRET'''que recebe os valores '''D''' ou '''C'''.
+
'''[RI1]''' – No momento de integrar o valor do frete, o sistema deve verificar o campo '''A1_TPFRETE''' que  
 +
recebe os valores '''C''' ou '''F''' e o campo '''A1_X_MFRET''' que recebe os valores '''D''' ou '''C'''.
  
 
'''[RI2]''' – O campo '''A1_TPFRETE''' não pode ser null, ele receberá os valores '''C''' ou '''F'''.
 
'''[RI2]''' – O campo '''A1_TPFRETE''' não pode ser null, ele receberá os valores '''C''' ou '''F'''.
Linha 113: Linha 121:
 
'''C5_FRETE''', somado ao total do pedido.
 
'''C5_FRETE''', somado ao total do pedido.
  
*Quando o campo '''A1_TPFRETE = C''' e o campo '''A1_X_MFRET = C''' ou VAZIO, o valor do frete deve ser integrado no
+
*Quando o campo '''A1_TPFRETE = C''' e o campo '''A1_X_MFRET = C''' ou NULL, o valor do frete deve ser integrado no
 
campo '''C5_X_VFRET''',NÃO somar no total do pedido.
 
campo '''C5_X_VFRET''',NÃO somar no total do pedido.
  
Linha 129: Linha 137:
 
'''RN4 - ''' Para que o vendedor consiga visualizar o peso total do pedido, deve habilitar a configuração '''ID_MOSTRAR_COLUNA_PESO=S'''.
 
'''RN4 - ''' Para que o vendedor consiga visualizar o peso total do pedido, deve habilitar a configuração '''ID_MOSTRAR_COLUNA_PESO=S'''.
  
'''RN5 - ''' Quando o campo ID_TPFRETE_CLI = C e o campo ID_COMPOE_CALC_FRETE = D, o valor do frete deve ser somado ao total do pedido e exibido para o vendedor na tela de decomposição e o valor frete total;
+
'''RN5 - ''' Quando o campo ID_TIPO_FRETE_PADRAO = 'C' ou '1' e o campo ID_COMPOE_CALC_FRETE = D, o valor do frete deve ser somado ao total do pedido e exibido para o vendedor na tela de decomposição e o valor frete total;
 +
 
 +
'''RN6 - ''' Quando o campo ID_TIPO_FRETE_PADRAO = 'C' ou '1' e o campo ID_COMPOE_CALC_FRETE = C ou NULL,o valor do frete NÃO deve somar no total do pedido e NÃO exibir para o vendedor na tela de decomposição e o valor frete total;
  
'''RN6 - ''' Quando o campo ID_TPFRETE_CLI = C e o campo ID_COMPOE_CALC_FRETE = C ou VAZIO,o valor do frete NÃO deve somar no total do pedido e NÃO exibir para o vendedor na tela de decomposição e o valor frete total;
+
'''RN7 - ''' Quando o campo ID_TIPO_FRETE_PADRAO = 'F' ou '2' e o campo ID_COMPOE_CALC_FRETE = C ou NULL o valor do frete NÃO deve somar no total do pedido e NÃO exibir para o vendedor na tela de decomposição e o valor frete total;
  
'''RN7 - ''' Quando o campo ID_TPFRETE_CLI = F, o valor do frete NÃO deve somar no total do pedido e NÃO exibir para o vendedor na tela de decomposição e o valor frete total;
+
'''RN8 - '''Quando os valores deste campo, estiverem null, o sistema irá fazer os cálculos e exibi-los.
  
'''RN8 - '''Qualquer outra situção que não esteja nas situações informadas acima, o valor do frete NÃO deve somar no total do pedido e NÃO exibir para o vendedor na tela de decomposição e o valor frete total;
+
'''RN9 - '''Nos relatórios que exibi valor de frete, devem obedecer o mesmo comportamento que a tela de pedido, ou seja deve levar em consideração os valores para exibir ou não nos relatórios.
  
 
== Aprovação ==
 
== Aprovação ==

Edição atual tal como às 13h48min de 5 de julho de 2018

Histórico de Revisões

Data Quem Comentários
25/05/2018 Renato Lima Criação do Documento
29/05/2018 Marcus Fabio Validado pelo desenvolvimento
11/06/2018 Renato Lima Criar campo na tabela de cliente, tratar integração do campo e comportamento do calculo do frete.
11/06/2018 Marcus Fabio Validação das alterações pelo desenvolvimento
25/06/2018 Renato Lima Alteração na integração, na RI1,RI2,implementção, RN5,RN6 e criação da RN7,RN8 e RN9.
25/06/2018 Anderson Gomes Validação das alterações pelo desenvolvimento
05/07/2018 Renato Lima Tratar o fator de divisão por 1000 na integração e Utilizar o campo ID_TIPO_FRETE_PADRAO ja que é populado com o campo A1_TPFRETE.
05/07/2018 Anderson Gomes Validação das alterações pelo desenvolvimento

Necessidade

Customização do cálculo de frete, utilizando três parâmetros principais, código do cliente, código da loja e peso do pedido, concomitantemente, verificar esta viabilidade no portal GeoSales. Há necessidade de ajustar os atuais parâmetros de cálculo de frete do Portal GeoSales com o padrão de apuração do ERP Protheus, o qual utiliza como dado o peso total do pedido, de outro modo do atual, que se baseia no peso por item no pedido.

Solução

Deverá realizar a criação de uma nova regra de cálculo de frete, em que o sistema GeoSales usará como base as informações do cliente, da loja e do peso total do pedido para calcular o valor do frete.

Integração

O cliente utiliza o GFE de calculo de Frete do Protheus.

O cliente tem no modulo emitente as informações de Cod do cliente, Loja e Codigo da Cidade do cliente (GU3 TABELA DE EMITENTES), onde esse pontos irão definir a partir de que rota aquele pedido será atendido.

Na tabela GUA teremos o cadastro de Regiões x Cidades, a partir dessa tabela iremos montar o nosso cadastro de Região e Praça. Já as tabelas GV6 e GV1, iremos montar nossas tabelas FRETE e FAIXA_PRECO_FRETE


No momento de integrar o valor do pedido o integrador deve observar a seguinte regra:

  • Deve ser verificado os campos A1_TPFRETE e A1_X_MFRET os quais recebem C ou F e D ou C, respectivamente.
  • Quando o campo A1_TPFRETE = C e o campo A1_X_MFRET = D, o valor do frete deve ser integrado no campo

C5_FRETE, somado ao total do pedido e exibido para o vendedor na tela de decomposição;

  • Quando o campo A1_TPFRETE = C e o campo A1_X_MFRET = C ou VAZIO, o valor do frete deve ser integrado no

campo C5_X_VFRET, NÃO somar no total do pedido e NÃO exibir para o vendedor na tela de decomposição;

  • Quando o campo A1_TPFRETE = F, o valor do frete deve ser integrado no campo C5_X_VFRET, NÃO somar no total

do pedido e NÃO exibir para o vendedor na tela de decomposição;

O campo A1_TPFRETE não deve ser integrado com o valor null.

O fator de divisão já virá convertido na integração. O valor do campo GV1_VLUNIN será divido por 1000,apresentando o valor da seguinte forma:

Tarifa Base
GV1_VLUNIN= 
163,28:1000=0,16

Implementação

O calculo do frete deve ocorrer conforme formula abaixo:

 Valor do Frete = (Tarifa Base) x Peso total do pedido
                      
Onde:
Tarifa base será o valor populado no campo VR_PRECO_KG da tabela FAIXA_PRECO_FRETE
Peso do pedido = Peso total do pedido.

Exemplo:

Cliente - 0001
Inseriu pedido com dois itens:
Item 1: 10 unidades pesando 100 quilos cada unidade, total de 1000 quilos.
Item 2: 05 unidades pesando 100 quilos cada unidade, total de 500 quilos.
Total de peso do pedido: 1500 quilos.
Tarifa Base = R$ 0,16
Preço do Frete = R$ 244,92


Ao ter peso total do pedido, será verificado na FAIXA_PRECO_FRETE, qual opção de faixa se encaixa, para aquele pedido, de acordo com seu peso, região e praça.


Após realizar o calculo do frete, deve verificar:

  • Quando o campo ID_TIPO_FRETE_PADRAO = 'C' ou '1' e o campo ID_COMPOE_CALC_FRETE = D, o valor do frete deve ser somado ao total do pedido e exibido para o vendedor na tela de decomposição e o valor frete total;
  • Quando o campo ID_TIPO_FRETE_PADRAO = 'C' ou '1' e o campo ID_COMPOE_CALC_FRETE = C ou VAZIO,o valor do frete NÃO deve somar no total do pedido e NÃO deve exibir para o vendedor na tela de decomposição e o valor frete total;
  • Quando o campo ID_TIPO_FRETE_PADRAO = 'F' ou'2', o valor do frete NÃO deve somar no total do pedido e NÃO deve exibir para o vendedor na tela de decomposição e o valor frete total;
  • Qualquer outra situção que não esteja nas situações informadas acima, o valor do frete NÃO deve somar no total do pedido e NÃO deve exibir para o vendedor na tela de decomposição e o valor frete total;


Tabelas a serem alteradas:

CLIENTE
Coluna Tipo Obrigatório Chave Primária Explicação
ID_COMPOE_CALC_FRETE CHAR(1) NAO NAO Campo para informar se o valor do frete será exibido e comporá o valor do pedido, vai receber valores através da integração do campo A1_X_MFRET e poderá receber D - Destacado ou C - Conhecimento ou NULL.

Regras de integração

[RI1] – No momento de integrar o valor do frete, o sistema deve verificar o campo A1_TPFRETE que recebe os valores C ou F e o campo A1_X_MFRET que recebe os valores D ou C.

[RI2] – O campo A1_TPFRETE não pode ser null, ele receberá os valores C ou F.

  • Quando o campo A1_TPFRETE = C e o campo A1_X_MFRET = D, o valor do frete deve ser integrado no campo

C5_FRETE, somado ao total do pedido.

  • Quando o campo A1_TPFRETE = C e o campo A1_X_MFRET = C ou NULL, o valor do frete deve ser integrado no

campo C5_X_VFRET,NÃO somar no total do pedido.

  • Quando o campo A1_TPFRETE = F, o valor do frete deve ser integrado no campo C5_X_VFRET,NÃO somar no total

do pedido.

Regras de Negócio

RN1 - Para realizar o calculo do frete deve ser levado em consideração o Peso total do itens inseridos do pedido.

RN2 - Para que o calculo de frete funcione corretamente, todos os produtos cadastrados devem ter seu peso cadastrado.

RN3 - Sempre que houver alteração no peso do pedido o valor do frete deve ser atualizado.

RN4 - Para que o vendedor consiga visualizar o peso total do pedido, deve habilitar a configuração ID_MOSTRAR_COLUNA_PESO=S.

RN5 - Quando o campo ID_TIPO_FRETE_PADRAO = 'C' ou '1' e o campo ID_COMPOE_CALC_FRETE = D, o valor do frete deve ser somado ao total do pedido e exibido para o vendedor na tela de decomposição e o valor frete total;

RN6 - Quando o campo ID_TIPO_FRETE_PADRAO = 'C' ou '1' e o campo ID_COMPOE_CALC_FRETE = C ou NULL,o valor do frete NÃO deve somar no total do pedido e NÃO exibir para o vendedor na tela de decomposição e o valor frete total;

RN7 - Quando o campo ID_TIPO_FRETE_PADRAO = 'F' ou '2' e o campo ID_COMPOE_CALC_FRETE = C ou NULL o valor do frete NÃO deve somar no total do pedido e NÃO exibir para o vendedor na tela de decomposição e o valor frete total;

RN8 - Quando os valores deste campo, estiverem null, o sistema irá fazer os cálculos e exibi-los.

RN9 - Nos relatórios que exibi valor de frete, devem obedecer o mesmo comportamento que a tela de pedido, ou seja deve levar em consideração os valores para exibir ou não nos relatórios.

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.

Setor Aprovado Por Data Assinatura
Gerente TI
Gerente Projeto
Gerente Comercial