PDA

Ver la Versión Completa : QuickReport... se puede hacer un GroupHeader con variables ?


oscarac
11-03-2011, 15:37:18
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"

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


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

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


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