Ir al contenido


Foto

[RESUELTO] ReportBuilder y los detalles, los condenados detalles.


  • Por favor identifícate para responder
8 respuestas en este tema

#1 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 15 marzo 2011 - 11:30

Compañer@s, un excelente día a todos y todas...

Les platico mi dilema. Tengo una pantalla realizada en Delphi 7 (¡¡¡SÍ, EN DELPHI 7!!!, medio arcaico pero me funciona...  ) que generará una lista de precios, en la cual se listarán de acuerdo a la selección del usuario ciertos acabados de pintura (en la imagen, el lado derecho). Una vez que el usuario selecciona un acabado, se hace "check" en la opción, la cual se integra a un archivo de memoria como un campo más (o menos, dependiendo si tiene o no el "check"); pero aquí es donde viene el detalle que me tiene vuelto loco...

Tengo un reporte realizado en ReportBuilder, ya tengo el encabezado, un grupo por el que se realizarán los cortes del reporte..., pero necesito integrar los campos del archivo de memoria que contiene los resultados del proceso al reporte. Se me opcurrió hacerlo con un ciclo de éste tipo:



delphi
  1. for i := 0 to TablaVirtual.FieldCount -1
  2.   ppReporte.Detail.AddColumn(campo[i];[/i]



Pero me marca un error que me imposibilita el continuar añadiendo columnas. ¿Alguna idea que pueda ayudarme?

Archivos adjuntos


  • 0

#2 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 15 marzo 2011 - 11:49

No veo el error que te da, quizas esta en  la segunda imagen ¿es el texto que aparece recuadrado en rojo, o ese rojo es parte del diseño del report?

Por otro lado, el trozo de código que envias parece icompleto, no veo el cierre del parentesis...



delphi
  1. for i := 0 to TablaVirtual.FieldCount -1
  2.   ppReporte.Detail.AddColumn(campo[i];[/i]



¿No debería ser así?



delphi
  1. for i := 0 to TablaVirtual.FieldCount -1
  2.   ppReporte.Detail.AddColumn(TablaVirtual.Fields[i]);



De todas formas, supongo que el error te viene de contar usando FieldCount pero luego lo que vas agregando es otra lista de campos "campo" que igual no tiene tantas columnas como FieldCount. ¿Es posible que campos solo contenga aquellos que el usuario ha marcado, pero FieldCount se refiera a todos los campos, marcados y sin marcar?

Es un tiro al aire, pero igual va y es eso...  :cool:
  • 0

#3 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 15 marzo 2011 - 12:16

Saludos.

@TiammatMX ¿Que versión de Report Builder tienes?

No encuentro ese método que estas utilizando.  Lo que hago es crear los Objetos at RunTime (TppLabel, TppDBText) sin problemas mayores.
  • 0

#4 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 15 marzo 2011 - 02:57

Saludos.

@TiammatMX ¿Que versión de Report Builder tienes?

No encuentro ese método que estas utilizando.  Lo que hago es crear los Objetos at RunTime (TppLabel, TppDBText) sin problemas mayores.


¡¡¡ROLPHY, ERES MI SALVACIÓN!!!, si tienes una muestra que me puedas prestar, te lo agradecería infinitamente.
  • 0

#5 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 15 marzo 2011 - 03:30

Rolphy, un favor..., ¿podrías contactarme en MSN? Necesito terminar hoy éste reporte, lo entrego mañana...  :embarrassed: :embarrassed:

Sé que no es lo normal en mí, pero estoy desesperadamente estresado.
  • 0

#6 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 15 marzo 2011 - 03:37

Saludos.

Acá en el trabajo tengo un bosquejo, en mi casa tengo algo un poco más acabado.

Inicialmente ya tienes tu componente TppReport, TppPipeline, TDataSource y TDataSet ya configurado.  En el reporteador creas las dos bandas: Header, Detail. Al TppReport la propiedad Units asignale utScreenPixels.

Luego tienes esto en Código:


delphi
  1. var
  2.   FFieldName : String;
  3.   lHeader: TppHeaderBand;
  4.   lDetail : TppDetailBand;
  5.   lLabel: TppLabel;
  6.   lDBText: TppDBText;
  7. begin
  8.   //Label
  9.   lLabel := TppLabel.Create(ppReporte);
  10.   lLabel.Band := lHeader;
  11.   lLabel.spLeft := 10;
  12.   lLabel.spTop := 5;
  13.   lLabel.AutoSize := True;
  14.   lLabel.Caption := FFieldName;
  15.  
  16.   //DbText
  17.   lDBText := TppDBText.Create(ppReporte);
  18.   lDBText.Band := lDetail;
  19.   lDBText.DataPipeline := ppPipeline;
  20.   lDBText.DataField := FFieldName;
  21.   lDBText.spLeft := lLabel.spLeft;
  22.   lDBText.spTop := 5;
  23.  
  24.   ppReporte.Print;




Con esto puedes empezar y yo continuo ayudandote (y).
  • 0

#7 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 16 marzo 2011 - 06:17

Saludos.

@TiammatMX, ¿En que quedo esto?, ¿Pudiste resolver?
  • 0

#8 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 16 marzo 2011 - 08:41

Saludos.

@TiammatMX, ¿En que quedo esto?, ¿Pudiste resolver?


Pues gracias a tu ayuda, terminado, resuelto y por entregar. Muchas gracias, Rolphy, y seguramente en una de ésas te andaré dando lata por ReportBuilder.
  • 0

#9 Rolphy Reyes

Rolphy Reyes

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.092 mensajes
  • LocationRepública Dominicana

Escrito 16 marzo 2011 - 08:43


Saludos.

@TiammatMX, ¿En que quedo esto?, ¿Pudiste resolver?


Pues gracias a tu ayuda, terminado, resuelto y por entregar. Muchas gracias, Rolphy, y seguramente en una de ésas te andaré dando lata por ReportBuilder.


Saludos.

Mientras tenga el conocimiento, no se preocupe que estaremos dándole una manita! (y)
  • 0




IP.Board spam blocked by CleanTalk.