Quero verificar se o estoque não ficará negativo.

25/12/2005

1

Ola pessoal, to aqui de novo, bom nesse código ai baixo eu estava tentando verificar se o saldo do estoque ficaria negativo se ficar dava a mensagem caso contrario, grava o registro, mas passe direto sem dar a mensagem e nem nada, ja mudei o sinal < ou > ou =< mas nada funcionou. alguem teria um código semelhante ou poderia me dizer o que está errado nesse ai?

procedure tform_outras_saidas.salva_saida;
var _saldo, _entrada:string; _verifica, _negativo:double;
begin
bancos.IBT_produtos.Locate(´cod_produto´,bancos._id_produto_entrada,[]);
_verifica:=bancos.IBT_produtosSALDO.Value;
_negativo:=_verifica - strtocurr(edit3.Text);
if bancos.IBT_produtosSALDO.Value< _negativo then
begin
showmessage(´O estoque não pode ficar negativo, Verifique as entradas e saídas´);
end else
begin
gera_codigo;
bancos.IBT_movimento_item.Append;
bancos.IBT_movimento_itemCODIGO.Value:=cod_mov_novo;
bancos.IBT_movimento_itemID_ITEM.Value:=bancos._id_produto_entrada;
bancos.IBT_movimento_itemDOCUMENTO.Value:=combobox1.Text;
bancos.IBT_movimento_itemTIPODEMOVIMENTO.Value:=´S´;
bancos.IBT_movimento_itemDATA_MOVIMENTO.AsString:=maskedit1.Text;
bancos.IBT_movimento_itemQUANTIDADE.AsString:=edit3.Text;
bancos.IBT_movimento_itemVALOR.AsString:=edit4.Text;
bancos.IBT_movimento_item.Post;
bancos.IBT_movimento_item.ApplyUpdates;
bancos.IBT_movimento_item.Refresh;
bancos.IBT_movimento_item.Transaction.CommitRetaining;
bancos.IBT_produtos.Locate(´cod_produto´,bancos._id_produto_entrada,[]);
_saldo:= floattostr (bancos.IBT_produtosSALDO.Value);
bancos.IBT_produtos.Edit;
bancos.IBT_produtosSALDO.Value:=strtofloat (_saldo)- strtofloat(edit3.Text);
bancos.IBT_produtos.Post;
bancos.IBT_produtos.ApplyUpdates;
bancos.IBT_produtos.Refresh;
bancos.IBT_produtos.Transaction.CommitRetaining;
close;
end;
// showmessage(´Salva Saida´);
end;


Responder

Posts

26/12/2005

Caninha51

Pelo q pude perceber nunca o saldo vai ser menor q o _negativo, já q o _negativo é o saldo menos a quantidade da saida.

O certo seria tu avaliar o negativo...
if _negativo < 0 then
...

flw


Responder

26/12/2005

Chip_set

Pelo q pude perceber nunca o saldo vai ser menor q o _negativo, já q o _negativo é o saldo menos a quantidade da saida. O certo seria tu avaliar o negativo... if _negativo < 0 then ... flw


É verdade. muito obrigado valeu.


Responder