Ola Pessoal, tudo bom ??
Como fazer para dar baixa no Estoque automaticamente ? Fiz dois cadastros, um de Venda e outro de Estoque. Estou precisando relacionar esses dois Bancos de Dados. Já consegui trazer os dados, ou seja, código, descrição e valor. Agora preciso dar baixa na quantidade de produto do estoque. Isso deve ocorrer automaticamente no momento em que eu executar a venda de um determinado produto. Como proceder ?? Se alguém tiver algum exemplo ou me mostrar o caminho agradeço....
Josmar
Dar baixa no Banco de Dados no Estoque
Moderador: Moderadores
-
Josmar dos Santos
- Usuário Nível 3

- Mensagens: 277
- Registrado em: 11 Jan 2006 18:36
- Localização: Botucatu-SP
Dar baixa no Banco de Dados no Estoque
Ola, boa noite..
Em tese, poderíamos ter assim:
01 arquivo com cadastro das mercadorias (Codigo, descricao, seçao, marca, etc, etc) - Itens.Dbf
01 arquivo com situaçao tributaria de ICMS - FaIcms.dbf
01 arquivo com Situacao Tributaria de IPI, Pis, Cofins, etc. - FAipi.dbf
01 Arquivo com a quantidade em estoque, preço de custo, preço de venda, (por loja). - ItensLj.dbf
Pelo menos dois arquivos da movimentação de saidas (principal + normalizador)
Ao lançar uma saida, a cada produto, na hora de gravar (pedido, cupom, nota, etc), se pesquisa a mercadoria em ItensLj.dbf e debita a quantidade. Caso nao tenha a quantidade lançada, tambem se trata a operaçao, travando ou nao a operaçao, depende da itenção.
Por exemplo, teríamos ITENSLJ->EST_AT -= vQUANT em cada lançamento de produto na hora de grava-lo final.
No caso da entrada, ou cancelamento da saida, trata-se do mesmo jeito, so que somando. ITENSLJ->EST_AT += vQUANT
Os nomes do arquivos, são apenas sugestivos, para se entender um basico funcionamento. Claro que há tarefas complexas que poderão necessitar mais tabelas.
É muito comum hoje, se fazer a baixa ou entrada tipo on-line, ou seja gravou a entrada ou gravou a saida, ja atualiza as quantidades em estoques.
No meu caso, as saidas sao atualizadas on-line, gravou, baixou. As entradas tambem sao, mas outras informações, tais como custo medio, ultimos fornecedores, precisam rodar a opçao de atualizaçao de estoque, pelo menos 1 vez por mes.
Mas a ideia basica é essa.. Espero ter contribuido para facilitar que assimile a ideia de como funcionaria.
Em tese, poderíamos ter assim:
01 arquivo com cadastro das mercadorias (Codigo, descricao, seçao, marca, etc, etc) - Itens.Dbf
01 arquivo com situaçao tributaria de ICMS - FaIcms.dbf
01 arquivo com Situacao Tributaria de IPI, Pis, Cofins, etc. - FAipi.dbf
01 Arquivo com a quantidade em estoque, preço de custo, preço de venda, (por loja). - ItensLj.dbf
Pelo menos dois arquivos da movimentação de saidas (principal + normalizador)
Ao lançar uma saida, a cada produto, na hora de gravar (pedido, cupom, nota, etc), se pesquisa a mercadoria em ItensLj.dbf e debita a quantidade. Caso nao tenha a quantidade lançada, tambem se trata a operaçao, travando ou nao a operaçao, depende da itenção.
Por exemplo, teríamos ITENSLJ->EST_AT -= vQUANT em cada lançamento de produto na hora de grava-lo final.
No caso da entrada, ou cancelamento da saida, trata-se do mesmo jeito, so que somando. ITENSLJ->EST_AT += vQUANT
Os nomes do arquivos, são apenas sugestivos, para se entender um basico funcionamento. Claro que há tarefas complexas que poderão necessitar mais tabelas.
É muito comum hoje, se fazer a baixa ou entrada tipo on-line, ou seja gravou a entrada ou gravou a saida, ja atualiza as quantidades em estoques.
No meu caso, as saidas sao atualizadas on-line, gravou, baixou. As entradas tambem sao, mas outras informações, tais como custo medio, ultimos fornecedores, precisam rodar a opçao de atualizaçao de estoque, pelo menos 1 vez por mes.
Mas a ideia basica é essa.. Espero ter contribuido para facilitar que assimile a ideia de como funcionaria.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Dar baixa no Banco de Dados no Estoque
Amiguinhos,
Outra dica seria a de efetuar estes movimentos somente na efetivação do pedido, ou seja, ao imprimir algum documento como cupom ou nota, ou se a empresa possuir uma expedição processar as baixas por meio do pedido próprio.
Efetuar baixa ou lançamento durante a venda é perigoso.
Ia esquecendo:
Fazer uma prova dos nove ao efetuar o movimento. Pega a quantidade em estoque e reserva, efetua a saida/entrada, pega a quantidade em estoque novamente e compara com a reserva, se ok, continua no próximo registro.
Como o estoque é algo sacal, e da muita dor de cabeça, eu uso o meu arquivo de saida/entrada como kardex(mas voce pode usar um acessório).
A quantidade em estoque é iniciada em um dado momento(nascimento), os movimentos posteriores são ações de sua vida, então na contagem do final do mês, o saldo corrente deverá ser o valor (iniciado+entrada)-saida. As diferenças serão minimas e facilmente notáveis.
Para que este levantamento sejá de rápida visualização, o campo de quantidade é suportado por um campo de data, onde armazeno a data de inicio desta contagem, portanto os movimentos de saida/entrada desta data em diante serão os contabilizadores do saldo no estoque.
Outra dica seria a de efetuar estes movimentos somente na efetivação do pedido, ou seja, ao imprimir algum documento como cupom ou nota, ou se a empresa possuir uma expedição processar as baixas por meio do pedido próprio.
Efetuar baixa ou lançamento durante a venda é perigoso.
Ia esquecendo:
Fazer uma prova dos nove ao efetuar o movimento. Pega a quantidade em estoque e reserva, efetua a saida/entrada, pega a quantidade em estoque novamente e compara com a reserva, se ok, continua no próximo registro.
Como o estoque é algo sacal, e da muita dor de cabeça, eu uso o meu arquivo de saida/entrada como kardex(mas voce pode usar um acessório).
A quantidade em estoque é iniciada em um dado momento(nascimento), os movimentos posteriores são ações de sua vida, então na contagem do final do mês, o saldo corrente deverá ser o valor (iniciado+entrada)-saida. As diferenças serão minimas e facilmente notáveis.
Para que este levantamento sejá de rápida visualização, o campo de quantidade é suportado por um campo de data, onde armazeno a data de inicio desta contagem, portanto os movimentos de saida/entrada desta data em diante serão os contabilizadores do saldo no estoque.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
Josmar dos Santos
- Usuário Nível 3

- Mensagens: 277
- Registrado em: 11 Jan 2006 18:36
- Localização: Botucatu-SP
Dar baixa no Banco de Dados no Estoque
Boa tarde a todos. Obrigado pela atenção ! Mas o que estou precisando mesmo seria uma coisa bem básica. Simplesmente só preciso a princípio de um exemplo de rotina que apenas registre a saída e desconte do saldo atual do Estoque. Depois irei trabalhar em cima dela para colocar todos os outros valores. Só preciso mesmo de um começo. Já procurei alguns exemplos no fórum mas não achei nada ! Confesso a vocês que nunca fiz esse tipo de trabalho. O meu sistema é bem simples. Faz somente o básico. Mas seria interessante aprender a trabalhar com esse tipo de rotina..
Josmar
Josmar
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
Dar baixa no Banco de Dados no Estoque
Após o usuário digitar a movimentação de entrada ou saída...
É isso que quer?
Código: Selecionar todos
select produto
If movimento->Entrada == "S"
replace produto->quantidade with produto->quantidade + movimento->quantidade
Else
Replace produto->quantidade with produto->quantidade - movimento->quantidade
Endif
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/