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: |
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.
Na tela de pedido, serão exibidas as ordens vinculadas à filial selecionada e aos produtos listados para venda e/ou adicionados ao carrinho de compras.
Serão consideradas válidas apenas as ordens cuja data de entrega prevista (C2_DATPRF) seja igual ou superior à data atual no momento da importação.
Cada ordem possui a informação da filial à qual pertence, os produtos e suas respectivas quantidades previstas para reposição, bem como a data prevista para essa reposição.
Dessa forma, o usuário terá condições de saber quando determinado produto estará disponível para venda/entrega ao cliente, em que quantidade estará disponível, podendo assim negociar melhor os detalhes do pedido como a data da entrega, quantidades vendidas, etc.
No ambiente WEB, a visualização do usuário será nas telas de Consulta Produto e Carrinho de compras, ambas na coluna CATEGORIA. Ver imagens abaixo:
Ao clicar no ícone , será exibida uma pop-up listando as ordens de produção ativas.
No ambiente Mobile, a exibição aparecerá nas telas CARD, PRODUTO e NEGOCIACAO.
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.
[Integração] Detalhamento técnico
Comportamento | |||||||||||||||||||||||||||||||||||||||||||||
· Importar para a tabela [ORDEMPRODUCAO] as ordens de produção existentes no ERP salvos na tabela [SC2];
. Utilizar o filtro C2_DATRF = '' 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. | |||||||||||||||||||||||||||||||||||||||||||||
[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: 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; |
Comportamento | ||||||||||||||||||||||||||||
. Adicionar via Tools pela opção 18, nova configuração de ícone na tabela [ICONE]:
. 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. | ||||||||||||||||||||||||||||
3.2.3 EXIBIÇÃO NA COLUNA CATEGORIA
[Desenvolvimento] Detalhamento técnico
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: |
[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’: 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 |
[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:
A consulta seria realizada segundo a sql a seguir: 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: |
[Desenvolvimento] Detalhamento técnico
Comportamento |
ALTER TABLE ordemproducao ADD COLUMN idtipoestoque INT8 REFERENCES tipoestoque (idtipoestoque); |