Fórum esquema cliente - servidor #297595
28/09/2005
0
quando eu faço uma tela de lançamento, tipo uma de vendas, pedido e itens... quando eu registro uma venda, dou um post no cdsvenda (clientdataset mestre). A chave primaria (codvenda) é incrementada através de trigger/generator, automaticamente.
Enquanto eu estou com meu cdsItens(detalhe) em edit mode colocando os itens, como eu recupero o codvenda do client que eu acabei de dar um post, pra colocar na chave estrangeira codvenda dos registros do meu cdsitens?
Grato!
Enquanto eu estou com meu cdsItens(detalhe) em edit mode colocando os itens, como eu recupero o codvenda do client que eu acabei de dar um post, pra colocar na chave estrangeira codvenda dos registros do meu cdsitens?
Grato!
Vitor Rubio
Curtir tópico
+ 0
Responder
Posts
28/09/2005
Crash
simples.. deixe para dar applyupdates no fim de tudo. sete o valor do campo codigo para 0 e na key da tabela delhes tb 0... e coloque um tigger no affterinsert:
de um applyupdates nas duas tabelas logo que confirmar a venda toda. No caso de transacoes e ibx vc simplismente usaria cacheupdates = true nas querys.
t+
new.codigo = gen_id(gen_vendas, 1); update itens_vendas set codVenda = new.codigo where codvenda = 0;
de um applyupdates nas duas tabelas logo que confirmar a venda toda. No caso de transacoes e ibx vc simplismente usaria cacheupdates = true nas querys.
t+
Responder
Gostei + 0
29/09/2005
Vitor Rubio
eu tenho uma trigger parecida com essa, para incrementar o codvenda, só que no BEFORE INSERT, no after insert eu nunca usei. Será que dá mesmo pra recuperar o código antes ... antes de dar o applyupdates e o commitrtaining na transaction?
preciso pegar o código antes de dar applyupdates na venda e antes de dar apply nos itens, enquanto estiver dando post neles...
Se der pra fazer isso que você falou, resolveu um moooooonte de problemas meus e meus programas vão ficar mais rápidos ^^
preciso pegar o código antes de dar applyupdates na venda e antes de dar apply nos itens, enquanto estiver dando post neles...
Se der pra fazer isso que você falou, resolveu um moooooonte de problemas meus e meus programas vão ficar mais rápidos ^^
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)