public PaymentRpt GetDetailReport(Payment item,
                                          IAcreedor acreedor,
                                          InputInvoiceList facturas)
        {
            if (item == null)
            {
                return(null);
            }

            PaymentRpt doc = new PaymentRpt();

            List <PaymentPrint>            pList     = new List <PaymentPrint>();
            List <TransactionPaymentPrint> pagosList = new List <TransactionPaymentPrint>();

            foreach (TransactionPayment pagoFactura in item.Operations)
            {
                pagosList.Add(TransactionPaymentPrint.New(pagoFactura.GetInfo(), facturas.GetItem(pagoFactura.OidOperation)));
            }

            //Si no existen conceptos, no tiene sentido un informe detallado. Además, falla en Crystal Reports
            if (pagosList.Count <= 0)
            {
                return(null);
            }

            pList.Add(PaymentPrint.New(item.GetInfo(false), acreedor, false));

            doc.SetDataSource(pList);
            doc.Subreports["Cuerpo"].SetDataSource(pagosList);
            doc.SetParameterValue("Empresa", Schema.Name);

            return(doc);
        }
Пример #2
0
        public static InputInvoiceList GetFacturasRecibidasPendientes()
        {
            DateTime         f_fin = DateTime.Today.AddDays((double)Library.Store.ModulePrincipal.GetNotifyPlazoFacturasRecibidas());
            InputInvoiceList list  = InputInvoiceList.GetPendientesList(DateTime.MinValue, f_fin, EMedioPago.Giro, false);

            return(list);
        }
Пример #3
0
        public static void IsPosibleDelete(long oid, ETipoAcreedor providerType)
        {
            QueryConditions conditions = new QueryConditions
            {
                TipoAcreedor = new ETipoAcreedor[1] {
                    providerType
                },
                Acreedor = ProviderBaseInfo.New(oid, providerType),
                Estado   = EEstado.NoAnulado
            };

            InputDeliveryList albaranes = InputDeliveryList.GetList(conditions, false);

            if (albaranes.Count > 0)
            {
                throw new iQException(Resources.Messages.ALBARANES_ASOCIADOS);
            }

            InputInvoiceList facturas = InputInvoiceList.GetList(conditions, false);

            if (facturas.Count > 0)
            {
                throw new iQException(Resources.Messages.FACTURAS_ASOCIADAS);
            }

            conditions.PaymentType = ETipoPago.Factura;

            PaymentList pagos = PaymentList.GetList(conditions, false);

            if (pagos.Count > 0)
            {
                throw new iQException(Resources.Messages.PAGOS_ASOCIADOS);
            }
        }
Пример #4
0
        public InputInvoiceListRpt GetListReport(InputInvoiceList list,
                                                 ProviderBaseList acreedores)
        {
            if (list.Count == 0)
            {
                return(null);
            }

            InputInvoiceListRpt doc = new InputInvoiceListRpt();

            List <InputInvoicePrint> pList = new List <InputInvoicePrint>();

            foreach (InputInvoiceInfo item in list)
            {
                pList.Add(InputInvoicePrint.New(item,
                                                acreedores.GetItem(item.Oid, item.ETipoAcreedor),
                                                false));
            }

            doc.SetDataSource(pList);

            FormatHeader(doc);

            return(doc);
        }
Пример #5
0
        public QRCodeRpt GetQRCodeReport(InputInvoiceList list)
        {
            if (list.Count == 0)
            {
                return(null);
            }

            List <InputInvoicePrint> pList = new List <InputInvoicePrint>();

            foreach (InputInvoiceInfo item in list)
            {
                pList.Add(InputInvoicePrint.New(item, null));
            }

            QRCodeRpt doc = new QRCodeRpt();

            doc.SetDataSource(pList);

            return(doc);
        }
Пример #6
0
        public InputInvoiceListRpt GetListReport(InputInvoiceList list)
        {
            if (list.Count == 0)
            {
                return(null);
            }

            InputInvoiceListRpt doc = new InputInvoiceListRpt();

            List <InputInvoicePrint> pList = new List <InputInvoicePrint>();

            foreach (InputInvoiceInfo item in list)
            {
                pList.Add(InputInvoicePrint.New(item, null, false));
            }

            doc.SetDataSource(pList);

            FormatHeader(doc);

            return(doc);
        }
Пример #7
0
        public new static IAgenteHipatiaList GetAgentes(EntidadInfo entidad)
        {
            IAgenteHipatiaList lista = new IAgenteHipatiaList(new List <IAgenteHipatia>());

            if (entidad.Tipo == typeof(Almacen).Name)
            {
                StoreList list = StoreList.GetList(false);

                foreach (StoreInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Despachante).Name)
            {
                DespachanteList list = DespachanteList.GetList(false);

                foreach (DespachanteInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Employee).Name)
            {
                EmployeeList list = EmployeeList.GetList(false);

                foreach (EmployeeInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Expedient).Name)
            {
                ExpedienteList list = ExpedienteList.GetList(false);

                foreach (ExpedientInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(InputInvoice).Name)
            {
                InputInvoiceList list = InputInvoiceList.GetList(false);

                foreach (InputInvoiceInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(LineaFomento).Name)
            {
                LineaFomentoList list = LineaFomentoList.GetList(false);

                foreach (LineaFomentoInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Naviera).Name)
            {
                NavieraList list = NavieraList.GetList(false);

                foreach (NavieraInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Payment).Name)
            {
                PaymentList list = PaymentList.GetList(false);

                foreach (PaymentInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Product).Name)
            {
                ProductList list = ProductList.GetList(false);

                foreach (ProductInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Proveedor).Name)
            {
                ProveedorList list = ProveedorList.GetList(false);

                foreach (ProveedorInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else if (entidad.Tipo == typeof(Transporter).Name)
            {
                TransporterList list = TransporterList.GetList(false);

                foreach (TransporterInfo obj in list)
                {
                    if (entidad.Agentes.GetItemByProperty("Oid", obj.Oid) == null)
                    {
                        lista.Add(obj);
                    }
                }
            }
            else
            {
                throw new iQException("No se ha encontrado el tipo de entidad " + entidad.Tipo);
            }

            return(lista);
        }
        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);
        }