Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. DADOS GERAIS


Produto:

TOTVS CRM Automação da Força de Vendas

Linha de Produto:

Linha TOTVS CRM SFA

Módulo:PEDIDO
Função:Novo pedido
Ticket:15678661
Requisito/Story/Issue:

Jira
serverJIRA
columnIdsissuekey,summary,issuetype,created,updated,duedate,assignee,reporter,priority,status,resolution,customfield_20500
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution,Resolution
serverId0c783de1-186e-383b-975c-a1acd7d76cb5
keyDTSFAPD-1569

02. ESCOPO FUNCIONAL

Este requisito trata da importação do ERP para o SFA, das ordens de produção existentes, e a exibição dessas ordens na tela de pedido do SFA para o usuário.

...

Opcionalmente, será possível também visualizar no carrinho de compras em ambos os ambientes a quantidade total prevista para entrega dos produtos inseridos, e se o parâmetro de validação de estoque estiver ativo, será possível configurar o SFA para não permitir vendas acima da quantidade prevista para entrega.

03. ESCOPO TÉCNICO

3.1     INTEGRAÇÃO

3.1.1    IMPORTAÇÃO ORDENS DE PRODUCAO

[Integração] Detalhamento técnico

Comportamento 

·     Importar para a tabela [ORDEMPRODUCAO] as ordens de produção existentes no ERP salvos na tabela [SC2];



TOTVS CRM SFA

PROTHEUS

Tipo TOTVS CRM SFA

Obrigatório

1

IDLOCALFILIAL

C2_FILIAL

INTEIRO

SIM

2

NUMEROPEDIDO

C2_NUM

VARCHAR

SIM

3

IDPRODUTO

C2_PRODUTO

INTEIRO

SIM

4

QUANTIDADE

C2_QUANT

NUMERIC

SIM

5

DATAINICIOORDEM

C2_EMISSAO

DATE

SIM

6

DATAFIMORDEM

C2_DATPRF

DATE

SIM

7

IDNATIVO

FIXO 1

INTEIRO

SIM

8

IDTIPOESTOQUE

C2_LOCAL

INTEIRO

SIM

.     Utilizar o filtro C2_DATPRF >= Data atual para importar apenas ordens de produção válidas;

·     Ordens antigas (datafimordem < data atual) salvas no banco podem ser excluídas ou atualizadas para IDNATIVO=0.


3.2     DESENVOLVIMENTO

3.2.1    BUSCA PRODUTO – PEDIDOENGINE

[Desenvolvimento] Detalhamento técnico

Comportamento 

·     Para listar na tela do pedido as ordens de compra vinculadas ao produto, é preciso antes criar no pedidoengine uma nova configuração de busca ORDEM_PRODUCAO para filtrar              corretamente o armazém vinculado às ordens de produção existentes;

·     Essa busca estará vinculada à exibição das ordens na tela do pedido, detalhada no tópico 3.2.2;

·     Essa nova configuração deve aparecer em CONFIGURAÇÃO > CONFIGURAÇÃO PEDIDO > BUSCA PRODUTO;

·     Deve estar vinculada às tabelas [ORDEMPRODUCAO] e [TIPOESTOQUE];

·     As opções de filtro direto e níveis devem ser:

ORDEMPRODUTO.IDPRODUTO

ORDEMPRODUCAO.IDTIPOESTOQUE

ORDEMPRODUCAO.IDLOCALFILIAL

TIPOESTOQUE.SGLTIPOESTOQUE

TIPOESTOQUE.IDNATIVO

TIPOESTOQUE.IDNDISPONIVELPARAPEDIDO

.     OBS: o filtro de busca (and o.datafimordem >= CURRENT_DATE and o.idnativo=1), será sempre fixo, independente da configuração do pedidoengine;

·     Não havendo configuração específica no pedidoengine, segue abaixo sugestão de busca padrão:

Bloco de código
languagesql
SELECT o.numeropedido as Pedido,
       l.descricao     AS Filial,
		tp.descricao	as "Tipo Estoque"
       p.codigo,       AS Codigo,
       quantidade      AS Quantidade,
       datainicioordem AS "Data emissao",
       datafimordem    AS "Data prevista entrega"
FROM   ordemproducao o
       INNER JOIN produto p
               ON p.idproduto = o.idproduto
       INNER JOIN local l
               ON l.idlocal = o.idlocalfilial
		INNER JOIN tipoestoque tp
				ON tp.idtipoestoque = o.idtipoestoque
WHERE  o.idproduto in (select idproduto from tabelapecoproduto where
       idtabelapreco=tabela_preco_do_cabecalho)
       and o.datafimordem >= CURRENT_DATE
       and o.idnativo=1; 


3.2.2    CRIAÇÃO DE NOVA CONFIGURAÇÃO DE ÍCONE FIXO

Comportamento 

. Adicionar via Tools pela opção 18, nova configuração de ícone na tabela [ICONE]:



MasterSALES


Obrigatório

1

DESCRICAO

Consulta Ordens de produção ativas no ERP

SIM

2

CODIGO

ORDEM_PRODUCAO

SIM

3

IMAGEM

SIM

4

SGLCONTEXTO

PRODUTO

SIM

5

IDNATIVO

0

