コード例 #1
0
        public void MakeReport(Object Sender, EventArgs E)
        {
            DatasForReport balGen = new DatasForReport(reportTitle);

            ds = balGen.GetDatas(false, GetParams());
            //3 tablas:
            // 1. mcue_codipuc, mcue_nombre, tnat_codigo, timp_codigo FROM mcuenta
            // 2. mcuenta.mcue_codipuc as CODIGO, mcuenta.mcue_nombre as NOMBRE, parcial=msal_valodebi-msal_valocred o msal_valocred-msal_valodebi WHERE mcuenta.mcue_codipuc=msaldocuenta.mcue_codipuc AND msaldocuenta.pano_ano=@ AND msaldocuenta.pmes_mes<=@ AND mcuenta.timp_codigo in ('N','P','@') AND mcuenta.tcla_codigo='R'
            // 3. mauxiliarcuenta.mcue_codipuc as COD, mauxiliarcuenta.mnit_nit as NIT, mnit.mnit_nombres+mnit.mnit_apellidos as NOMBRE, DETALLE = mauxiliarcuenta.maux_valodebi-mauxiliarcuenta.maux_valocred o mauxiliarcuenta.maux_valocred-mauxiliarcuenta.maux_valodebi FROM mcuenta, mauxiliarcuenta, mnit WHERE mauxiliarcuenta.mnit_nit=mnit.mnit_nit AND mcuenta.mcue_codipuc=mauxiliarcuenta.mcue_codipuc AND mauxiliarcuenta.pano_ano=@ AND mauxiliarcuenta.pmes_mes<=@ AND mauxiliarcuenta.mnit_nit != '@'
            //reportInfo.Text=ds.Tables.Count.ToString();
            Press frontEnd = new Press(ds, reportTitle);

            frontEnd.PreHeader(tabPreHeader, report.Width, pr);
            frontEnd.Firmas(tabFirmas, report.Width);
            frontEnd.SourceFieldTitles(balGen.PressFields);
            tbReport = frontEnd.TbReport;
            ArrayList arC = new ArrayList();
            ArrayList arV = new ArrayList();

            DataRow[] rows;
            int       l;

            for (i = 0; i < ds.Tables[1].Rows.Count; i++)
            {
                Inserta(arC, ds.Tables[1].Rows[i][0].ToString(), Convert.ToDouble(ds.Tables[1].Rows[i][2]), arV);
                if (ds.Tables[1].Rows[i][3].ToString().ToUpper() == "D")
                {
                    TDeb += Convert.ToDouble(ds.Tables[1].Rows[i][2]);
                }
                if (ds.Tables[1].Rows[i][3].ToString().ToUpper() == "C")
                {
                    TCred += Convert.ToDouble(ds.Tables[1].Rows[i][2]);
                }
            }
            for (i = 0; i < arC.Count; i++)
            {
                l     = arC[i].ToString().Length;
                dr    = tbReport.NewRow();
                dr[0] = arC[i].ToString();
                rows  = ds.Tables[0].Select("MCUE_CODIPUC = '" + arC[i].ToString() + "'");
                try{ dr[1] = rows[0][1]; }catch {};
                if (l < 3)
                {
                    dr[5] = ((double)arV[i]).ToString();
                }
                else
                if (l == 4)
                {
                    dr[4] = ((double)arV[i]).ToString();
                }
                else
                if (l == 6)
                {
                    dr[3] = ((double)arV[i]).ToString();
                }
                else
                {
                    dr[2] = ((double)arV[i]).ToString();
                }
                if (((double)arV[i]) != 0)
                {
                    tbReport.Rows.Add(dr);
                }
            }
            frontEnd.PressFieldTitles(report);
            DataView  dv    = frontEnd.SortWithNextField(3, 0);
            DataTable dtTmp = dv.Table;

            if (values[2] == "A")
            {
                report.DataSource = SetAux(dv, 0);
                report.DataBind();
            }
            else if (values[2] == "D")
            {
                report.DataSource = SetAux(dv, 14);
                report.DataBind();
            }
            else if (values[2] == "G")
            {
                report.DataSource = SetAux(dv, 6);
                report.DataBind();
            }
            else if (values[2] == "M")
            {
                report.DataSource = SetAux(dv, 4);
                report.DataBind();
            }
            StringBuilder  SB     = new StringBuilder();
            StringWriter   SW     = new StringWriter(SB);
            HtmlTextWriter htmlTW = new HtmlTextWriter(SW);

            tabPreHeader.RenderControl(htmlTW);
            report.RenderControl(htmlTW);
            tabFirmas.RenderControl(htmlTW);
            string strRep;

            strRep = SB.ToString();
            Session.Clear();
            Session["Rep"]      = strRep;
            toolsHolder.Visible = true;
        }