Fórum Help me #15983
21/02/2010
0
[#VIDEO-180#]
Carlos Faria
Curtir tópico
+ 0Posts
21/02/2010
Wesley Yamazack
Dica : ClientDataSet trabalha com DataPack, que são os dados transportados pelo Provider apartir de uma query, ou sejá os dados ficam em memória, toda e qualquer atualização que você fizer, só será processada em BD quando rolar o Applyupdates, ou seja se você mexer em 1 item, mudar o código de outro, adicionar 4 novos itens, alterar mais um, você terá uma pancada de mudanças, porém tudo isso em memória, sacou ? QUando usar o APpplyUpdates, ai sim todas estas alterações, inclusoes ou deleções vão ser executadas de uma vez só.
Este problema de jogar direto no Banco, é que você ao clicar no BtnNew, esta dando applyupdates em algum momento, não faça o applyupdates, so execute este comando quando for finalizar a venda, pois toda vez que você der o cdspadrao.post, os dados vão para o CLientDataSet, mas não para o Banco, então é só tirar ele.
Quanto ao número de itens você pode criar um field, e ir preenchendo ele da seguinte forma.
FIeldID := CDSPRoduto.RecordCount;
E toda vez que você der um novo, o recordCOunt contém o número de registros armazenados no CDS, sacou ?
Recomendações :
- Não deixe a Grid ser editada
- Não deixe incluir o item, sem ter todos os dados preenchidos
- Já pensou em como baixar Estoque ?
Acho que entendi o lance do ID de forma errada, mas vou deixar a dica de cima também. Por que não poderia ser auto incremento ? Toda vez que iniciar uma venda você tera um ID, o que você terá vários será o Item da venda, que é uma outra tabela, certo ? Um relacionamento mestre detalhe, é isso que você esta fazendo certo ?
FIco no aguardo
Um abraço
Wesley Y
Gostei + 0
21/02/2010
Carlos Faria
Gostei + 0
21/02/2010
Carlos Faria
Gostei + 0
22/02/2010
Wesley Yamazack
Seguinte seu modelo não esta muito bomm não, eu não faço assim, veja um exemplo de venda
Imagina so se você quiser salvar, informações dos produtos, naquela venda, sua tabela de venda ficaria muito poluida. Assim você tem um modelo mais limpo, e informações mais detalhadas e organizadas.
Porém terá que trabalhar com mestre detalhe usando ClientDataSet para fazer isso, que não é dificil.
Um abraço
Wesley Y
Gostei + 0
23/02/2010
Carlos Faria
Gostei + 0
23/02/2010
Wesley Yamazack
Att,
Wesley Y
Gostei + 0
25/02/2010
Carlos Faria
Gostei + 0
01/03/2010
Wesley Yamazack
Desculpe a demora, mas é que estamos com muitos chamados uma demanda muito grande, desculpe mais uma vez.
O exemplo que o Rodrigo lhe passou, é sobre mester detalhe certo ? Independente de ser sistema grande ou pequeno, o mestre detalhe funciona da mesma forma, e nele o ID_Venda é passado para tabela ItemVenda, automaticamente.
Um abraço
Wesley Y
Gostei + 0
02/03/2010
Carlos Faria
Gostei + 0
03/03/2010
Wesley Yamazack
Chamado fechado
Um abraço
Wesley Y
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)