Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Me desaparecen los datos.... (https://www.clubdelphi.com/foros/showthread.php?t=54252)

salvanano 12-03-2008 18:19:41

Me desaparecen los datos....
 
Buenas tardes gente...

Tengo un problemilla a la hora de imprimir.

Tengo una ventana en la cual visualizo datos de una tabla a través de un Query. Y un botón en el cual previsualizo los datos en un Quickreport.

Mientras mantengo la venta donde visualizo los datos, si cambio de registros, se me previsualizan correctamente. El problema llega cuando cierro esa ventana y no salgo de la aplicación, cuando vuelvo a abrir la ventana e intentar previsualizar los datos estos no me salen.

Alguna idea de porque me ocurre esto?

Este es el código del Boton para previsualizar:

Código Delphi [-]
//CARGO LOS DATOS EN LA TABLA AUXILIAR PARA LA IMPRESION
Query1.Last;
For i:= 1 To Query1.RecordCount do
begin
Table4.Insert;
        if Query1.FieldByName('Cantidad').AsFloat = 0 then
        begin
        Table4.FieldByName('Cantidad').AsString:= '';
        Table4.FieldByName('Usum').AsString:= '';
        Table4.FieldByName('Total').AsString:= '';
        Table4.FieldByName('Descripcion').AsString:= Query1.FieldByName('Descripcion').AsString;
        Table4.FieldByName('Precio').AsString:= '';
        end else
        begin
        Table4.FieldByName('Cantidad').AsString:= FormatFloat(',0.00',Query1.FieldByName('Cantidad').AsFloat);
        Table4.FieldByName('Usum').AsString:= Query1.FieldByName('USUM').AsString;
        Table4.FieldByName('Descripcion').AsString:= Query1.FieldByName('Descripcion').AsString;
        Table4.FieldByName('Precio').AsString:= FormatFloat(',0.00',Query1.FieldByName('Precio').AsFloat);
        Table4.FieldByName('Total').AsString:= FormatFloat(',0.00', Query1.FieldByName('Cantidad').AsFloat * Query1.FieldByName('Precio').AsFloat);
        end;

Table4.Post;
Query1.Prior;
end;
//COMPRUEBO LAS CERTIFICACIONES PARA EL REPORTE
If Table1.FieldByName('Certificaciones').AsFloat = 0 then
begin
//MUESTRO LOS VALORES
Form10.QRLabel2.Caption:= 'IVA ' + FloatToStr(Table1.FieldByName('IvaAplica').AsFloat) + '% . . .';
Form10.QRLabel1.Caption:= Edit5.Text;
Form10.QRLabel4.Caption:= Edit6.Text;
Form10.QRLabel5.Caption:= Edit1.Text;
Form10.QRLabel6.Caption:= fecha;
Form10.QuickRep1.Preview;
end else
begin
//MUESTRO LOS VALORES
total:= Table1.FieldByName('total').AsFloat;
certificacion:= FormatFloat('#,##0.00',Table1.FieldByName('Total').AsFloat - Table1.FieldByName('Certificaciones').AsFloat);
Form11.QRLabel2.Caption:= certificacion;
Form11.QRLabel3.Caption:= 'IVA ' + FloatToStr(Table1.FieldByName('IvaAplica').AsFloat) + '% . . .';
Form11.QRLabel4.Caption:= Edit5.Text;
Form11.QRLabel5.Caption:= FormatFloat('###,###,##0.00', total*1.16 - Table1.FieldByName('Certificaciones').AsFloat);
Form11.QRLabel6.Caption:= 'RETENCION ' + FloatToStr(Table1.FieldByName('Retencion').AsFloat) + '% . . .';
Form11.QRLabel7.Caption:= Edit4.Text;
Form11.QRLabel8.Caption:= Edit6.Text;
Form11.QRlabel10.Caption:= Edit1.Text;
Form11.QRLabel11.Caption:= fecha;
Form11.QuickRep1.Preview;
end;

Caral 12-03-2008 18:51:18

Hola
Para mi se visualiza bien la primera vez por que Certificaciones es = a 0:
Código Delphi [-]
If Table1.FieldByName('Certificaciones').AsFloat = 0 then
Me parece que en la segunda presentacion (si se usa el mismo codigo y no se coloca el valor de Certificaciones en (0) el filtro con If hara que no se visualice ya que Certificaciones no sera igual a 0.
Bueno, es lo que se me ocurre de momento.
Saludos

salvanano 12-03-2008 19:00:12

Ese codigo chequea los datos para abrir una ventana u otra.

Y esa no es la cuestión porque cuando abro por primera vez la ventana, aunque cambie de registro visualizo perfectamente los datos. El problema viene cuando sigo trabajando con la aplicación y vuelvo a abrir la ventana, previsualizo los datos y ahí es cuando falla. No muestra nada, solo los QRLabels.

No se si el problema es de la ventana donde veo los datos o bien de los reportes....


Saludos y gracias por tu respuesta

salvanano 12-03-2008 19:19:31

Creo que he descubierto cual es el problema.

La cuestión es que mi aplicación utiliza forms fsMDChild, y para cerrarlas utilizo el siguiente código:

Código Delphi [-]
Action:= caFree;
Form6:= nil;
Form1.MainMenu1.Items[3].Items[0].Enabled:= True;

Si comento la primera línea me funciona, pero si hago eso siempre se me queda una pequeña barra de título en el margen inferior de la ventana principal.

Como puedo cerrar dichas ventanas sin que me afecte a esto?

saludos... y graicas de antemano


La franja horaria es GMT +2. Ahora son las 05:37:59.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi