Gestão de Estoque usando Fifo

15/04/2013

3

Bom Dia Pessoal

preciso fazer um programa de Gestão de
Estoque em delphi 2010 com base de dado SQL server 2013
usando a avaliação de estoque FIFO


Desculpem o encomodo mais sou novo aqui
Responder

Posts

15/04/2013

Osvaldo Nguli

Desculpa não detalhei

se tiver um algoritimo em delphi para fazer manda
se tiver um geito em sql para fazer e depois ligar no delphi manda

fiz as tabelas em sql interliguei com o delphi 2010

mais o que quero é que quando definir o tipo de movimento
ex: Fifo o sistema deve descontar o mercadoria do primeiro registo feito ou da data
mais antiga.


Responder

15/04/2013

Joel Rodrigues

Cara, o que é exatamente FIFO neste caso? First In, First Out?
Se for, como isso se aplica ao controle de estoque? Explique melhor que talvez possamos te ajudar.
Abraço.
Responder

15/04/2013

Osvaldo Nguli

tenho uma tabela em sql server chamada Estoque

TABELA: Estoque
CHAVE CAMPO DESCRIÇÃO TIPO DE DADOS
C.P ID_Estoque Identidade do Estoque Integer
C.E ID_Produto Identidade do produto Integer
Estoque_min Estoque minimo do produto Integer
Estoque_max Estoque maximo do produto Integer
Ponto_reposi Ponto de Reposição do produto Integer
Estoque_act Estoque actual do produto Integer

