protected override void PrintAction() { try { PgMng.Reset(6, 1, Face.Resources.Messages.RETRIEVING_DATA, this); if (FFacturaIni_DTP.Checked) { _report_filter.fecha_fac_inicio = FFacturaIni_DTP.Value; } else { _report_filter.fecha_fac_inicio = DateTime.MinValue; } if (FFacturaFin_DTP.Checked) { _report_filter.fecha_fac_final = FFacturaFin_DTP.Value; } else { _report_filter.fecha_fac_final = DateTime.MaxValue; } if (FPagoIni_DTP.Checked) { _report_filter.fecha_pago_inicio = FPagoIni_DTP.Value; } else { _report_filter.fecha_pago_inicio = DateTime.MinValue; } if (FPagoFin_DTP.Checked) { _report_filter.fecha_pago_final = FPagoFin_DTP.Value; } else { _report_filter.fecha_pago_final = DateTime.MaxValue; } if (FPrevisionIni_DTP.Checked) { _report_filter.prevision_ini = FPrevisionIni_DTP.Value; } else { _report_filter.prevision_ini = DateTime.MinValue; } if (FPrevisionFin_DTP.Checked) { _report_filter.prevision_fin = FPrevisionFin_DTP.Value; } else { _report_filter.prevision_fin = DateTime.MaxValue; } _report_filter.exp_final = string.Empty; _report_filter.exp_inicial = string.Empty; _report_filter.tipo = (EPagos)(long)TipoFactura_CB.SelectedValue; _report_filter.tipo_informe = (ETipoInforme)(long)TipoAcreedor_CB.SelectedValue; _report_filter.tipo_expediente = (moleQule.Store.Structs.ETipoExpediente)(long) TipoExpediente_CB.SelectedValue; ReportFormat format = new ReportFormat(); format.Vista = (Resumido_RB.Checked) ? EReportVista.Resumido : EReportVista.Detallado; string filtro = GetFilterValues(); PgMng.Grow(); ExpedienteList expedients = ExpedienteList.GetList(_report_filter.tipo_expediente, false); PgMng.Grow(); InputInvoiceList invoices = InputInvoiceList.GetListByDate(_report_filter.fecha_fac_inicio, _report_filter.fecha_fac_final, false); PgMng.Grow(); PaymentSummaryList summaries = PaymentSummaryList.GetPendientesList(); PgMng.Grow(Face.Resources.Messages.BUILDING_REPORT); PaymentReportMng reportMng = new PaymentReportMng(AppContext.ActiveSchema, this.Text, filtro); PaymentsReportRpt rpt = reportMng.GetInformeControlPagosReport(invoices, expedients, summaries, _report_filter, format); PgMng.FillUp(); ShowReport(rpt); _action_result = DialogResult.Ignore; } catch (Exception ex) { PgMng.FillUp(); throw ex; } }
public PaymentsReportRpt GetInformeControlPagosReport(InputInvoiceList facturas, ExpedienteList expedientes, PaymentSummaryList resumen, ReportFilter filter, ReportFormat format) { List <ExpedientInfo> explist = new List <ExpedientInfo>(); foreach (ExpedientInfo exp in expedientes) { if ((filter.exp_inicial.Length == 0 || exp.Codigo.CompareTo(filter.exp_inicial) >= 0) && (filter.exp_final.Length == 0 || exp.Codigo.CompareTo(filter.exp_final) <= 0)) { explist.Add(exp); } } List <ControlPagosPrint> lista = new List <ControlPagosPrint>(); ExpedientInfo obj = null; DateTime fecha_pago = DateTime.MinValue; string oidS = string.Empty; long oid = 0; foreach (InputInvoiceInfo item in facturas) { if (!CompFechas(filter, item.Prevision, item.FechaPagoFactura)) { continue; } if ((filter.tipo == EPagos.Pagados) && !item.Pagada) { continue; } if ((filter.tipo == EPagos.Pendientes) && item.Pagada) { continue; } switch (filter.tipo_informe) { case ETipoInforme.Despachante: if (item.ETipoAcreedor != ETipoAcreedor.Despachante) { continue; } if (filter.objeto_detallado != null) { if (!item.OidAcreedor.Equals(((DespachanteInfo)filter.objeto_detallado).Oid)) { continue; } } obj = expedientes.GetItem(item.OidExpediente); oidS = ((long)(item.TipoAcreedor + 1)).ToString("00") + "00000" + item.OidAcreedor.ToString(); oid = Convert.ToInt64(oidS); lista.Add(item.GetControlPagosPrintObject(obj, resumen.GetItem(oid))); break; case ETipoInforme.Naviera: if (item.ETipoAcreedor != ETipoAcreedor.Naviera) { continue; } if (filter.objeto_detallado != null) { if (!item.OidAcreedor.Equals(((NavieraInfo)filter.objeto_detallado).Oid)) { continue; } } oidS = ((long)(item.TipoAcreedor + 1)).ToString("00") + "00000" + item.OidAcreedor.ToString(); oid = Convert.ToInt64(oidS); obj = expedientes.GetItem(item.OidExpediente); lista.Add(item.GetControlPagosPrintObject(obj, resumen.GetItem(oid))); break; case ETipoInforme.Proveedor: if (item.ETipoAcreedor != ETipoAcreedor.Proveedor) { continue; } obj = expedientes.GetItem(item.OidExpediente); if (filter.objeto_detallado != null) { if (!item.OidAcreedor.Equals(((ProveedorInfo)filter.objeto_detallado).Oid)) { continue; } } oidS = ((long)(item.TipoAcreedor + 1)).ToString("00") + "00000" + item.OidAcreedor.ToString(); oid = Convert.ToInt64(oidS); obj = expedientes.GetItem(item.OidExpediente); lista.Add(item.GetControlPagosPrintObject(obj, resumen.GetItem(oid))); break; case ETipoInforme.TransportistaDestino: if (item.ETipoAcreedor != ETipoAcreedor.TransportistaDestino) { continue; } if (filter.objeto_detallado != null) { if (item.OidAcreedor.Equals(((Transporter)filter.objeto_detallado).Oid)) { continue; } } oidS = ((long)(item.TipoAcreedor + 1)).ToString("00") + "00000" + item.OidAcreedor.ToString(); oid = Convert.ToInt64(oidS); obj = expedientes.GetItem(item.OidExpediente); lista.Add(item.GetControlPagosPrintObject(obj, resumen.GetItem(oid))); break; case ETipoInforme.TransportistaOrigen: if (item.ETipoAcreedor != ETipoAcreedor.TransportistaOrigen) { continue; } if (filter.objeto_detallado != null) { if (item.OidAcreedor.Equals(((TransporterInfo)filter.objeto_detallado).Oid)) { continue; } } oidS = ((long)(item.TipoAcreedor + 1)).ToString("00") + "00000" + item.OidAcreedor.ToString(); oid = Convert.ToInt64(oidS); obj = expedientes.GetItem(item.OidExpediente); lista.Add(item.GetControlPagosPrintObject(obj, resumen.GetItem(oid))); break; case ETipoInforme.Todos: oidS = ((long)(item.TipoAcreedor + 1)).ToString("00") + "00000" + item.OidAcreedor.ToString(); oid = Convert.ToInt64(oidS); obj = expedientes.GetItem(item.OidExpediente); lista.Add(item.GetControlPagosPrintObject(obj, resumen.GetItem(oid))); break; } } PaymentsReportRpt doc = new PaymentsReportRpt(); if (format.Vista == EReportVista.Resumido) { doc.TitulosDetalle.SectionFormat.EnableSuppress = true; doc.Detalle.SectionFormat.EnableSuppress = true; doc.GHElemento.SectionFormat.EnableSuppress = true; doc.ReportDefinition.ReportObjects["SubtotalesAcreedorLB"].ObjectFormat.EnableSuppress = true; } else { doc.TitulosResumido.SectionFormat.EnableSuppress = true; doc.ReportDefinition.ReportObjects["NombreAcreedor"].ObjectFormat.EnableSuppress = true; } doc.SetDataSource(lista); FormatHeader(doc); return(doc); }