Controle de estoque, (qual a melhor forma de baixar)?
Moderador: Moderadores
Controle de estoque, (qual a melhor forma de baixar)?
Pessoal como fazer um sistema de controle de estoque que baixe o estoque de forma correta.
Penso em duas formas de se fazer:
1 - As entradas são dasdas em um arquivo onde tem os produtos e a partir dai são baixados os itens que forem saindo. e incluidos os quem forem entrando. Penso que assim é meio errado de se fazer, pois se ouver devoluções, erro de preenchimento dos pedidos, ou alterãçoes nas quantidades de algum item do pedido pode dar zebra.
2 - Existe um arquivo para os produtos, outro para as saidas, e outro para as entradas de produtos . Penso que este método é mais viável, mas existe o problema de quando temos muitos itens de produtos cadastrados, isto pode demorar o prcessamento do estoque.
Por favor me digam como voces fazem para eu poder fazer com que meu sistema não tenha mais problema de diferença de estoque.
Grande abraço pra vcs.
Penso em duas formas de se fazer:
1 - As entradas são dasdas em um arquivo onde tem os produtos e a partir dai são baixados os itens que forem saindo. e incluidos os quem forem entrando. Penso que assim é meio errado de se fazer, pois se ouver devoluções, erro de preenchimento dos pedidos, ou alterãçoes nas quantidades de algum item do pedido pode dar zebra.
2 - Existe um arquivo para os produtos, outro para as saidas, e outro para as entradas de produtos . Penso que este método é mais viável, mas existe o problema de quando temos muitos itens de produtos cadastrados, isto pode demorar o prcessamento do estoque.
Por favor me digam como voces fazem para eu poder fazer com que meu sistema não tenha mais problema de diferença de estoque.
Grande abraço pra vcs.
Olá,
Bem, até hoje utilizo um unico arquivo (estoque), com os dados do produto, inclusive o campo quantidade.
Aproveitando o tópico, no meu caso venho encontrando problemas na hora de baixar (dar um REPLACE) na quantidade, quando por exemplo uma NF é emitida. No caso, o programa roda em REDE (windows), e aparentemente as vezes a baixa é efetuada, as vezes não.
Como garantir que foi efetuado o REPLACE no banco de dados ? Usar COMITT ou DBCOMITT() ?? Alguém tem exemplos com códigos ?
Sds a todos,
Zima
Bem, até hoje utilizo um unico arquivo (estoque), com os dados do produto, inclusive o campo quantidade.
Aproveitando o tópico, no meu caso venho encontrando problemas na hora de baixar (dar um REPLACE) na quantidade, quando por exemplo uma NF é emitida. No caso, o programa roda em REDE (windows), e aparentemente as vezes a baixa é efetuada, as vezes não.
Como garantir que foi efetuado o REPLACE no banco de dados ? Usar COMITT ou DBCOMITT() ?? Alguém tem exemplos com códigos ?
Sds a todos,
Zima
-
Pedro Junior
- Usuário Nível 1