Quero que nesta tabela seje dininuda ou soma sempre que eu der entrada ou saida de um produto
mais seguindo a avaliação de estoque FIFO (First in First out.

Ex: Cadastrei no dia
20/3/2013 50 sacos de arroz com preço 10 usd
23/3/2013 10 sacos de arroz com preço de 5 usd

no dia 25/03/2013 o cliente comprou 25 sacos
o sitema deve verificar o produto mais antigo
e diminui-lo até que chegue a estoque "0" Zero so depois continua a vender o produto
cadastrado no dia 23/3/2013.

Por favor ser paciente pois sou leigo em questóes de Fórum
Responder

15/04/2013

Joel Rodrigues

Rapaz, mas como isso fica organizado no BD? Por exemplo, você deu entrada no mesmo produto em duas datas. Nesse caso, cada entrada deve ter algo que diferencie o produto, como uma data de vencimento.
Se não, veja só o cenário:

- Estoque inicial do produto ARROZ: 10
- Entrada de 10 unidades de ARROZ com preço X
- Entrada de 5 unidades de ARROZ com preço Y
- Estoque atual do produto ARROZ: 25

Beleza, temos 25 unidades em estoque. Mas como eu diferencio o que foi da primeira entrada e o que foi da segunda?

Responder

15/04/2013

Osvaldo Nguli

a minha pegunta é extamente está ai que fizentes.

Como eu diferencio na BD o produto mais antigo para eu diminuir?
EX:
se a data for mais antiga então
Estoque_act = estoque-quntidade vendida (da tabela vendas)...


Responder

15/04/2013

Joel Rodrigues

Aí você precisaria ter alguma referência à data da entrada, por exemplo, na tabela de estoque. Nesse caso, haveria mais de um registro para o mesmo produto, mudando apenas a data. Por exemplo:
COD | DESCRICAO | PRECO | DATA       | ESTOQUE
---------------------------------------------
001 | ARROZ     | 1,5   | 01/01/2001 | 10
001 | ARROZ     | 2,0   | 02/02/2002 | 5
001 | ARROZ     | 3,2   | 03/03/2003 | 13


Seria algo assim que você precisa?
Responder

15/04/2013

Osvaldo Nguli

é isso estamos a chegar lá.

COD | DESCRICAO | PRECO | DATA | ESTOQUE
---------------------------------------------
001 | ARROZ | 1,5 | 01/01/2001 | 10
001 | ARROZ | 2,0 | 02/02/2002 | 5
001 | ARROZ | 3,2 | 03/03/2003 | 13


nesta tabela o sistema devera primero verificar a primeira data (01/01/2001) e vender
os 10 sacos de arroz ao preço 1.5 quando tiver zerado
começa a vender os 5 sacos arroz da segunda (02/02/2002) data ao preço 2....


resumindo quero em SQl ou delphi 2010 uma maneira de verificar a data mais antiga
e depois diminuir o estoque desta data.

Responder

15/04/2013

Joel Rodrigues

Rapaz, aqui só de cabeça mesmo eu pensei o seguinte: pra dar baixa no estoque você faz um select ordenando pela data de forma ascendente. Só manda fazer o update no registro mais antigo, independente de quanto tem em estoque e quanto precisa baixar.
Porém, você cria um trigger nessa tabela para não permitir dar baixa em quantidades superiores ao que tem no estoque. Se a quantidade baixada for maior, repassa a diferença para o próximo registro. Como isso vai estar em um trigger, se tornará recursivo e irá repassando as quantidades adiante, caso não tenha estoque suficiente na data em questão.
Responder

15/04/2013

Joel Rodrigues

Daqui a pouco eu tento fazer algo aqui nesse sentido e te aviso sobre os resultados, mas aconselho a você ir tentando implementar, pois não sei de que horas vou dar um retorno.
Abraço.
Responder

15/04/2013

Bruno Leandro

voce pode conseguir dar baixar no sistema no produto com vencimento menor ou compra mais antiga, mas o codigo de barras de um mesmo produto normalmente nao muda, entao quando voce ler o codigo de barras voce nao tem como identificar a qual data ele pertence.

essa responsabilidade tem que ficar a cargo dos repositores, que tem que colocar os produtos mais antigos na frente ou na prateleira.

a nao ser que voce gere um codigo de barras a cada entrada do produto, ai toda compra voce tem o lote, data entrada, data vencimento e o codigo de barras que voce gerou, ai sim. se for o codigo de barras do produto nao da pra fazer o que voce esta pensando.
Responder

15/04/2013

Joel Rodrigues

Pois é, Bruno. Eu também concordo. Até por que, o sistema pode dar baixar em uma mercadoria mais antiga e o operador vender uma mais recente por algum motivo. Aí a bagunça estaria feita.
Responder

15/04/2013

Osvaldo Nguli

Em gestão de estoque existe varias maneiras de se avaliar o estoque
que São Fifo Lifo media ponderada movel entre outras.

no youtube se pesquisar por gestão de estoque usando Fifo ou lifo
vão ver feito numa tabela em excel é mais ou menos dá quela meneira que quero
usar.

sei que existe um software "SAGE Gestão comercial" que tem tal função

vem o video no youtube e me dão um toque
Responder
Olá.

Qual a atividade comercial que pretende atender com esse controle?

FIFO geralmente é para industria com manufatura. Onde há necessidade de rastreabilidade por meio de LOTE+Data IN. Para sistemas de PCP.

Onde na tabela de movimentação do estoque você lança o LOTE que será debitado a quantidade.

Espero que ajude.
Responder

15/04/2013

Osvaldo Nguli

é um tema proposto na minha escola
criar o software de gestão de estoque
que use 3 modalidade de estoque (Fifo; Lifo; e média movel Ponderada)...

se for diminuir na tabela estoque sem pensar nisto
eu dava um jeito mas com este criterios não vejo
como.
Responder

28/02/2014

João Cruz

voce pode conseguir dar baixar no sistema no produto com vencimento menor ou compra mais antiga, mas o codigo de barras de um mesmo produto normalmente nao muda, entao quando voce ler o codigo de barras voce nao tem como identificar a qual data ele pertence.

essa responsabilidade tem que ficar a cargo dos repositores, que tem que colocar os produtos mais antigos na frente ou na prateleira.

a nao ser que voce gere um codigo de barras a cada entrada do produto, ai toda compra voce tem o lote, data entrada, data vencimento e o codigo de barras que voce gerou, ai sim. se for o codigo de barras do produto nao da pra fazer o que voce esta pensando.


Esta situação vai acontecer certamente: Imaginando em um supermercado, se o repositor colocar mercadorias de datas diferentes, o que se pode fazer é baixar pelos mais antigos filtrando pelo no.do lote, que passaria ser campo obrigatorio na digitação desde a entrada, e em todas as movimentacoes (venda, transferencia, devolucoes, cancelamentos, refugo, inventario etc).
Obs.: FIFO pode conflitar com data de validade de lote, que é a prioridade de saída. Veja sobre FEFO (primeiro a expirar é o primeiro a sair) e sua legalidade contábil
Abs
João Batista

Responder