Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Problema con expresion en FastReport (https://www.clubdelphi.com/foros/showthread.php?t=63030)

jcarteagaf 26-01-2009 22:36:43

Problema con expresion en FastReport
 
Hola amigos del Foro, tengo el siguiente problema con una reporte hecho en FastReport: Mi reporte genera un informe que puede estar expresado en 1 de 3 monedas, de acuerdo a esto el usuario elige la moneda en la que desea ver el informe (inicialmente la información es desplegada en un Grid, por lo que el usuario puede elegir mas de una moneda a la vez para visualizar esta info, sin embargo en el reporte solo se imprime una)

Uso el siguiente codigo para modificar el reporte para imprima el detalle segun la moneda elegida:
Código Delphi [-]
var
  fmvDebe,fmvHaber,fmvSaldo : TfrxMemoView;
  fmvDebeCaption,fmvHaberCaption,fmvSaldoCaption  : TfrxMemoView;
  sSimbolo : string;
begin
  inherited;
  sMoneda := GetMoneda();  // Obtiene la moneda elegida (solo una)
  sDebe   := 'DEBE'+sMoneda;  // Crea el nombre del campo segun la moneda
  sHaber  := 'HABER'+sMoneda;
  sSaldo  := 'SALDO'+sMoneda;

  case sMoneda of
  'B' : sSimbolo := 'Bs.';
  'D' : sSimbolo := '$us';
  'E' : sSimbolo := 'Euro';
  'F' : sSimbolo := 'UFV';
  end;

  with frxReporte do
  begin
    fmvDebe := FindObject('fmvDebe') as TfrxMemoView;  // obtiene el objeto
    fmvHaber := FindObject('fmvHaber') as TfrxMemoView;
    fmvSaldo := FindObject('fmvSaldo') as TfrxMemoView;

    fmvDebe.DataField  := sDebe;
    fmvHaber.DataField := sHaber;
    fmvSaldo.DataField := sSaldo;

    fmvDebeCaption := FindObject('fmvDebeCaption') as TfrxMemoView;
    fmvHaberCaption := FindObject('fmvHaberCaption') as TfrxMemoView;
    fmvSaldoCaption := FindObject('fmvSaldoCaption') as TfrxMemoView;

    fmvDebeCaption.Text := 'Debe '+sSimbolo;
    fmvHaberCaption.Text := 'Haber '+sSimbolo;
    fmvSaldoCaption.Text := 'Saldo '+sSimbolo;

Hasta ahi todo funciona bien, sin embargo no puedo hacer lo mismo con los totales y subtotales, uso un TfrxSysMemoView con el siguiente formato : [SUM(<Tabla."DebeB">,MasterData2)], al querer realizar una operación parecida a la anterior (reemplazando el nombre del campo por el campo adecuado segun la moneda elegida) no se muestra el valor sino el texto mismo de la funcion: SUM(<.....

Podrian darme un tip para poder realizar esta operación.

Gracias de antemano por su tiempo.

Saludos

jhonny 26-01-2009 23:31:14

Podría ser que tu TfrxSysMemoView no este aceptando expresiones, por lo que deberías verificarlo, haciendo click derecho sobre dicho objeto y mirando que la opción "Permitir expresiones" este activa.

jhonny 26-01-2009 23:36:53

Ademas, verifica que al reemplazar la formula, realmente quede encerrada dentro de los corchetes [Sum<...>]

jcarteagaf 27-01-2009 11:10:45

Gracias Jhonny por tus respuestas, efectivamente el control tiene activa la opcion Permitir expresiones y he probado de ambas formas con corchetes y sin ellos y aun no funciona....alguna otra sugerencia?

Nuevamente gracias por su tiempo.

Saludos

jhonny 27-01-2009 13:05:50

Cita:

Empezado por jcarteagaf (Mensaje 336047)
Gracias Jhonny por tus respuestas, efectivamente el control tiene activa la opcion Permitir expresiones y he probado de ambas formas con corchetes y sin ellos y aun no funciona....alguna otra sugerencia?

Nuevamente gracias por su tiempo.

Saludos

Prueba cambiando el TfrxSysMemoView por un TfrxMemoView normalito... si no funciona, muestranos el pedazo de codigo, donde haces ese cambio.


La franja horaria es GMT +2. Ahora son las 21:59:58.

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