- Mensagens: 34
- Registrado em: 20 Ago 2003 00:54
- Localização: Recife/PE
Estoque
Olá pessoal,
Tenho um sistema de estoque que roda em usinas de alcool e açucar há um bom tempo. Faço da seguinte maneira :
Tenho um cadastro de materiais onde nele tenho o codigo, descrição, unidade de medida,estoque mínimo,estoque máximo, ponto de reposição, preço médio, ultimo preço de compra, ultimo fornecedor e data que forneceu o material, grupo de material, centro de custo, classe de fornecimento entre outros.
Tenho também uma tabela de notas fiscais e outra com os seus itens
A mesma coisa acontece com a tanela de requisições, tenho a tabela de requisições e tenho também a tabela com os itens da requisição.
Tenho tabela de devolução de materiais que segue o mesmo estilo das tabelas de requisições.
Ainda tenho tabelas de devolução de materiais tendo também outra tabela onde informo quais os itens de uma determinada nota está sendo devolvido ao fornecedor.
Todas os lançamentos de entrada e saída de materiais vão para um arquivo de movimento onde nele posso fazer qualquer tipo de consulta.
Desde extrato de materiais(kardex) até movimentação de custo e consumo por centro de custo , grupo, etc.
Este sistema está integrado com outros sistemas, compras , contabilidade, livro fiscal, financeiro, etc.
Acho que vc pode seguir a mesma linha de raciocínio e qualquer dúvida pode perguntar.
Tenho um sistema de estoque que roda em usinas de alcool e açucar há um bom tempo. Faço da seguinte maneira :
Tenho um cadastro de materiais onde nele tenho o codigo, descrição, unidade de medida,estoque mínimo,estoque máximo, ponto de reposição, preço médio, ultimo preço de compra, ultimo fornecedor e data que forneceu o material, grupo de material, centro de custo, classe de fornecimento entre outros.
Tenho também uma tabela de notas fiscais e outra com os seus itens
A mesma coisa acontece com a tanela de requisições, tenho a tabela de requisições e tenho também a tabela com os itens da requisição.
Tenho tabela de devolução de materiais que segue o mesmo estilo das tabelas de requisições.
Ainda tenho tabelas de devolução de materiais tendo também outra tabela onde informo quais os itens de uma determinada nota está sendo devolvido ao fornecedor.
Todas os lançamentos de entrada e saída de materiais vão para um arquivo de movimento onde nele posso fazer qualquer tipo de consulta.
Desde extrato de materiais(kardex) até movimentação de custo e consumo por centro de custo , grupo, etc.
Este sistema está integrado com outros sistemas, compras , contabilidade, livro fiscal, financeiro, etc.
Acho que vc pode seguir a mesma linha de raciocínio e qualquer dúvida pode perguntar.
Um abraço
Pedro Junior
Pedro Junior
Boa Tarde,
Ainda permaneço aguardando algum comentário/sugestão dos colegas com relação a atualizações no banco de dados ... Tenho um sistema rodando em rede e, aparentemente as vezes ele simplesmente não atualiza, por exemplo, a QUANTIDADE de determinado produto (baixa após ter sido emitida alguma NF).
Penso em fazer alguma rotina para testar essa baixa, com base na quantidade inicial de determinado produto. (Ex. tinha 10, vendi 5, tenho que ficar com 5 no campo quantidade).
Como os amigos do fórum fazem essa verificação ?
Sds,
Zima
Ainda permaneço aguardando algum comentário/sugestão dos colegas com relação a atualizações no banco de dados ... Tenho um sistema rodando em rede e, aparentemente as vezes ele simplesmente não atualiza, por exemplo, a QUANTIDADE de determinado produto (baixa após ter sido emitida alguma NF).
Penso em fazer alguma rotina para testar essa baixa, com base na quantidade inicial de determinado produto. (Ex. tinha 10, vendi 5, tenho que ficar com 5 no campo quantidade).
Como os amigos do fórum fazem essa verificação ?
Sds,
Zima
-
marcos.gurupi
- Usuário Nível 4

- Mensagens: 939
- Registrado em: 06 Jul 2004 11:53
- Localização: Gurupi-TO
Acontecia semelhando comigo, era feito uma venda no balcao q gerava:
1-Pedido de venda
2-Itens do pedido de venda
3-Baixa no estoque
4-Lancamento no contas a receber (quando a venda eh a prazo)
E as vezes ele n gerava contas a receber isso estava criando um clima ruim com meu cliente pq o sistema n estava confiável, eu pequei o micro (servidor) e o hub e fiquei um final de semana com ele, criei um programa q executava vários lancamentos pela rede fazendo o mesmo processo de uma venda normal, ocorreu q em 30% das vendas ele n gravava no contas a receber ou mesmo n dava baixa no estoque, fiz isso sem usar a rede e continuo dando problema, entaum chequei a conclusão d q era o hd do servidor, ele adquiriu um hd novo e pronto nunca mais tive problema. Eh claro q cada caso eh um caso mas fica o gancho!.
Marcos Roberto
1-Pedido de venda
2-Itens do pedido de venda
3-Baixa no estoque
4-Lancamento no contas a receber (quando a venda eh a prazo)
E as vezes ele n gerava contas a receber isso estava criando um clima ruim com meu cliente pq o sistema n estava confiável, eu pequei o micro (servidor) e o hub e fiquei um final de semana com ele, criei um programa q executava vários lancamentos pela rede fazendo o mesmo processo de uma venda normal, ocorreu q em 30% das vendas ele n gravava no contas a receber ou mesmo n dava baixa no estoque, fiz isso sem usar a rede e continuo dando problema, entaum chequei a conclusão d q era o hd do servidor, ele adquiriu um hd novo e pronto nunca mais tive problema. Eh claro q cada caso eh um caso mas fica o gancho!.
Marcos Roberto
-
marcos.gurupi
- Usuário Nível 4