SIM

6

IDNFIXO

1

SIM

.  Adicionar na tela de cadastro de ícones, a coluna Ícone Fixo? referente ao campo [ICONE.IDNFIXO];

.  Se [ICONE.IDNFIXO] = 1, permitir a edição em tela da coluna DESCRICAO apenas, demais campos não devem ser editáveis.


...

Comportamento 

·     Ao iniciar um pedido validar se o ícone ORDEM_PRODUCAO está ativo na tabela ICONE;

·     Se ele estiver ATIVO, então, usando a configuração de busca detalhada no tópico 3.2.1, deve ser exibida na coluna CATEGORIA da tela de pesquisa de produtos, no grid de produtos da WEB e no mobile, um novo ícone para listar as ordens de compras ativas:


·     Quando o usuário clicar no ícone exibir uma pop-up listando as ordens de compra ativas:


3.2.4    EXIBIÇÃO NO GRID/CARRINHO

[Desenvolvimento] Detalhamento técnico

Comportamento 

·     Exibir no grid de produtos da WEB e nas telas do mobile (Card, Carrinho e Negociação), campo referente à quantidade prevista;

·     A quantidade prevista é a soma de todas as quantidades das ordens de compra vinculadas ao produto que está no carrinho;

·     Para obter a soma da quantidade prevista deve ser utilizada a mesma configuração de busca explicada no tópico 3.2.3;

.     O filtro de busca (datafimordem >= CURRENT_DATE AND idnativo=1) sempre será fixo, independente da configuração do pedidoengine;

·     Caso não haja configuração de busca, segue abaixo sugestão de consulta padrão para o campo ‘Quantidade Prevista’:

Bloco de código
languagesql
SELECT idproduto,
       Sum(quantidade) AS "quantidade prevista"
FROM   ordemproducao o
WHERE  idproduto=:produto_no_carrinho
       AND idlocalfilial = :filial_do_pedido  
       AND datafimordem >= CURRENT_DATE
       AND idnativo=1
GROUP  BY idproduto ;

·     Utilizar os campos:

WEB_GRID_QUANTIDADE_PREVISTA_ENTRADA

ANDROID_CARD_QUANTIDADE_PREVISTA_ENTRADA

ANDROID_CARRINHO_QUANTIDADE_PREVISTA_ENTRADA

ANDROID_NEGOCIACAO_QUANTIDADE_PREVISTA_ENTRADA


3.2.5    VALIDAÇÃO PARÂMETRO

[Desenvolvimento] Detalhamento técnico

Comportamento 

·  Se o parâmetro HABILITAR_VALIDACAO_ESTOQUE = ATIVO, então:

    Validar se o parâmetro ‘sim3g.pedido.qtde.prevista.idnValidaQtdePrevista’ = ATIVO;

       Se ambos os parâmetros HABILITAR_VALIDACAO_ESTOQUE e ‘sim3g.pedido.qtde.prevista.idnValidaQtdePrevista’ estiverem ATIVOS, então:

         Realizar um cálculo para obter a QUANTIDADE TOTAL DISPONÍVEL (ESTOQUE ATUAL + QUANTIDADE PREVISTA);

A QUANTIDADE PREVISTA é o somatório das ordens de produção consultados pela configuração de busca produto > ORDEM_PRODUCAO

·     Por exemplo, se configurados filtros na consulta de ORDEM_PRODUCAO com as seguintes colunas:

    • ORDEMPRODUTO.IDPRODUTO
    • ORDEMPRODUCAO.IDTIPOESTOQUE
    • ORDEMPRODUCAO.IDLOCALFILIAL
    • OBS: o filtro de busca (AND o.idnativo = 1 AND o.datafimordem >= CURRENT_DATE) sempre será fixo.

A consulta seria realizada segundo a sql a seguir:

Bloco de código
languagesql
SELECT e.idproduto,
       e.quantidade
       + (SELECT Sum(quantidade)
          FROM   ordemproducao o
          WHERE  o.idproduto = e.idproduto
                 AND o.idlocalfilial = e.idlocalfilial
                 AND o.idtipoestoque = e.idtipoestoque
                 AND o.idnativo = 1
				 AND o.datafimordem >= CURRENT_DATE) AS quantidade_disponível
       FROM   estoque e
       WHERE  e.idproduto = :produto_no_carrinho
              AND e.idlocalfilial = :filial_cabecalho
              AND e.idtipoestoque = :tipo_estoque_item_carrinho;

·     Uma vez realizada a validação dos parâmetros e obtida a quantidade total disponível, essa passa a ser o valor referência para a validação de estoque, isto é:

      Se QUANTIDADE VENDIDA > QUANTIDADE TOTAL DISPONÍVEL, bloqueia a venda para aquele produto;

·     Dadas as considerações acima, se o usuário digitar uma quantidade maior que a quantidade total disponível, exibir em tela um aviso com a mensagem:

     ‘Quantidade não permitida, pois é superior à quantidade total disponível. Quantidade total disponível (estoque + quantidade prevista = XXX)’

·     Segue abaixo, fluxograma da regra de validação de estoque:


3.2.6    CRIAÇÃO NOVO CAMPO NO BANCO

[Desenvolvimento] Detalhamento técnico

...