| Exibir mensagem anterior :: Exibir próxima mensagem |
| Autor |
Mensagem |
gutopanda Aprendiz

Registrado: Sábado, 30 de Março de 2013 Mensagens: 107 Localização: Botucatu
|
Enviada: Sex Abr 26, 2013 4:06 pm Assunto: Baixar estoque ao encerrar pedido - Resolvido |
|
|
Meu sistema já está quase pronto, porem estou com uma duvida quanto a emissão de pedidos, quando encerro o pedido queria que baixasse o estoque. Fiz o codigo abaixo, mas baixa somente o primeiro item, acho que devo usar algo como while eof. Alguem tem alguma ideia para em ajudar.
| Código: | DataModule1.SimpleDataSetProdutos.Open;
DataModule1.SimpleDataSetProdutos.Edit;
DataModule1.SimpleDataSetProdutos.FieldByName('ESTATU').AsFloat :=
DataModule1.SimpleDataSetProdutos.FieldByName('ESTATU').AsFloat -
DataModule1.SimpleDataSetItens.FieldByName('QTVENDA').AsFloat;
DataModule1.SimpleDataSetProdutos.Post;
DataModule1.SimpleDataSetProdutos.Close; |
Obrigado
Editado pela última vez por gutopanda em Qua Mai 22, 2013 2:50 pm, num total de 1 vez |
|
| Voltar ao Topo |
|
 |
syler Profissional

Registrado: Segunda-Feira, 25 de Fevereiro de 2008 Mensagens: 734 Localização: Apucarana - Norte do Paraná
|
Enviada: Sex Abr 26, 2013 5:33 pm Assunto: Re: Baixar estoque ao encerrar pedido |
|
|
ja tentou fazer um while com os ites ????? _________________ Alex Sandro de Oliveira
Analista Programador Delphi
Freelancer
Estudante de Desenvolvimento Web, Marketing Digital e Designer Gráfico na Udemy |
|
| Voltar ao Topo |
|
 |
gutopanda Aprendiz

Registrado: Sábado, 30 de Março de 2013 Mensagens: 107 Localização: Botucatu
|
Enviada: Sex Abr 26, 2013 6:26 pm Assunto: |
|
|
Até tentei o codigo abaixo, porem não funciona. Não baixa nada.
| Código: | While not DataModule1.SimpleDataSetItens.Eof do
begin
DataModule1.SimpleDataSetProdutos.Open;
DataModule1.SimpleDataSetProdutos.Edit;
DataModule1.SimpleDataSetProdutos.FieldByName('ESTATU').AsFloat :=
DataModule1.SimpleDataSetProdutos.FieldByName('ESTATU').AsFloat -
DataModule1.SimpleDataSetItens.FieldByName('QTVENDA').AsFloat;
DataModule1.SimpleDataSetProdutos.Post;
DataModule1.SimpleDataSetItens.Next;
DataModule1.SimpleDataSetProdutos.Close;
end; |
|
|
| Voltar ao Topo |
|
 |
syler Profissional

Registrado: Segunda-Feira, 25 de Fevereiro de 2008 Mensagens: 734 Localização: Apucarana - Norte do Paraná
|
Enviada: Sex Abr 26, 2013 7:17 pm Assunto: |
|
|
E se voce usar um pra fazer eof e outro pra ir recebendo os valores da baixa? por que ai nao teria que gravar, talvez ai seja o erro, quando se grava esta perdendo a posicao ou fechando a transacao. _________________ Alex Sandro de Oliveira
Analista Programador Delphi
Freelancer
Estudante de Desenvolvimento Web, Marketing Digital e Designer Gráfico na Udemy |
|
| Voltar ao Topo |
|
 |
gutopanda Aprendiz

Registrado: Sábado, 30 de Março de 2013 Mensagens: 107 Localização: Botucatu
|
Enviada: Sex Abr 26, 2013 9:51 pm Assunto: |
|
|
| Poderia me dar um exemplo de como faria isto? |
|
| Voltar ao Topo |
|
 |
syler Profissional

Registrado: Segunda-Feira, 25 de Fevereiro de 2008 Mensagens: 734 Localização: Apucarana - Norte do Paraná
|
Enviada: Sex Abr 26, 2013 11:08 pm Assunto: |
|
|
Use um componentes para salvar os itens, e outro para ir atualizando o estoque dos produtos.
por exemplo:
| Código: |
compconsulta.First;
while compconsulta.eof do
begin
compAtuBanco.Close;
compAtuBanco.parambyname(`codigoproduto`).asinteger := compconsulta.fieldbyname(`codigoproduto`).asinteger;
compAtuBanco.Open;
compAtuBanco.edit;
compAtuBanco.fieldbyname(`qtestoque`).asfloat := compAtuBanco.fieldbyname(`qtestoque`).asfloat + compconsulta.fieldbyname(`codigoproduto`).asfloat;
compAtuBanco.post;
compconsulta.next;
end; |
espero que tenha entendido a logica.
falou _________________ Alex Sandro de Oliveira
Analista Programador Delphi
Freelancer
Estudante de Desenvolvimento Web, Marketing Digital e Designer Gráfico na Udemy |
|
| Voltar ao Topo |
|
 |
|