private void BT_IMPRIMIR_Click(object sender, EventArgs e)
        {
            if (bs != null)
            {
                if (bs.List != null)
                {
                    var ficha = new OOB.Reportes.Libro.Mayor.Ficha();
                    var ls    = (List <OOB.Contable.Cuenta.Balance>)bs.List;
                    var data  = ls.Select(m =>
                    {
                        return(new OOB.Reportes.Libro.Mayor.Item()
                        {
                            Comprobante = m.Comprobante,
                            Fecha = m.Fecha,
                            TipoAsiento = m.TipoAsiento,
                            MontoDebe = m.MontoDebe,
                            MontoHaber = m.MontoHaber,
                            TipoDocumento = m.TipoDocumento,
                        });
                    }
                                          ).ToList();
                    ficha.Cuenta = filtro.Cta;
                    ficha.Data   = data;
                    ficha.Desde  = filtro.Desde;
                    ficha.Hasta  = filtro.Hasta;
                    ficha.Saldo  = Saldo;

                    Globals.MyReports.Libro_Mayor(ficha, DatosNegocio);
                }
            }
        }
        public void Libro_Mayor(OOB.Reportes.Libro.Mayor.Ficha data,
                                OOB.Empresa.DatosNegocio.Ficha negocio)
        {
            var pt    = AppDomain.CurrentDomain.BaseDirectory + @"Report\LibroMayor.rdlc";
            var ds    = new Contable();
            var saldo = data.Saldo;

            foreach (var it in data.Data.OrderBy(o => o.Comprobante))
            {
                DataRow r = ds.Tables["LibroMayor"].NewRow();
                r["TipoAsiento"]   = it.TipoAsiento;
                r["Comprobante"]   = it.Comprobante;
                r["Fecha"]         = it.Fecha;
                r["TipoDocumento"] = it.TipoDocumento;
                r["MontoDebe"]     = it.MontoDebe;
                r["MontoHaber"]    = it.MontoHaber;
                r["Saldo"]         = saldo + (it.MontoDebe - it.MontoHaber);
                saldo += (it.MontoDebe - it.MontoHaber);
                ds.Tables["LibroMayor"].Rows.Add(r);
            }

            var desdeHasta = "Desde: " + data.Desde.ToShortDateString() + Environment.NewLine + "Hasta: " + data.Hasta.ToShortDateString();
            var pmt        = new List <ReportParameter>();

            pmt.Add(new ReportParameter("RifNegocio", negocio.Rif));
            pmt.Add(new ReportParameter("NombreNegocio", negocio.NombreRazonSocial));
            pmt.Add(new ReportParameter("CtaCodigo", data.Cuenta.Cuenta));
            pmt.Add(new ReportParameter("DesdeHasta", desdeHasta));
            pmt.Add(new ReportParameter("SaldoInicial", data.Saldo.ToString()));
            var Rds = new List <ReportDataSource>();

            Rds.Add(new ReportDataSource("LibroMayor", ds.Tables["LibroMayor"]));
            var frp = new FReporte();

            frp.rds   = Rds;
            frp.Path  = pt;
            frp.prmts = pmt;
            frp.ShowDialog();
        }