Duvidas, sobre controle de estoque

Delphi

26/03/2004

Ola, Amigos do forum.

Estou terminando um controle de estoque basico.

por fim o meu cliente pediu que fizesse algumas alterações.

1. Alterar vendas ja finalizadas. So que quando mando alterar o estoque tem que alterar apenas os itens houveram alteração.

2. Campo desconto em porcentagem, nunca trabalhei com porcentagem. o que acontece e que diminuindo em valor e não em porcentagem.


trabalho com delphi 6, banco de dados InterBase.


Sdph

Sdph

Curtidas 0

Respostas

Marco Salles

Marco Salles

26/03/2004

2. Campo desconto em porcentagem, nunca trabalhei com porcentagem. o que acontece e que diminuindo em valor e não em porcentagem


O Que Eu Entendi é Que Seu Cliente Quer Que Voce Crie Um Campo De Desconto Percentual Do Valor Da Venda...Para Ficar Mais Claro, Voce Deve Criar Também Um Campo Calculado, Que Será o Total Com Desconto...Este Campo Sera Definido Pelo Valor Da Venda e Pelo Desconto...Assim Para o Campo Total Com Desconto:
TotalComDesconto:=ValorDaVenda(1-CampoPercentual/100);
Exemplo:
ValorDaVenda=100,00
CampoPercentual=10
TotalComDesconto=90,00

Não Sei Nen Se Te Ajudei Neste Segundo Tópico,Quanto Ao Primeiro Não Entendi..Se Quiser Ser Mais Claro...


GOSTEI 0
Thomaz_prg

Thomaz_prg

26/03/2004

Caro colega, no caso da Alteração, você poderia tranquilamente, alterar todos os dados da venda/baixa, porque, para que seu controle fique um pouco mais preciso no módulo de alteração, deve-se ocorrer da seguinte forma:
1- Reposição das quantidades antigas (qtd vendida antiga)
2- Efetuar baixa mediante aos novos dados.

Por exemplo, voce efetuou a venda de 20 cds. Porém, por algum motivo qualquer, a quantidade deverá ser alterada para 10. Sabendo-se que na mesma venda, também houve a baixa de 5 disquetes. Seu sistema repõe os 20 cds e os 5 disquetes no estoque, e então efetua a baixa em 10 cds e 5 disquetes. Desta forma, seu estoque estará sendo controlado um pouco melhor.

-------------------------------

2- No caso do desconto, você pode colocar dois edit´s na tela, um do desconto (valor) e outro do desconto (porcentagem). Se o usuario usar um deles, o outro terá seu valor atualizado e ficará com enabled:=false.

Exemplo:

total_venda=Total da Venda=R$ 100,00
desconto_valor = desconto em valores
desconto_porce = desconto porcentagem

se o usuario digitar em desconto_valor R$ 10,00
o valor de desconto_porce será:
desconto_porce=desconto_valor * 100 / total_venda

se o usuario digitar em desconto_porce o valor 5¬ o valor de desconto_valor será atualizado para:
desconto_valor = total_venda * desconto_porce / 100

E entao para obter o total da venda, você subtrai o valor total da venda pelo desconto_valor.

Espero ter ajudado.


GOSTEI 0
Torres Delphi

Torres Delphi

26/03/2004

Vou passar minha experiencia com estoques. Na tabela de itens do venda, criou duas colunas, quant_ped e quant_res. Ao gravar o item, sempre chamo a rotina que verifica e baixa estoque. Se o usuario pediu 10 e so tem cinco, gravo, 10 em quantidade pedida e 5 em quant_res, e baixo os 5 do estoque.
Se houve uma movimentacao de entrada de mais 5 pecas e o usuario quiser alterar o pedido que foi atendido parcialmente, ele ira entrar no registro e alterar a quant 5 para 10. Ao chamar a rotina de estoque, o sistema verifica qual quant sera movimentada, neste caso, somente mais 5, pq ira fazer: quant ped-quant res (quant antiga, sempre guardo esse valor qdo vou alteracao), entao movimento apenas mais 5 e nao 10 como esta em quant pedida.

