APP Venda Online - Configuração M001Produtos
Esta wiki server para auxiliar na configuração do ambiente do cliente com as visualizações do Venda Online.
Essas configurações serve para as procedures que tenham o V2 no final, indicando que é otimizado para ter um maior desempenho e com atualização por tarefa agendada no servidor, evitando rodar tudo a todo momento. Ideal para banco de dados em nuvem e com grande volume de dados.
Essas configurações (M001Produtos), podem ter personalização no ambiente do cliente, nesse caso é necessário ter cuidado ao alterar.
O racional de funcionamento de atualização da tabela M001Produtos é a seguinte:
Triggers
No acionamento das tabelas, irá executar a procedure Android_OnLine_M001ProdutosV2.
B001Produtos, B001Localizacacao, B018SPedidos, B019Itens, M019Itens.
Na B018SPedidos tem um teste para executar somente se o campo "Cancelado" seja modificado. Não tem necessidade de testar mais campos pois o estoque é atualizado pela function e os itens não movimentados são atualizados pela trigger da B019Itens.
Caso a configuração do estoque esteja marcado para "Estornar ao Faturar", considere estar com essa configuração desmarcada, ou considerar os pedidos faturados para subtrair do estoque.
Android_OnLine_M001ProdutosV2
A procedure Android_OnLine_M001ProdutosV2 é responsável por atualizar o campo indSituacao para desatualizado na tabela M001Produtos. indSituacao (0 = atualizado, 1 = desatualizado).
Caso tenha algum produto novo, também terá inclusão na M001Produtos.
Android_OnLine_M001ProdutosV2_Executa
Essa procedure tem por função executar a Android_OnLine_M001ProdutosV2_Valores dos registros desatualizados.
Deve ser criado o agendamento nos serviços (Executa Ação). Configurar o agendamento com o menor tempo possível (1 minuto ou menos caso esteja disponível), todos os dias da semana.
É importante que esse agendamento seja o PRIMEIRO a executar. Se possível, remaneja os demais.
Script do agendamento
exec dbo.Android_OnLine_M001ProdutosV2_Executa
Android_OnLine_M001ProdutosV2_Valores
Essa procedure é personalizada conforme a necessidade do cliente. Cuidado ao atualizá-la para manter as personalizações atuais.
Ela é responsável por acionar a function de atualização do estoque que subtrai dos pedidos pendentes, assim como os campos Valor1, Valor2 e Valor3.
E por fim, atualiza os campo na M001Produtos e o campo indSituacao = 0 (atualizado).
Function POST_EstoqueEmpresa_func
Essa function tem a função de consultar o estoque na tabela de localização, e ir subtraindo os itens dos pedidos pendentes ou ainda não movimentados do Retaguarda (B018SPedidos e B019Itens), assim como a tabela temporária do mobile (M018SPedidos e M019Itens).
Para melhorar o desempenho, utilizar a quantidade de dias para trás que trará dos pedidos em aberto. Verificar.
Ela também é personalizada de acordo com a necessidade do cliente. Cuidado ao atualizá-la.