protected void BuscarButton_Click(object sender, EventArgs e) { if (Funciones.SessionTimeOut(Session)) { Response.Redirect("~/SessionTimeout.aspx"); } else { try { MensajeLabel.Text = ""; bool monedasExtranjeras = false; Entidades.Sesion sesion = (Entidades.Sesion)Session["Sesion"]; List <Entidades.StockXArticuloDetalle> listaS = new List <Entidades.StockXArticuloDetalle>(); listaS = RN.Comprobante.ListaStock(FechaHastaTextBox.Text, sesion); Entidades.StockXArticulo stock = new Entidades.StockXArticulo(); stock.Cuit = sesion.Cuit.Nro; stock.RazSoc = sesion.Cuit.RazonSocial; //stock.PeriodoDsd = FechaDesdeTextBox.Text.Substring(6, 2) + "/" + FechaDesdeTextBox.Text.Substring(4, 2) + "/" + FechaDesdeTextBox.Text.Substring(0, 4); stock.PeriodoHst = FechaHastaTextBox.Text.Substring(6, 2) + "/" + FechaHastaTextBox.Text.Substring(4, 2) + "/" + FechaHastaTextBox.Text.Substring(0, 4); stock.StockXArticuloDetalle = listaS; Session["formatoRptExportar"] = FormatosRptExportarDropDownList.SelectedValue; Session["mostrarFechaYHora"] = FechaYHoraCheckBox.Checked; Session["mostrarDetalleComprobantes"] = DetalleComprobanteCheckBox.Checked; Session["monedasExtranjeras"] = monedasExtranjeras; if (stock.StockXArticuloDetalle.Count != 0) { Session["stockXArticulo"] = stock; Response.Redirect("~/Facturacion/Electronica/Reportes/StockXArticuloWebForm.aspx", true); } else { MensajeLabel.Text = "No hay información."; } } catch (System.Threading.ThreadAbortException) { Trace.Warn("Thread abortado"); } catch (Exception ex) { WebForms.Excepciones.Redireccionar(ex, "~/NotificacionDeExcepcion.aspx"); } } }
protected void Page_Init(object sender, EventArgs e) { try { var culture = System.Globalization.CultureInfo.CreateSpecificCulture("en-GB"); culture.NumberFormat.CurrencySymbol = string.Empty; System.Threading.Thread.CurrentThread.CurrentCulture = culture; System.Threading.Thread.CurrentThread.CurrentUICulture = culture; base.InitializeCulture(); string lcomp = Server.MapPath("~/Facturacion/Electronica/Reportes/Stock_XArticulo.xsd"); System.IO.File.Copy(lcomp, @System.IO.Path.GetTempPath() + "Stock_XArticulo.xsd", true); oRpt = new CrystalDecisions.CrystalReports.Engine.ReportDocument(); bool HayME = false; string reportPath = ""; if (Session["monedasExtranjeras"] != null) { HayME = (bool)Session["monedasExtranjeras"]; } if (!HayME) { reportPath = Server.MapPath("~/Facturacion/Electronica/Reportes/StockXArticulo.rpt"); } else { reportPath = Server.MapPath("~/Facturacion/Electronica/Reportes/StockXArticuloME.rpt"); } oRpt.Load(reportPath); Entidades.StockXArticulo stockXArticulo = new Entidades.StockXArticulo(); if (Session["stockXArticulo"] != null) { stockXArticulo = (Entidades.StockXArticulo)Session["stockXArticulo"]; DataSet ds = new DataSet(); XmlSerializer objXS = new XmlSerializer(stockXArticulo.GetType()); StringWriter objSW = new StringWriter(); objXS.Serialize(objSW, stockXArticulo); StringReader objSR = new StringReader(objSW.ToString()); ds.ReadXml(objSR); oRpt.SetDataSource(ds); } else { Response.Redirect("~/Facturacion/Electronica/Reportes/StockXArticuloFiltros.aspx", true); } string formatoRptExportar = ""; if (Session["formatoRptExportar"] != null) { formatoRptExportar = (string)Session["formatoRptExportar"]; } if (Session["mostrarFechaYHora"] != null) { if ((bool)Session["mostrarFechaYHora"] == false) { oRpt.DataDefinition.FormulaFields["MostrarFechaYHora"].Text = "'N'"; } } if (Session["mostrarDetalleComprobantes"] != null) { if ((bool)Session["mostrarDetalleComprobantes"] == false) { oRpt.DataDefinition.FormulaFields["MostrarDetalleComprobantes"].Text = "'N'"; } } oRpt.PrintOptions.PaperSize = CrystalDecisions.Shared.PaperSize.PaperLetter; oRpt.PrintOptions.PaperOrientation = CrystalDecisions.Shared.PaperOrientation.Portrait; //oRpt.DataDefinition.FormulaFields["RazSoc"].Text = "'" + ((Entidades.Sesion)Session["Sesion"]).Cuit.RazonSocial + "'"; if (formatoRptExportar == "") { CrystalReportViewer1.GroupTreeStyle.ShowLines = false; CrystalReportViewer1.HasToggleGroupTreeButton = false; CrystalReportViewer1.ToolPanelView = CrystalDecisions.Web.ToolPanelViewType.None; CrystalReportViewer1.ReportSource = oRpt; CrystalReportViewer1.HasPrintButton = true; } else { System.Text.StringBuilder sb = new System.Text.StringBuilder(); sb.Append(stockXArticulo.Cuit); sb.Append("-"); sb.Append(Convert.ToDateTime(stockXArticulo.PeriodoDsd).ToString("yyyyMMdd")); sb.Append("-"); sb.Append(Convert.ToDateTime(stockXArticulo.PeriodoHst).ToString("yyyyMMdd")); if (formatoRptExportar == "PDF") { CrystalDecisions.Shared.ExportOptions exportOpts = new CrystalDecisions.Shared.ExportOptions(); CrystalDecisions.Shared.PdfRtfWordFormatOptions pdfOpts = CrystalDecisions.Shared.ExportOptions.CreatePdfRtfWordFormatOptions(); exportOpts.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat; exportOpts.ExportFormatOptions = pdfOpts; oRpt.ExportToHttpResponse(exportOpts, Response, true, sb.ToString()); } if (formatoRptExportar == "Excel") { CrystalDecisions.Shared.ExportOptions exportOpts = new CrystalDecisions.Shared.ExportOptions(); CrystalDecisions.Shared.ExcelFormatOptions pdfOpts = CrystalDecisions.Shared.ExportOptions.CreateExcelFormatOptions(); exportOpts.ExportFormatType = CrystalDecisions.Shared.ExportFormatType.PortableDocFormat; exportOpts.ExportFormatOptions = pdfOpts; oRpt.ExportToDisk(CrystalDecisions.Shared.ExportFormatType.Excel, Server.MapPath("~/TempExcel/") + sb.ToString() + ".xls"); System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; response.ClearContent(); response.Clear(); response.ContentType = "application/vnd.ms-excel"; response.AddHeader("Content-Disposition", "attachment; filename=" + sb.ToString() + ".xls" + ";"); response.TransmitFile(Server.MapPath("~/TempExcel/" + sb.ToString() + ".xls")); response.Flush(); response.End(); } } } catch (System.Threading.ThreadAbortException) { Trace.Warn("Thread abortado"); } catch (Exception ex) { WebForms.Excepciones.Redireccionar(ex, "~/NotificacionDeExcepcion.aspx"); } }