- Mensagens: 939
- Registrado em: 06 Jul 2004 11:53
- Localização: Gurupi-TO
Paulao, sobre o seu dilema eh complicado dizer o q eh melhor nesses casos, mas utilizo da seguinte maneira:
Existe o bd produto que armazena informações do produto inclusive estoque, ent_dad que eh responsavel pelas informações da nf de entrada, ent_item tem informações sobre entrada de item de estoque, para saida tem dois arquivos, pedidos saum as informações da venda e p_itens q saum os itens vendidos. Para dar baixa eh feito da sequinte maneira
Quando eh finalizado o pedido:DEPOIS EH LOGICO EH GERADO CONTAS A RECEBER OU LANCAMENTOS NO CAIXA CONFORME O TIPO DA VENDA Q FOI REALIZADA.
N sei se fui util, mas qualquer duvida estou a disposição.
Marcos Roberto.
Existe o bd produto que armazena informações do produto inclusive estoque, ent_dad que eh responsavel pelas informações da nf de entrada, ent_item tem informações sobre entrada de item de estoque, para saida tem dois arquivos, pedidos saum as informações da venda e p_itens q saum os itens vendidos. Para dar baixa eh feito da sequinte maneira
Quando eh finalizado o pedido:
Código: Selecionar todos
DO WHILE .T.
// LANCA INFORMAÇÕES DA VENDA NO ARQ.PEDIDO
SELECT (ARQ.TMP DA VENDA)
GO TOP
DO WHILE !EOF()
SELECT (ITENS DO PEDIDO)
// LANCA OS ITENS DO PEDIDO
SELECT (ARQ.PRODUTO)
// EH DADO BAIXA NO ESTOQUE DOS PRODUTOS DO ITEM
SELECT(ARQTMP DA VENDA)
SKIP
ENDDON sei se fui util, mas qualquer duvida estou a disposição.
Marcos Roberto.
Editado pela última vez por Pablo César em 09 Abr 2012 23:30, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Bom dia,
Bem, vou postar aqui a rotina e função que utilizo para dar baixa no estoque. O sistema roda em Rede windows. Como disse, as vezes o REPLACE não é efetivado, dando origem a erros na quantidade física dos produtos em estoque.
Vocês utilizam algo semelhante ?
Sds,
Zima
Bem, vou postar aqui a rotina e função que utilizo para dar baixa no estoque. O sistema roda em Rede windows. Como disse, as vezes o REPLACE não é efetivado, dando origem a erros na quantidade física dos produtos em estoque.
Vocês utilizam algo semelhante ?
Sds,
Zima
Código: Selecionar todos
SELECT Estoque
SET ORDER TO 2
SEEK vcode
IF Reglock(10)
REPLACE quantidade WITH quantidade - quan[f]
DBCOMMIT()
UNLOCK
ELSE
TONE(1100,1)
Opc:=Alerta("Estoque não atualizado ! ",{"$OK"})
ENDIF
***********************
FUNCTION Reglock
***************************************************************************
* Objetivo..: Tenta travar o registro atual.
* Parametros: 1. Numerico - tempo de espera em segundos (0 = sempre)
***************************************************************************
PARAMETERS tempo
PRIVATE sempre
IF RLOCK()
RETURN (.T.) && bloqueado
ENDIF
SET COLOR TO W+*
*DO Aviso WITH 24,"Aguarde... Tentando Acesso ao Arquivo"
SET COLOR TO
sempre = (tempo = 0)
DO WHILE (sempre .OR. tempo > 0) .AND. INKEY()<>27
IF RLOCK()
@ 24,00 CLEAR
RETURN (.T.) && bloqueado
ENDIF
INKEY(.5) && espera 1/2 segundo
tempo = tempo - .5
ENDDO
@ 24,00 CLEAR
RETURN (.F.) && nao bloqueado
Editado pela última vez por Pablo César em 09 Abr 2012 23:30, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1