Para o percentual, acho q ja te passaram ideias boas tambem.

[]´s


GOSTEI 0
Marco Salles

Marco Salles

26/03/2004

Ainda Sobre o Percentual, Que Foi o Que Tentei Responder e Lendo a Resposta Do thomaz_prg, Acredito Que Ele Tenha Entendido Sua Dúvida Melhor Do Que Eu.....A Matemática Aplicada No Meu Ver Esta Correta..Eu Já Tinha Feito Isto Usando o Desconto Percentual e Ele( O ´thomaz_prg´) Estendeu Usando o Desconto Em Valor...Mas Não Posso Deixar De Liso, Alguns Detalhes Que Julgo Poder Ser Importantes
1)Em Vez De Dois Edits Coloque Dois DbEdits...Porque os Edits Não Vão Guardar O Desconto Percentual e Nem o Desconto_Valor Das Transações Passadas, A Não Ser Que Voce Faça Métodos Para Isto... Desnecessário Se Isto Pode Ser Feito Automaticamente Pelos DBeDITS...
2)Voce Pode Atualizar o Valor Dos DbEdit Nos Evenos OnChange, De Maneira Que Eles Fiquem Amarrados.
Exempo.. 
No OnChange Do DbEdtiDesconto_Percentual
  DbEditDescontoValor.Text:=
   FloatToStr( total_venda *(StrToFloat(DbEditDescontoPercentual))/100));
No OnChange Do DbEditDesconto_Valor
  DbEditDescontoPercentual:=
   FloatToStr( ((StrToFloat(DbEditDescontoValor)*100)/ total_venda));
P:S Não Testei, Mas Pode Ocorrer Uma Recursão Infinita Dos Eventos 
     OnChange, Acho Improvável Mas Destaco a Hipote-se...
3)Cuide Das Entradas Uando Evento Key Press( So Permita Numeros Válidos, Etc...
4)Cuide Dos Valores Digitados Válidos...Exemplo, Não Faz Sentido Um DescontoPercentual Maior Que 100¬, e nem Tampouco Um DescontoValor Maior Que o Valor Da Compra...
5)Ainda Bato Na Tecla Da Criação De Um Campo Calculado Para Efetuar os Calculos Com Desconto.
TotalComDesconto:=ValorDaVenda(1-CampoPercentual/100); Ou T.b
TotalComDesconto:=ValorDaVenda-CampoDescontoValor);
 Porque Se Voce Usar O Propio Campo ValoDaVenda e Diminuir Dele o Valor Do Desconto, Matematicamente Tem o Mesmo Efeito, Porem Numa Análise De Dados Uma Informação Perdida Não Pode Ser Recuperada...E Isto Com Certeza Fara Falta Para o Seu Cliente...



GOSTEI 0
Marco Salles

Marco Salles

26/03/2004

Postei Mas Ficou Embolado:

Ainda Sobre o Percentual, Que Foi o Que Tentei Responder e Lendo a Resposta Do thomaz_prg, Acredito Que Ele Tenha Entendido Sua Dúvida Melhor Do Que Eu.....A Matemática Aplicada No Meu Ver Esta Correta..Eu Já Tinha Feito Isto Usando o Desconto Percentual e Ele( O ´thomaz_prg´) Estendeu Usando o Desconto Em Valor...Mas Não Posso Deixar De Liso, Alguns Detalhes Que Julgo Poder Ser Importantes


2)Voce Pode Atualizar o Valor Dos DbEdit Nos Evenos OnChange, De Maneira Que Eles Fiquem Amarrados. 
Exempo.. 

No OnChange Do DbEdtiDesconto_Percentual 
DbEditDescontoValor.Text:= 
FloatToStr( total_venda *(StrToFloa(DbEditDescontoPercentual))/100)); 

No OnChange Do DbEditDesconto_Valor 
DbEditDescontoPercentual:= 
FloatToStr( ((StrToFloat(DbEditDescontoValor)*100)/ total_venda)); 

