Пример #1
0
        /// <summary>
        /// Devuelve el documento a imprimir de la factura
        /// dependiendo de la letra correspondiente, pasada
        /// como parámetro.
        /// </summary>
        /// <param name="unRecibo">Instancia de Recibo del
        /// tipo factura</param>
        /// <param name="letra">Letra correspondiente al tipo
        /// de factura</param>
        /// <returns>Factura</returns>
        private static ReportDocument GetReporteFactura(Recibo unRecibo, String letra)
        {
            try {
                // Establece la dirección para la factura
                Contacto cto = unRecibo.Pago.Cuenta.Titular.getContactoPrincipal();
                string direccion = cto.Calle
                                   + (cto.Puerta != null
                                          ? "Nº " + cto.Puerta
                                          : "S/N")
                                   + (cto.PisoDepto != null
                                          ? "Po/Dto: " + cto.PisoDepto
                                          : "");
                string localidad = cto.Localidad.Nombre
                                   + ", " + cto.Provincia.Nombre
                                   + "(" + cto.Cp + ")";

                // Inserta el Header del recibo. Crea una instancia de la
                // tabla Factura que se encuentra en el componente DSInforme
                var ds = new DSInformes();

                ds.Factura.AddFacturaRow(
                    unRecibo.Numero,
                    unRecibo.Fecha,
                    string.Format("{0} (Cód.:{1})", unRecibo.Pago.Cuenta.Titular.Nombre, unRecibo.Pago.Cuenta.Codigo),
                    direccion,
                    localidad,
                    unRecibo.Pago.Cuenta.Titular.TipoIVA.Nombre,
                    unRecibo.Pago.Cuenta.Titular.Cuit,
                    unRecibo.Pago.FormaPago.Nombre,
                    unRecibo.getSubTotal(),
                    0,
                    unRecibo.getSubTotal(),
                    unRecibo.getMontoIva(),
                    unRecibo.Importe,
                    unRecibo.Pago.Cuenta.Entidad.Nombre);

                // Genera las líneas
                ds.Lineas.AddLineasRow(
                    ds.Factura[0],
                    1,
                    1,
                    unRecibo.Concepto.Nombre,
                    (unRecibo.Tipo.Clave != "TIPOFACTURA.A")
                        ? 0
                        : unRecibo.Importe,
                    unRecibo.Importe);

                // Crea el reporte
                //ReportDocument reporte = (letra == "A") ? new RFactura() : new RFactura();
                var reporte = new RFactura();
                reporte.SetDataSource(ds);
                return reporte;
            } catch (Exception e) {
                Sistema.Controlador.logear("ERROR-IMPRIMIR-RECIBO", ENivelMensaje.ERROR, e.ToString());
                throw;
            }
        }
Пример #2
0
 public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport()
 {
     RFactura rpt = new RFactura();
     rpt.Site = this.Site;
     return rpt;
 }