Mudanças entre as edições de "Integração de dados Tributação, comissão, rentabilidade"
(Desfeita a edição 17209 de Renatolima (Discussão)) Etiqueta: Desfazer |
|||
(11 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 === | |
+ | |||
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 |