Ver Mensaje Individual
  #5  
Antiguo 26-02-2004
Giniromero Giniromero is offline
Miembro
 
Registrado: may 2003
Ubicación: Madrid
Posts: 296
Reputación: 22
Giniromero Va por buen camino
Hola,


Cita:
Empezado por cadetill
3.- Bueno, todo depende de lo que haga ese procedimiento. Si ha de hacer muchas cosas, pues sí, pero si es algo sencillo, debería ir ligero
El procedimiento es el siguiente, el cual ya puse en otro hilo por otro tema:

Código:
CREATE PROCEDURE PROECONOPAGO 
RETURNS (
    CODIGO INTEGER,
    NUMALU SMALLINT,
    NUMGRUP SMALLINT,
    FECHA TIMESTAMP,
    ASIENTO INTEGER,
    CONCEPTO VARCHAR(50),
    IMPDEBE NUMERIC(15,2),
    IMPHABER NUMERIC(15,2),
    FORPAGO SMALLINT,
    RECIBO VARCHAR(10),
    FACTURA VARCHAR(10),
    USUARIO VARCHAR(10),
    TIPO VARCHAR(1),
    EMPRESATXT VARCHAR(1),
    CONTROL VARCHAR(1))
AS
DECLARE VARIABLE VCODIGO INTEGER;
DECLARE VARIABLE VNUMALU SMALLINT;
DECLARE VARIABLE VNUMGRUP SMALLINT;
DECLARE VARIABLE VFECHA TIMESTAMP;
DECLARE VARIABLE VASIENTO INTEGER;
DECLARE VARIABLE VCONCEPTO VARCHAR(50);
DECLARE VARIABLE VIMPDEBE NUMERIC(15,2);
DECLARE VARIABLE VIMPHABER NUMERIC(15,2);
DECLARE VARIABLE VFORPAGO SMALLINT;
DECLARE VARIABLE VRECIBO VARCHAR(10);
DECLARE VARIABLE VFACTURA VARCHAR(10);
DECLARE VARIABLE VUSUARIO VARCHAR(10);
DECLARE VARIABLE VTIPO VARCHAR(1);
DECLARE VARIABLE VPRODUCTOGRUP VARCHAR(2);
DECLARE VARIABLE VEMPRESAPRO VARCHAR(1);
DECLARE VARIABLE VCONTROL VARCHAR(1);
begin
for select CODIGO, NUMALU, NUMGRUP, FECHA, ASIENTO, CONCEPTO, IMPDEBE, 
IMPHABER, FORPAGO, RECIBO, FACTURA, USUARIO, TIPO

from ECONO

order by numalu
into
:VCODIGO,:VNUMALU,:VNUMGRUP,:VFECHA,:VASIENTO,:VCONCEPTO,:VIMPDEBE,
:VIMPHABER, :VFORPAGO,:VRECIBO,:VFACTURA,:VUSUARIO,:VTIPO  do
begin
select  PRODUCTO from grupos where NUMGRUP =:vnumgrup  into  :vproductogrup ;
select  EMPRESA from produ where PRODUCTO=:vproductogrup  into :vempresapro;

  If (:vasiento <2 AND :vimpdebe <> 0 ) Then Begin

    CODIGO = :VCODIGO;
    NUMALU = :VNUMALU;
    NUMGRUP = :VNUMGRUP;
    FECHA = :VFECHA;
    ASIENTO = :VASIENTO;
    CONCEPTO = :VCONCEPTO;
    IMPDEBE = :VIMPDEBE;
    IMPHABER = :VIMPHABER;
    FORPAGO = :VFORPAGO;
    RECIBO = :VRECIBO;
    FACTURA = :VFACTURA;
    USUARIO = :VUSUARIO;
    TIPO = :VTIPO;
    EMPRESATXT = :vempresapro;
    CONTROL = :vcontrol;
    suspend;
    end
end
end
¿Esto se un procedimiento muy complicado?

Cita:
Empezado por cadetill
1.- Pues si lo tienes en relación de maestro/detalle, deberían actualizarse los demas TIBDatasets sin necesidad de un Close/Open
Pues, por algún motivo que no termino de determinar, cuando cambio el registro principal, los registros que me tienen que mostrar el resto de las tablas, dependientes de esta, no se actualizan. Me siguen mostrando los registros para el valor anterior de la tabla principal.


Cita:
Empezado por cadetill
2.- Yo creo que la actualización o no de los componentes DataAware no tiene nada que ver con el BookMark, pero podrías pobarlo. No obstante, éstos deberían de actualizarse solitos al hacer el Open del TIBDataSet
¿Tal vez no tenga que ver tanto con los bookmark como con los disable control?

No sé, he tenido que poner código extra que sé me relentiza la aplicación para asegurarme de cerrar y abrir despues las tablas, pero necesito solucionar esto, para que no me de problemas de lentitud.

GRacias

virginia
__________________
Sonrie al mundo, y el mundo te sonreirá :)

Última edición por Giniromero fecha: 26-02-2004 a las 17:03:12.
Responder Con Cita