Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   QuickReport... se puede hacer un GroupHeader con variables ? (https://www.clubdelphi.com/foros/showthread.php?t=72782)

oscarac 11-03-2011 15:37:18

QuickReport... se puede hacer un GroupHeader con variables ?
 
buenos dias
estoy realizando un reporte el cual debe "quebrar" de acuerdo a los digitos que se solicite previamente (en un form)

cuando coloco lo siguiente en "Expression"
Código Delphi [-]
qryBalanceIntegralGasto.Cuenta

el reporte me "quiebra" por la cuenta, lo que me gustaria es que el reporte quiebre de acuerdo a el "nivel" de la cuenta

Código Delphi [-]
 
Copy (qryBalanceIntegralGasto.Cuenta,1, StrtoInt(frmBalanceIntegral.edtDigito.Text))

pero no me funciona :(

alguien tuviera una idea?.... mientras seguire probando

gracias por la atencion

oscarac 11-03-2011 17:19:18

les cuento que ya lo solucione con un truco (al menos el que se me ocurrio)
en la instruccion del query es que "capturo" la cuenta al nivel que quiero y luego hago el quiebre por ese campo
Código Delphi [-]
StrSql := 'select Left(CG.cuenta, ' + edtDigito.Text + ') As CNivel, CG.Cuenta, P.Descripcion , ' +
             'Sum (Enero) As m01, ' +
             'Sum (Febrero) As m02, ' +
             'Sum (Marzo) As m03, ' +
...
...
...
             'From tblCuentaGasto CG ' +
             'Left Join tblPlanContable P on CG.Empresa = P.Empresa and CG.Periodo = P.Periodo and CG.Cuenta = P.Cuenta ' +
               ' where CG.Empresa = ' + QuotedStr(dmGlobal.g_CodigoEmpresa) + ' and CG.Periodo = ' + QuotedStr(Copy(dmGlobal.g_Periodo,1,4)) +
               ' group by  Left(CG.CUENTA, ' + edtDigito.Text + '), CG.Cuenta, P.Descripcion'

ahora me sale otra pregunta... (q seguire investigando)

me gustaria que si los digitos de la cuenta (edtDigito.Text) sea igual al nivel maximo de la cuenta... entonces no haga el quiebre...
se podra?

oscarac 11-03-2011 17:38:49

me emociona descubrir que puedo solucionar los temas con un poco de ingenio

ya solucione el segundo tema

Código Delphi [-]
procedure TqrBalanceIntegralGasto.QuickRepBeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
begin
  if Length(Trim(qryBalanceIntegralGastoCNivel.AsString)) = StrToInt(AnsiRightStr(dmGlobal.g_nivelCuenta,1)) then
    QRGroup1.Expression := '';
end;

Simplemente antes de la impresion pregunte si el nivel solicitado era igual al nivel maximo de la cuenta si e asi borro la expresion en el Group :):)

les dejo los comentarios quiza a alguien le pueda ayudar

saludos

ElKurgan 12-03-2011 10:14:42

Muchas gracias... Las soluciones de uno siempre son de mucha ayuda para otros

Saludos


La franja horaria es GMT +2. Ahora son las 06:50:13.

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