public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport() { rpRecibo rpt = new rpRecibo(); rpt.Site = this.Site; return(rpt); }
private void ImprimirRecibo(object xRecibo, Hashtable xSaldos) { Recibo R = (Recibo)xRecibo; DataTable Table = new DataTable("Recibo"); DataColumn ColSer = Table.Columns.Add("Serie", Type.GetType("System.String")); DataColumn ColNum = Table.Columns.Add("Numero", Type.GetType("System.String")); DataColumn ColPesos = Table.Columns.Add("Importe", Type.GetType("System.Decimal")); foreach (object O in R.Movimientos()) { DataRow RM = Table.NewRow(); RM["Serie"] = ((MovimientoRecibo)O).Serie; RM["Numero"] = ((MovimientoRecibo)O).Numero.ToString(); RM["Importe"] = ((MovimientoRecibo)O).Importe; Table.Rows.Add(RM); } ReportDocument rptDoc; rptDoc = new rpRecibo(); rptDoc.PrintOptions.PrinterName.ToString(); TextObject Campo; Campo = (TextObject)rptDoc.ReportDefinition.ReportObjects["txtSerie"]; Campo.Text = R.Serie; Campo = (TextObject)rptDoc.ReportDefinition.ReportObjects["txtNumero"]; Campo.Text = R.Numero.ToString(); Campo = (TextObject)rptDoc.ReportDefinition.ReportObjects["txtNombre"]; Campo.Text = R.Cliente.Nombre; Campo = (TextObject)rptDoc.ReportDefinition.ReportObjects["txtIdCliente"]; Campo.Text = R.Cliente.IdCliente.ToString(); Campo = (TextObject)rptDoc.ReportDefinition.ReportObjects["txtMoneda"]; Campo.Text = R.DescripcionMoneda(); Campo = (TextObject)rptDoc.ReportDefinition.ReportObjects["txtFecha"]; Campo.Text = R.Fecha.ToShortDateString(); Campo = (TextObject)rptDoc.ReportDefinition.ReportObjects["lblSubFijo"]; Campo.Text = R.SubFijo(); Campo = (TextObject)rptDoc.ReportDefinition.ReportObjects["txtSaldoP"]; Campo.Text = String.Format(CultureInfo.InvariantCulture, "{0:0,0.00}", xSaldos[1]); Campo = (TextObject)rptDoc.ReportDefinition.ReportObjects["txtSaldoD"]; Campo.Text = String.Format(CultureInfo.InvariantCulture, "{0:0,0.00}", xSaldos[2]); Campo = (TextObject)rptDoc.ReportDefinition.ReportObjects["txtRut"]; if (R.Cliente.Rut.Length > 10 && R.Cliente.Rut.Length < 13) { Campo.Text = R.Cliente.Rut; } else { Campo.Text = R.Cliente.Cedula; } rptDoc.SetDataSource(Table); rptDoc.PrintToPrinter(0, false, 0, 0); }