Mudanças entre as edições de "Integração de dados Tributação, comissão, rentabilidade"

De GeoSales
Ir para navegação Ir para pesquisar
(Desfeita a edição 17209 de Renatolima (Discussão))
Etiqueta: Desfazer
 
(8 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 19: Linha 19:
 
Em relação as informações de comissão e rentabilidade o cliente montou as consultas onde poderemos utilizar para popular as tabelas necessárias para estas informações.
 
Em relação as informações de comissão e rentabilidade o cliente montou as consultas onde poderemos utilizar para popular as tabelas necessárias para estas informações.
  
Consulta para tabela Comissão
+
=== Consulta para tabela Comissão ===
 +
 
 
  SELECT
 
  SELECT
 
  ROW_NUMBER() OVER(ORDER BY CD_VENDEDOR, CASE WHEN NOT CD_CLIENTE IS NULL THEN 1 ELSE 2 END, CD_CLIENTE, CD_PRODUTO) CD_COMISSAO,
 
  ROW_NUMBER() OVER(ORDER BY CD_VENDEDOR, CASE WHEN NOT CD_CLIENTE IS NULL THEN 1 ELSE 2 END, CD_CLIENTE, CD_PRODUTO) CD_COMISSAO,
Linha 41: Linha 42:
 
  FROM SA3010 SA3 WITH(NOLOCK)
 
  FROM SA3010 SA3 WITH(NOLOCK)
 
  INNER JOIN SA1010 SA1 WITH(NOLOCK) ON
 
  INNER JOIN SA1010 SA1 WITH(NOLOCK) ON
  A1_FILIAL = ''
+
  A1_FILIAL = ' '
 
  AND A1_COD IN('000002','000015','000016')
 
  AND A1_COD IN('000002','000015','000016')
 
  AND SA1.D_E_L_E_T_ = ' '
 
  AND SA1.D_E_L_E_T_ = ' '
 
  WHERE
 
  WHERE
  A3_FILIAL = ''
+
  A3_FILIAL = ' '
 
  AND ISNUMERIC(A3_COD) = 1
 
  AND ISNUMERIC(A3_COD) = 1
 
  AND A3_MSBLQL <> '1'
 
  AND A3_MSBLQL <> '1'
Linha 69: Linha 70:
 
  SB1010 SB1 WITH(NOLOCK)
 
  SB1010 SB1 WITH(NOLOCK)
 
  WHERE
 
  WHERE
  A3_FILIAL = ''
+
  A3_FILIAL = ' '
 
  AND ISNUMERIC(A3_COD) = 1
 
  AND ISNUMERIC(A3_COD) = 1
 
  AND A3_MSBLQL <> '1'
 
  AND A3_MSBLQL <> '1'
 
  AND SA3.D_E_L_E_T_ = ' '
 
  AND SA3.D_E_L_E_T_ = ' '
  AND B1_FILIAL = ''
+
  AND B1_FILIAL = ' '
 
  AND B1_MSBLQL <> '1'
 
  AND B1_MSBLQL <> '1'
 
  AND B1_COMIS <> 0
 
  AND B1_COMIS <> 0
 
  AND SB1.D_E_L_E_T_ = ' ') COMIS
 
  AND SB1.D_E_L_E_T_ = ' ') COMIS
 +
 +
=== Consulta para tabela Familia Produto Rentabilidade ===
 +
 +
SELECT
 +
ROW_NUMBER() OVER(ORDER BY SBM.R_E_C_N_O_, CD_UF) CD_FAMILIA_RENTABILIDADE,
 +
SBM.R_E_C_N_O_ CD_FAMILIA,
 +
'0102' CD_ORG_VENDA,
 +
CASE WHEN CD_UF IS NULL THEN 10 ELSE 12 END PR_IDEAL,
 +
CASE WHEN CD_UF IS NULL THEN  0 ELSE  2 END PR_MINIMO,
 +
CD_UF CD_UF,
 +
NULL CD_VENDEDOR
 +
FROM
 +
SBM010 SBM WITH(NOLOCK),
 +
(SELECT NULL AS CD_UF
 +
UNION SELECT 'SP') AS UF
 +
WHERE
 +
BM_FILIAL = '01'
 +
AND SBM.D_E_L_E_T_ = ' '
 +
 +
=== Consulta para tabela Produto Custo ===
 +
 +
SELECT
 +
'0102' CD_ORG_VENDA,
 +
SB1.R_E_C_N_O_ CD_PRODUTO,
 +
YEAR(GETDATE()) NR_ANO,
 +
MONTH(GETDATE()) NR_MES,
 +
CAST(ISNULL(B2_CM1,0) AS DECIMAL(18,6)) VR_CUSTO
 +
FROM SB1010 SB1 WITH(NOLOCK)
 +
LEFT OUTER JOIN SB2010 SB2 WITH(NOLOCK) ON
 +
B2_FILIAL = '0102'
 +
AND B2_COD = B1_COD
 +
AND B2_LOCAL = '02'
 +
AND SB2.D_E_L_E_T_ = ' '
 +
WHERE
 +
B1_MSBLQL <> '1' AND
 +
SB1.D_E_L_E_T_ = ' '
  
 
== Regras de Negócios ==
 
== Regras de Negócios ==

Edição atual tal como às 20h38min de 9 de agosto de 2023

Histórico de Alterações

Data Quem Comentários
04/07/2023 Renato Lima Criação do documento

Necessidade

