Fita
22-04-2008, 13:50:39
Hola a todos...
Mi problema es el siguiente:
Mi aplicacion es un sistema de facturacion, con una tabla maestra (cabecera del pedido) y una detalle (con los items cargados). Un provider para cada una y un clientdataset para cada provider. El sistema puede dejar pedidos pendientes, lo que permite una posterior modificación.
Cuando cargan un pedido voy grabando en un campo el n° de item. Cuando llaman a un pedido pendiente y borran un item, el sistema renumera los items cargados. la rutina es así:
nItem := 1;
while not TablaDetalle.eof do // es el clientdataset
begin
Tabladetalle.edit;
TabladetalleItem.value := nItem;
Tabladetalle.post;
TablaDetalle.next;
end;
Luego de esto el clientdataset queda parado en el ultimo registro.
Esto funciona perfecto, pero si vuelven a dejarlo pendiente tengo que hacer un ApplyUpdates(0) para actualizar los datos en el server. Bueno aca es donde falla...
Si se renumeran los items cargadaos Todos los registros de la tablaDetalle se actualizan con el ultimo registro del clientdataset. So no se renumeran los items anda perfecto.
Nota: El n° de item es para el delete:
delete from TablaDetalle where npedido = :npedido and item = nItem
Que puede pasar ?? alguna ayuda será bienvenida
Saludos
Fita
Delphi7 - FIBPlus 6.3
Mi problema es el siguiente:
Mi aplicacion es un sistema de facturacion, con una tabla maestra (cabecera del pedido) y una detalle (con los items cargados). Un provider para cada una y un clientdataset para cada provider. El sistema puede dejar pedidos pendientes, lo que permite una posterior modificación.
Cuando cargan un pedido voy grabando en un campo el n° de item. Cuando llaman a un pedido pendiente y borran un item, el sistema renumera los items cargados. la rutina es así:
nItem := 1;
while not TablaDetalle.eof do // es el clientdataset
begin
Tabladetalle.edit;
TabladetalleItem.value := nItem;
Tabladetalle.post;
TablaDetalle.next;
end;
Luego de esto el clientdataset queda parado en el ultimo registro.
Esto funciona perfecto, pero si vuelven a dejarlo pendiente tengo que hacer un ApplyUpdates(0) para actualizar los datos en el server. Bueno aca es donde falla...
Si se renumeran los items cargadaos Todos los registros de la tablaDetalle se actualizan con el ultimo registro del clientdataset. So no se renumeran los items anda perfecto.
Nota: El n° de item es para el delete:
delete from TablaDetalle where npedido = :npedido and item = nItem
Que puede pasar ?? alguna ayuda será bienvenida
Saludos
Fita
Delphi7 - FIBPlus 6.3