protected void ShowStandardReport(Library.Store.QueryConditions conditions) { ExpedientInfo expediente_ini = Rango_RB.Checked ? _expediente_ini : null; ExpedientInfo expediente_fin = Rango_RB.Checked ? _expediente_fin : null; ExpedientReportMng reportMng = new ExpedientReportMng(AppContext.ActiveSchema, this.Text, GetFilterValues()); if (PorExpediente_RB.Checked) { MovimientosStockListPorExpedienteRpt rpt = null; if (TodosExpediente_RB.Checked) { rpt = reportMng.GetMovimientosStockListAgrupado(ExpedienteList.GetList(conditions.TipoExpediente, false), conditions.Producto, SerieInfo.New(conditions.Serie.Oid), _report_filter, _report_format); } else if (Seleccion_RB.Checked) { rpt = reportMng.GetMovimientosStockListAgrupado(ExpedientInfo.Get(conditions.Expedient.Oid, false), conditions.Producto, SerieInfo.New(conditions.Serie.Oid), _report_filter, _report_format, false); } else if (Rango_RB.Checked) { rpt = reportMng.GetMovimientosStockListAgrupado(ExpedienteList.GetListByRango(expediente_ini, expediente_fin, false), conditions.Producto, SerieInfo.New(conditions.Serie.Oid), _report_filter, _report_format); } PgMng.FillUp(); ShowReport(rpt); } else if (PorProducto_RB.Checked) { StockList stocks = null; if (TodosExpediente_RB.Checked) { stocks = StockList.GetReportList(conditions, null, null, _report_filter.SoloStock, false); } else if (Seleccion_RB.Checked) { stocks = StockList.GetReportList(conditions, null, null, _report_filter.SoloStock, false); } else if (Rango_RB.Checked) { stocks = StockList.GetReportList(conditions, expediente_ini, expediente_fin, _report_filter.SoloStock, false); } StockLineListRpt rpt = reportMng.GetStockLineList(stocks, _report_filter, _report_format); PgMng.FillUp(); ShowReport(rpt); } }
protected override void PrintStockAction() { Library.Store.ReportFilter filter = new Library.Store.ReportFilter(); ReportFormat format = new ReportFormat(); format.Vista = EReportVista.Detallado; filter.FechaIni = DateTime.MinValue; filter.FechaFin = DateTime.MaxValue; filter.SoloMermas = false; filter.SoloStock = false; ExpedientReportMng reportMng = new ExpedientReportMng(AppContext.ActiveSchema); MovimientosStockListPorExpedienteRpt rpt = reportMng.GetMovimientosStockListAgrupado(_entity, null, null, filter, format, false); ShowReport(rpt); }
private void FormatReport(MovimientosStockListPorExpedienteRpt rpt, ReportFilter filter, ReportFormat format) { switch (format.Vista) { case EReportVista.Detallado: { rpt.HeaderDetallado.SectionFormat.EnableSuppress = false; rpt.HeaderResumido.SectionFormat.EnableSuppress = true; rpt.FooterExpediente.SectionFormat.EnableNewPageAfter = true; rpt.Subreports["StocksSubReport"].ReportDefinition.Sections["HeaderDetallado"].SectionFormat.EnableSuppress = false; rpt.Subreports["StocksSubReport"].ReportDefinition.Sections["Detalle"].SectionFormat.EnableSuppress = false; rpt.Subreports["StocksSubReport"].ReportDefinition.Sections["FooterDetallado"].SectionFormat.EnableSuppress = false; rpt.Subreports["StocksSubReport"].ReportDefinition.Sections["FooterResumido"].SectionFormat.EnableSuppress = true; } break; case EReportVista.Resumido: { rpt.HeaderDetallado.SectionFormat.EnableSuppress = true; rpt.HeaderResumido.SectionFormat.EnableSuppress = false; rpt.FooterExpediente.SectionFormat.EnableNewPageAfter = false; rpt.Subreports["StocksSubReport"].ReportDefinition.Sections["HeaderDetallado"].SectionFormat.EnableSuppress = true; rpt.Subreports["StocksSubReport"].ReportDefinition.Sections["Detalle"].SectionFormat.EnableSuppress = true; rpt.Subreports["StocksSubReport"].ReportDefinition.Sections["FooterDetallado"].SectionFormat.EnableSuppress = true; rpt.Subreports["StocksSubReport"].ReportDefinition.Sections["FooterResumido"].SectionFormat.EnableSuppress = false; } break; } rpt.ReportDefinition.ReportObjects["FacturaLB"].ObjectFormat.EnableSuppress = filter.SoloMermas; rpt.ReportDefinition.ReportObjects["AlbaranLB"].ObjectFormat.EnableSuppress = filter.SoloMermas; rpt.ReportDefinition.ReportObjects["BultosActualesLB"].ObjectFormat.EnableSuppress = filter.SoloMermas; rpt.ReportDefinition.ReportObjects["KgActualesLB"].ObjectFormat.EnableSuppress = filter.SoloMermas; rpt.Subreports["StocksSubReport"].ReportDefinition.ReportObjects["Albaran_TB"].ObjectFormat.EnableSuppress = filter.SoloMermas; rpt.Subreports["StocksSubReport"].ReportDefinition.ReportObjects["Factura_TB"].ObjectFormat.EnableSuppress = filter.SoloMermas; rpt.Subreports["StocksSubReport"].ReportDefinition.ReportObjects["BultosActuales_TB"].ObjectFormat.EnableSuppress = filter.SoloMermas; rpt.Subreports["StocksSubReport"].ReportDefinition.ReportObjects["KilosActuales_TB"].ObjectFormat.EnableSuppress = filter.SoloMermas; }
protected void ShowStoreFileReport(Library.Store.QueryConditions conditions) { ExpedientInfo expediente_ini = Rango_RB.Checked ? _expediente_ini : null; ExpedientInfo expediente_fin = Rango_RB.Checked ? _expediente_fin : null; if (PorExpediente_RB.Checked) { ExpedientReportMng reportMng = new ExpedientReportMng(AppContext.ActiveSchema, this.Text, GetFilterValues()); MovimientosStockListPorExpedienteRpt rpt = null; if (TodosExpediente_RB.Checked) { rpt = reportMng.GetMovimientosStockListAgrupado(ExpedienteList.GetList(conditions.TipoExpediente, false), conditions.Producto, SerieInfo.New(conditions.Serie.Oid), _report_filter, _report_format); } else if (Seleccion_RB.Checked) { rpt = reportMng.GetMovimientosStockListAgrupado(ExpedientInfo.Get(conditions.Expedient.Oid, false), conditions.Producto, SerieInfo.New(conditions.Serie.Oid), _report_filter, _report_format, false); } else if (Rango_RB.Checked) { rpt = reportMng.GetMovimientosStockListAgrupado(ExpedienteList.GetListByRango(expediente_ini, expediente_fin, false), conditions.Producto, SerieInfo.New(conditions.Serie.Oid), _report_filter, _report_format); } PgMng.FillUp(); ShowReport(rpt); } else if (PorProducto_RB.Checked) { StoreReportMng reportMng = new StoreReportMng(AppContext.ActiveSchema, this.Text, GetFilterValues()); StockList stocks = null; if (TodosExpediente_RB.Checked) { stocks = StockList.GetReportList(conditions, null, null, _report_filter.SoloStock, false); } else if (Seleccion_RB.Checked) { stocks = StockList.GetReportList(conditions, null, null, _report_filter.SoloStock, false); } else if (Rango_RB.Checked) { stocks = StockList.GetReportList(conditions, expediente_ini, expediente_fin, _report_filter.SoloStock, false); } stocks.FillPurchasePrices(); string stock_purchase_price_type = string.Empty; if (LastPurchasePrice_RB.Checked) { stock_purchase_price_type = "Last"; } else if (AveragePrice_RB.Checked) { stock_purchase_price_type = "Average"; } StoreFileRpt rpt = reportMng.GetStoreFile(stocks , _report_filter , _report_format , StoreFileKg_RB.Checked , stock_purchase_price_type); PgMng.FillUp(); ShowReport(rpt); } }
public MovimientosStockListPorExpedienteRpt GetMovimientosStockListAgrupado(ExpedienteList items, ProductInfo producto, SerieInfo serie, ReportFilter filter, ReportFormat format) { MovimientosStockListPorExpedienteRpt doc = new MovimientosStockListPorExpedienteRpt(); List <ExpedientePrint> pList = new List <ExpedientePrint>(); List <StockPrint> movs = new List <StockPrint>(); StockList stocks = null; int movsCount = 0; foreach (ExpedientInfo item in items) { if (filter.SoloStock) { if ((item.StockKilos == 0) || (item.StockBultos == 0)) { continue; } } movsCount = movs.Count; stocks = (item.Stocks == null) ? StockList.GetListByExpediente(item.Oid, false) : item.Stocks; foreach (StockInfo stock in stocks) { if (filter.SoloMermas) { if ((stock.OidAlbaran != 0) || (stock.Kilos >= 0)) { continue; } } if ((filter.FechaIni <= stock.Fecha) && (stock.Fecha <= filter.FechaFin)) { if ((producto == null) && (serie == null)) { movs.Add(StockPrint.New(stock)); } else if (producto != null) { if ((producto.Oid == stock.OidProducto) && (serie == null)) { movs.Add(StockPrint.New(stock)); } else if ((producto.Oid == stock.OidProducto) && (serie.Oid == stock.OidSerie)) { movs.Add(StockPrint.New(stock)); } } else if (serie.Oid == stock.OidSerie) { movs.Add(StockPrint.New(stock)); } } } if (movsCount < movs.Count) { pList.Add(item.GetPrintObject()); } } //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports if (movs.Count <= 0) { return(null); } doc.SetDataSource(pList); doc.Subreports["StocksSubReport"].SetDataSource(movs); FormatHeader(doc); FormatReport(doc, filter, format); return(doc); }