P:S Não Testei, Mas Pode Ocorrer Uma Recursão Infinita Dos Eventos 
     OnChange, Acho Improvável Mas Destaco a Hipote-se... 


3)Cuide Das Entradas Uando Evento Key Press( So Permita Numeros Válidos, Etc... 


4)Cuide Dos Valores Digitados Válidos...Exemplo, Não Faz Sentido Um DescontoPercentual Maior Que 100¬, e nem Tampouco Um DescontoValor Maior Que o Valor Da Compra... 


5)Ainda Bato Na Tecla Da Criação De Um Campo Calculado Para Efetuar os Calculos Com Desconto. 
TotalComDesconto:=ValorDaVenda(1-CampoPercentual/100); Ou T.b 
TotalComDesconto:=ValorDaVenda-CampoDescontoValor); 
Porque Se Voce Usar O Propio Campo ValoDaVenda e Diminuir Dele o Valor Do Desconto, Matematicamente Tem o Mesmo Efeito, Porem Numa Análise De Dados Uma Informação Perdida Não Pode Ser Recuperada...E Isto Com Certeza Fara Falta Para o Seu Cliente... 



GOSTEI 0
Marco Salles

Marco Salles

26/03/2004

Nesta Ultima Postagem , Ficou Beleza Mas ´Comeu´ Meu Item 1)

Ainda Sobre o Percentual, Que Foi o Que Tentei Responder e Lendo a Resposta Do thomaz_prg, Acredito Que Ele Tenha Entendido Sua Dúvida Melhor Do Que Eu.....A Matemática Aplicada No Meu Ver Esta Correta..Eu Já Tinha Feito Isto Usando o Desconto Percentual e Ele( O ´thomaz_prg´) Estendeu Usando o Desconto Em Valor...Mas Não Posso Deixar De Liso, Alguns Detalhes Que Julgo Poder Ser Importantes
Código:
1)Em Vez De Dois Edits Coloque Dois DbEdits...Porque os Edits Não Vão Guardar O Desconto Percentual e Nem o Desconto_Valor Das Transações Passadas, A Não Ser Que Voce Faça Métodos Para Isto... Desnecessário Se Isto Pode Ser Feito Automaticamente Pelos DBeDITS... 


2)Voce Pode Atualizar o Valor Dos DbEdit Nos Evenos OnChange, De Maneira Que Eles Fiquem Amarrados. 
Exempo..
 
No OnChange Do DbEdtiDesconto_Percentual 
DbEditDescontoValor.Text:= 
FloatToStr( total_venda *(StrToFloat(DbEditDescontoPercentual))/100)); 

No OnChange Do DbEditDesconto_Valor 
DbEditDescontoPercentual:= 
FloatToStr( ((StrToFloat(DbEditDescontoValor)*100)/ total_venda)); 

P:S Não Testei, Mas Pode Ocorrer Uma Recursão Infinita Dos Eventos 
     OnChange, Acho Improvável Mas Destaco a Hipote-se... 


3)Cuide Das Entradas Uando Evento Key Press( So Permita Numeros Válidos, Etc... 


4)Cuide Dos Valores Digitados Válidos...Exemplo, Não Faz Sentido Um DescontoPercentual Maior Que 100¬, e nem Tampouco Um DescontoValor Maior Que o Valor Da Compra... 


5)Ainda Bato Na Tecla Da Criação De Um Campo Calculado Para Efetuar os Calculos Com Desconto. 
TotalComDesconto:=ValorDaVenda(1-CampoPercentual/100); Ou T.b 
TotalComDesconto:=ValorDaVenda-CampoDescontoValor); 
Porque Se Voce Usar O Propio Campo ValoDaVenda e Diminuir Dele o Valor Do Desconto, Matematicamente Tem o Mesmo Efeito, Porem Numa Análise De Dados Uma Informação Perdida Não Pode Ser Recuperada...E Isto Com Certeza Fara Falta Para o Seu Cliente... 



GOSTEI 0
POSTAR