Ir ao conteúdo
  • Cadastre-se

Tela de vendas - Delphi


Visitante: bianocam

Posts recomendados

Visitante: bianocam
 

Olá pessoal!

Estou desenvolvendo um sitema em Delphi 5.0 que controla o estoque de uma loa, além de fazer vendas no balcão. Como sou iniciante em Delhpi, ainda não encontrei a solução do meu problema que parece ser muito simples, mas não consegui desvendar o mistério ainda. Eis o problemas que surgem na tela de vendas:

1 - Ao digitar o código do produto, no DbGrid aparece os dados do produto que coloquei. Quando teclo no botão Novo, coloca o foco novamente no DBEdit, porém se eu digitar um código diferente do primeiro produto, o sistema substitui este código e coloca os dados do outro codigo. Se eu colocar o código do mesmo produto, o sistema aceita. O problema é sempre quando coloco códigos de produtos diferentes.

Abaixo estão os procedimentos que tenho no sistema:

Onexit do DbEdit Codigo

Procedure TformVendas.fldCodigoProdutoExit(Sender: TObject);

var

strCodigo : string;

begin

StrCodigo:=dmBaseDados.tblVendaCodigo.AsString;

if dmBasedados.tblProdutos.Locate('Codigo', strCodigo,[])

then

begin

dmBaseDados.tblvenda.Edit;

dmBaseDados.tblVendaValorunitario.AsFloat:= dmBaseDados.tblProdutosPreco.AsFloat;

dmBaseDados.tblVendaProduto.AsString := dmBaseDados.tblProdutosProduto.AsString;

fldQuantidade.SetFocus;

end

else

begin

Mensagem ('Codigo do produto não encontrado!');

fldCodigoProduto.Setfocus;

end;

end;

OnExit do DbEdit Quantidade

procedure TformVendas.fldQuantidadeExit(Sender: TObject);

var

fltValorTotal: Double;

begin

dmBaseDados.tblVenda.Edit;

dmBaseDados.tblVendaTotalProduto.AsFloat := dmBAseDados.tblVendaValorUnitario.AsFloat * dmBaseDados.tblvendaQuantidade.AsInteger;

dmBaseDados.tblVenda.Post;

dmBaseDados.tblVenda.DisableControls;

dmBaseDados.tblVenda.First;

fltValorTotal:= 0;

while (not dmBasedados.tblVenda.Eof) do

begin

fltValorTotal := fltValorTotal + dmBaseDados.tblVendaValorTotal.AsFloat;

dmBaseDados.tblVenda.Next;

end;

dmBaseDados.tblVenda.EnableControls;

lblTotalVenda.Caption := FloatToStr (fltValorTotal);

end;

Procedimento do botão Novo

procedure TformVendas.btnNovoClick(Sender: TObject);

var

strCodigo, strQuantidade: string;

intValorTotal, intQtde, intQtdeEstoque: integer;

begin

dmBaseDados.tblVenda.Append;

dmBaseDados.tblVendaData.AsDateTime := Date;

dmBaseDados.tblVenda.Post;

fldCodigoProduto.SetFocus;

end;

Por favor me ajudem, estou faltando apenas isto para terminar meu sistema!

Link para o comentário
Compartilhar em outros sites

  • 7 meses depois...

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!