Ao realizar o pedido, o cliente deseja que seja apresentado ao vendedor o julgamento de rentabilidade do pedido. Esse julgamento deve levar em consideração as informações de custo do produto, tributação e comissão de vendas.

Solução

Para que seja possível apresentar informações de rentabilidade, seja para vendedores ou gestores, baseado nos dados que o cliente leva em consideração para este julgamento, será necessário realizar a integração de dados de impostos(ICMS+PIS+COFINS), parâmetros para calculo de comissão, validar integração dos dados de produto custo, além de trazemos as informações de parâmetro que auxiliam no julgamento de rentabilidade. Esse processo deve ser realizado inicialmente em ambiente de homologação para que ocorra as devidas validações. Após aprovação aplicarmos em produção.

Em relação aos dados de impostos ICMS,PIS,COFINS, estão contidas na SB1 e nas tabelas padrões de tributação do protheus.

Em relação as informações de comissão e rentabilidade o cliente montou as consultas onde poderemos utilizar para popular as tabelas necessárias para estas informações.

Consulta para tabela Comissão

SELECT
ROW_NUMBER() OVER(ORDER BY CD_VENDEDOR, CASE WHEN NOT CD_CLIENTE IS NULL THEN 1 ELSE 2 END, CD_CLIENTE, CD_PRODUTO) CD_COMISSAO,
'0102' CD_ORG_VENDA,
'1' CD_TIPO_PEDIDO,
CD_VENDEDOR,
NULL NM_ESTADO,
NULL CD_GRUPO_CLIENTE,
CD_CLIENTE,
NULL CD_FAMILIA,
CD_PRODUTO,
NULL PR_MIN_RENTABILIDADE,
NULL PR_MAX_RENTABILIDADE,
CAST(PR_COMISSAO AS DECIMAL(18,6)) PR_COMISSAO
FROM
(SELECT
CONVERT(INT,A3_COD) CD_VENDEDOR,
CONVERT(INT,LTRIM(RTRIM(A1_COD))+LTRIM(RTRIM(A1_LOJA))) CD_CLIENTE,
NULL CD_PRODUTO,
0 PR_COMISSAO
FROM SA3010 SA3 WITH(NOLOCK)
INNER JOIN SA1010 SA1 WITH(NOLOCK) ON
A1_FILIAL = ' '
AND A1_COD IN('000002','000015','000016')
AND SA1.D_E_L_E_T_ = ' '
WHERE
A3_FILIAL = ' '
AND ISNUMERIC(A3_COD) = 1
AND A3_MSBLQL <> '1'
AND SA3.D_E_L_E_T_ = ' '
UNION ALL
SELECT
CONVERT(INT,A3_COD) CD_VENDEDOR,
NULL CD_CLIENTE,
SB1.R_E_C_N_O_ CD_PRODUTO,
CASE WHEN A3_ALEMISS > 0 OR A3_ALBAIXA > 0
THEN CASE A3_TIPO
WHEN 'I' THEN B1_COMIS
WHEN 'E' THEN B1__COMIS
WHEN 'P' THEN B1__COMIS2
WHEN 'D' THEN B1__COMIS3
WHEN 'G' THEN B1__COMIS4
ELSE 0
END
ELSE 0
END PR_COMISSAO
FROM
SA3010 SA3 WITH(NOLOCK),
SB1010 SB1 WITH(NOLOCK)
WHERE
A3_FILIAL = ' '
AND ISNUMERIC(A3_COD) = 1
AND A3_MSBLQL <> '1'
AND SA3.D_E_L_E_T_ = ' '
AND B1_FILIAL = ' '
AND B1_MSBLQL <> '1'
AND B1_COMIS <> 0
AND SB1.D_E_L_E_T_ = ' ') COMIS

Consulta para tabela Familia Produto Rentabilidade

SELECT
ROW_NUMBER() OVER(ORDER BY SBM.R_E_C_N_O_, CD_UF) CD_FAMILIA_RENTABILIDADE,
SBM.R_E_C_N_O_ CD_FAMILIA,
'0102' CD_ORG_VENDA,
CASE WHEN CD_UF IS NULL THEN 10 ELSE 12 END PR_IDEAL,
CASE WHEN CD_UF IS NULL THEN  0 ELSE  2 END PR_MINIMO,
CD_UF CD_UF,
NULL CD_VENDEDOR
FROM
SBM010 SBM WITH(NOLOCK),
(SELECT NULL AS CD_UF
UNION SELECT 'SP') AS UF
WHERE
BM_FILIAL = '01'
AND SBM.D_E_L_E_T_ = ' '

Consulta para tabela Produto Custo

SELECT
'0102' CD_ORG_VENDA,
SB1.R_E_C_N_O_ CD_PRODUTO,
YEAR(GETDATE()) NR_ANO,
MONTH(GETDATE()) NR_MES,
CAST(ISNULL(B2_CM1,0) AS DECIMAL(18,6)) VR_CUSTO
FROM SB1010 SB1 WITH(NOLOCK)
LEFT OUTER JOIN SB2010 SB2 WITH(NOLOCK) ON
B2_FILIAL = '0102'
AND B2_COD = B1_COD
AND B2_LOCAL = '02'
AND SB2.D_E_L_E_T_ = ' '
WHERE
B1_MSBLQL <> '1' AND
SB1.D_E_L_E_T_ = ' '

Regras de Negócios

[RN1] -  ;

[RN2] -  ;

[RN3] -

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