Opinião sobre controle de estoque

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

JSystem
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 21 Jan 2010 21:10
Localização: Uberaba

Opinião sobre controle de estoque

Mensagem por JSystem »

Amigos,

Tenho um sistema rodando há quase 20 anos em uma loja de materiais de construção, desenvolvi NFe, EFD ICMS/IPI e atualmente desenvolvendo a EFD CONTRIBUIÇÕES, só que as vezes ocorre do estoque ficar negativo e um dos motivos é o seguinte, vou tentar exemplificar:
Na empresa tem o servidor e 8 terminais no balcão, no balcão 1, o vendedor digitou o produto 10, seu saldo em estoque é 20, na quant.vendida informou 15, lógico, o sistema verificou o saldo em estoque e liberou, porém a venda ainda não foi gravada, o sistema está aguardando a digitação de novos itens,
Neste momento, no balcão 2 e nos outros, logicamente este mesmo produto 10 poderá ser vendido, no momento que o vendedor informa a quantidade 8 por exemplo, o sistema checará o saldo, e aí o que acontece, o saldo do produto 10 ainda estará 20, pque a venda anterior ainda não foi confirmada, o sistema libera a quantidade informada e aí na gravação das 2 vendas, é onde acontece de ficar negativo que, neste exemplo, o saldo do produto 10 ficará -3, e aí imaginam numa loja com quase 7000 itens.
Enfim, até peço desculpas pque isso é um controle bem básico que todo sistema deve ter mas, como essa parte de controle do estoque foi feito bem no começo, depois me envolvi com outras coisas passei um bom tempo sem mexer nesse sistema, e acabei que não montei uma rotina segura e funcional p/ evitar esse tipo de falha, agora, devido as obrigações de NFe e SPED, o cliente me procurou e voltei a mexer, como está muito corrido, peço opinião, por gentileza, aos colegas sobre como montar um controle p/ evitar esse tipo de situação que jamais pode ocorrer devido agora as obrigações fiscais.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Opinião sobre controle de estoque

Mensagem por alxsts »

Olá!

Crie um campo a mais na tua tabela de estoque, por exemplo QtdReserv. A cada item, some a quantidade pedida do item neste campo e grave. Na hora de verificar o estoque disponível, faça a conta estoque disponível = estoque atual - estoque reservado. Ao final de cada pedido, independentemente de o pedido ser ou não faturado, atualize novamente o campo, deduzindo a quantidade, para ela não ficar reservada.
[]´s
Alexandre Santos (AlxSts)
JSystem
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 21 Jan 2010 21:10
Localização: Uberaba

Opinião sobre controle de estoque

Mensagem por JSystem »

Ok Alexandre,

Obrigado.
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Opinião sobre controle de estoque

Mensagem por ANDRIL »

Há vários métodos de controle de estoque, eu utilizo um controle "on-line" ao fazer um pedido (durante) já retira e atualiza o item em estoque. Caso a venda não se confirme, a função de devolução de item ao estoque entra em ação atualizando o estoque. Como estamos sempre propensos ao transtorno de corruption de índice, dbf etc este é um dos grandes problemas deste esquema, mais que também poderia ocorrer em um campo de reserva conforme o nosso colega indicou. Outra forma era mudar a sua rotina para criticar ao fechar o pedido, bloqueio o registro para segurar o valor em estoque, se a quantidade que estiver no pedido for maior informe ao usuário se quer apenas a quantidade disponível e pronto.
Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

Opinião sobre controle de estoque

Mensagem por Vlademiro »

Quando eu trabalhava com controle de estoque em clipper + dbfs + Rede Novell eu tinha pesadelos com os saldos negativos. Eu trabalhava no CPD e tinha que explicar a causa dos negativos. Era muito chato. Quando era fim de ano e eu tinha que mandar os relatórios para o contador e vez por outra apareciam os negativos. A pessoa proprietária da loja desconfiava de roubo e no dia de inventário (todo janeiro) o clima ficava pesado. Na maioria das vezes era índices corrompidos. Nesse caso fica difícil encontrar uma solução definitiva como o colega bem citou.

O que eu fazia era

Criar uma função atuSaldo( codPro, Qtd , Oper ) Onde Oper = "E" (Entrada) ou "S" (Saída)

Dentro dessa função eu verificava se o saldo se tornava negativo e ai bloqueava a transação no caso de saldo negativo.
Procure criticar e bloquear o negativo apenas em UM ponto do seu programa (por isso crie uma função) e mantenha os índices ok (se é que isso é possível. Dê uma olhada no fórum que tem dicas de como manter o índice OK, se der para usar um SSH resolveria bastante, para isso dê uma olhada no bitwise que é um servidor SSH para windows que é perfeito para apicações clipper).

Boa sorte.
JSystem
Usuário Nível 3
Usuário Nível 3
Mensagens: 143
Registrado em: 21 Jan 2010 21:10
Localização: Uberaba

Opinião sobre controle de estoque

Mensagem por JSystem »

Olá colegas,

Em primeiro lugar, obrigado a todos pela atenção.

Quanto a problema de índices, conf. citou os colegas, realmente era quase que direto qdo trabalhava com RTLINK, depois que passei a utilizar BLINKER 7.0 acabaram os problemas.
ANDRIL escreveu:Outra forma era mudar a sua rotina para criticar ao fechar o pedido, bloqueio o registro para segurar o valor em estoque, se a quantidade que estiver no pedido for maior informe ao usuário se quer apenas a quantidade disponível e pronto.
Vamos ver se entendi, ao confirmar o pedido, dentro de um laço, dou um dbrlock() no registro e comparo, se a quant.do pedido for maior que o saldo em estoque, dá opção ao usuário conf. vc citou, é isto ?
Neste caso Andril, não faria a baixa "on-line" durante a digitação do pedido conforme vc utiliza ?
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Opinião sobre controle de estoque

Mensagem por ANDRIL »

Desculpe, só vi o tópico hoje.
JSystem escreveu:Neste caso Andril, não faria a baixa "on-line" durante a digitação do pedido conforme vc utiliza
Exato. Voce checa item a item bloqueando antes. Assim se outro terminal tentar acessar o estoque do mesmo produto tem que aguardar a atualização do saldo. A única desvantagem é não ter um estoque "on-line", porem creio que seja o metodo mais "seguro".
Ate+
Responder