Exemplo n.º 1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            CargarCSS();
            oblRecuperarPass   = new MedNeg.RecuperarContraseña.BlRecuperarContraseña();
            sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            if (File.Exists(sRutaArchivoConfig))
            {
                oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
                cConfiguracion   = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

                from       = cConfiguracion.sCorreoEmisor;
                fromPwd    = cConfiguracion.sContraseñaSmtp;
                to         = this.txbNombreUsuario.Text;
                smtpClient = cConfiguracion.sServidorSmtp;
                if (!cConfiguracion.sPuertoSmtp.Equals(""))
                {
                    port = Convert.ToInt32(cConfiguracion.sPuertoSmtp);
                }
                else
                {
                    port = 25;
                }
                confExists = true;
            }
            else
            {
                confExists = false;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Saber si esta activada la opción de folio automatico en remisiones en configuración
        /// </summary>
        public int RecuperaFolioAutomatico(string sRutaArchivoConfig)
        {

            if (File.Exists(sRutaArchivoConfig))
            {
                MedNeg.Configuracion.BlConfiguracion oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
                MedDAL.Configuracion.DALConfiguracion odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();

                odalConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

                if (odalConfiguracion.iRemisionesAutomatico==1)
                {
                    return odalConfiguracion.iFolioRemisiones+1;
                }
                else
                {
                    return 0;
                }
            }
            else
            {
                return 0;
            }

        }
Exemplo n.º 3
0
        private void MeterFormulas(ReportDocument rptReporte)
        {
            //Para datos de facturacion
            string sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");

            MedNeg.Configuracion.BlConfiguracion  oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion objConfiguracion = new MedDAL.Configuracion.DALConfiguracion();
            objConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

            foreach (FormulaFieldDefinition oFormula in rptReporte.DataDefinition.FormulaFields)
            {
                if (oFormula.FormulaName == "{@fRazonSocial}")
                {
                    //oFormula.Text = "'" + ((MedDAL.Configuracion.DALConfiguracion)Session["configuracionsistema"]).sRazonSocial.ToString() + "'";
                    oFormula.Text = "'" + objConfiguracion.sRazonSocial.ToString() + "'";
                }
                if (oFormula.FormulaName == "{@fRFC}")
                {
                    //oFormula.Text = "'" + ((MedDAL.Configuracion.DALConfiguracion)Session["configuracionsistema"]).sRfc.ToString() + "'";
                    oFormula.Text = "'" + objConfiguracion.sRfc.ToString() + "'";
                }
                if (oFormula.FormulaName == "{@fDomicilio}")
                {
                    //oFormula.Text = "'" + ((MedDAL.Configuracion.DALConfiguracion)Session["configuracionsistema"]).sDomicilio.ToString() + "'";
                    oFormula.Text = "'" + objConfiguracion.sDomicilio.ToString() + "'";
                }
                if (oFormula.FormulaName == "{@fTituloReporte}")
                {
                    oFormula.Text = "'" + Session["titulo"].ToString() + "'";
                }
                //Producto desde
                if (oFormula.FormulaName == "{@fProductoDesde}")
                {
                    if (Session["sProductoDesdePendientes"].ToString() != "")
                    {
                        oFormula.Text = "'" + Session["sProductoDesdePendientes"].ToString() + "'";
                    }
                }
                //Producto hasta
                if (oFormula.FormulaName == "{@fProductoHasta}")
                {
                    if (Session["sProductoHastaPendientes"].ToString() != "")
                    {
                        oFormula.Text = "'" + Session["sProductoHastaPendientes"].ToString() + "'";
                    }
                }
                //Almacen Nombre
                if (oFormula.FormulaName == "{@fAlmacenNombre}")
                {
                    if (Session["sAlmacenNombre"].ToString() != "")
                    {
                        oFormula.Text = "'" + Session["sAlmacenNombre"].ToString() + "'";
                    }
                    else
                    {
                        oFormula.Text = "'Todos'";
                    }
                }
            }
        }
        /// <summary>
        /// Agrega el hmtl link al header del catalogo, del css correspondiente a cargar
        /// </summary>
        protected void CargarCSS()
        {
            string cColor = null;
            HtmlLink link = new HtmlLink();

            sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            if (File.Exists(sRutaArchivoConfig))
            {
                oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
                cConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);
                try
                {
                    if (!cConfiguracion.sColorInterfaz.Equals(""))
                        cColor = cConfiguracion.sColorInterfaz;
                    else
                        cColor = "Gris";
                }
                catch
                {
                    cColor = "Gris";
                }
            }
            else
                cColor = "Gris";

            link.Href = "Css/" + cColor + ".css";
            link.Attributes.Add("rel", "stylesheet");
            link.Attributes.Add("type", "text/css");
            Page.Header.Controls.Add(link);
        }
Exemplo n.º 5
0
        /// <summary>
        /// Permite la cancelación de facturas [No hay test para esto].
        /// </summary>
        /// <param name="uuid">Es un arreglo de cadenas que contiene los uuid(timbres fiscales) a cancelar.[Por falta de pruebas, cancelen de uno en uno...]</param>
        /// <param name="sRutaArchivos">La ruta a los archivos...</param>
        /// <returns>0 si se canceló, 1 si fallo.</returns>
        public int CancelarFacturaElectronica(string[] uuid, string sRutaArchivos, out string sMensaje)
        {
            MedNeg.Configuracion.BlConfiguracion  oblConfiguracion  = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();

            odalConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivos + "/Configuracion.xml");

            FacturaService.TimbradoClient svcT = new FacturaService.TimbradoClient();
            FacturaService.RespuestaCFDi  res  = null;
            //El PFX, es un documento creado a partir del CER y KEY, lo ideal es crearlo por fuera, pero se puede crear desde aca con comandos a consola.
            //Es más facil si lo crean y lo cargan, a que lo creen en el sistema.
            res = svcT.Cancelar("medicuri", "a", File.ReadAllBytes(sRutaArchivos + "/Facturacion/" + odalConfiguracion.sRutaFirma.ToString()), uuid, odalConfiguracion.sContraseña);
            if (res.Documento == null)
            {                           //algo falló, revisa el mensaje y ve que pasó. lo mismo aplica para timbrado, pdf, etc... NUNCA he intentado cancelar más de un UUID, así que no se como funcione eso...
                sMensaje = res.Mensaje; //<- tiene el texto del error...
                return(1);
            }
            else
            {
                //Si se canceló, entonces, el documento escribe un nuevo archivo (un xml, con la información de cancelación, conocido como ack.)

                File.WriteAllBytes(sRutaArchivos + "/FacturasElectronicasTimbradas/FacturaE-" + uuid[0] + ".xml", res.Documento);
                sMensaje = res.Mensaje;
                return(0);
            }
        }
        private void MeterFormulas(ReportDocument rptReporte)
        {
            //Para datos de facturacion
            string sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            MedNeg.Configuracion.BlConfiguracion oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion objConfiguracion = new MedDAL.Configuracion.DALConfiguracion();
            objConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

            foreach (FormulaFieldDefinition oFormula in rptReporte.DataDefinition.FormulaFields)
            {
                if (oFormula.FormulaName == "{@fRazonSocial}")
                {
                    //oFormula.Text = "'" + ((MedDAL.Configuracion.DALConfiguracion)Session["configuracionsistema"]).sRazonSocial.ToString() + "'";
                    oFormula.Text = "'" + objConfiguracion.sRazonSocial.ToString() + "'";
                }
                if (oFormula.FormulaName == "{@fRFC}")
                {
                    //oFormula.Text = "'" + ((MedDAL.Configuracion.DALConfiguracion)Session["configuracionsistema"]).sRfc.ToString() + "'";
                    oFormula.Text = "'" + objConfiguracion.sRfc.ToString() + "'";
                }
                if (oFormula.FormulaName == "{@fDomicilio}")
                {
                    //oFormula.Text = "'" + ((MedDAL.Configuracion.DALConfiguracion)Session["configuracionsistema"]).sDomicilio.ToString() + "'";
                    oFormula.Text = "'" + objConfiguracion.sDomicilio.ToString() + "'";
                }
                if (oFormula.FormulaName == "{@fTituloReporte}")
                {
                    oFormula.Text = "'" + Session["titulo"].ToString() + "'";
                }
                //Producto desde
                if (oFormula.FormulaName == "{@fProductoDesde}")
                {
                    if (Session["sProductoDesdePendientes"].ToString() != "")
                        oFormula.Text = "'" + Session["sProductoDesdePendientes"].ToString() + "'";
                }
                //Producto hasta
                if (oFormula.FormulaName == "{@fProductoHasta}")
                {
                    if (Session["sProductoHastaPendientes"].ToString() != "")
                        oFormula.Text = "'" + Session["sProductoHastaPendientes"].ToString() + "'";
                }
                //Almacen Nombre
                if (oFormula.FormulaName == "{@fAlmacenNombre}")
                {
                    if (Session["sAlmacenNombre"].ToString() != "")
                        oFormula.Text = "'" + Session["sAlmacenNombre"].ToString() + "'";
                    else
                        oFormula.Text = "'Todos'";
                }
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// Actualizar el folio de remisiones
        /// </summary>
        /// <param name="sRutaArchivoConfig"></param>
        public void ActualizarFolioRemision(string sRutaArchivoConfig)
        {
            MedNeg.Configuracion.BlConfiguracion  oblConfiguracion  = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();

            odalConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

            if (odalConfiguracion.iRemisionesAutomatico == 1)
            {
                //Incrementar el folio
                odalConfiguracion.iFolioRemisiones++;
                oblConfiguracion.GuardarDatos(odalConfiguracion, sRutaArchivoConfig);
            }
        }
Exemplo n.º 8
0
        /// <summary>
        /// Actualizar el folio de facturas
        /// </summary>
        /// <param name="sRutaArchivoConfig"></param>
        public void ActualizarFolioFactura(string sRutaArchivoConfig, bool bIncremento = true)
        {
            MedDAL.Configuracion.DALConfiguracion odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();
            MedNeg.Configuracion.BlConfiguracion  oblConfiguracion  = new MedNeg.Configuracion.BlConfiguracion();
            odalConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

            if (odalConfiguracion.iFacturasAutomatico == 1)
            {
                //Incrementar el folio
                if (bIncremento)
                {
                    odalConfiguracion.iFolioFacturas++;
                }
                else
                {
                    odalConfiguracion.iFolioFacturas--;
                }

                oblConfiguracion.GuardarDatos(odalConfiguracion, sRutaArchivoConfig);
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            CargarCSS();
            oblRecuperarPass = new MedNeg.RecuperarContraseña.BlRecuperarContraseña();
            sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            if (File.Exists(sRutaArchivoConfig))
            {
                oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
                cConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

                from = cConfiguracion.sCorreoEmisor;
                fromPwd = cConfiguracion.sContraseñaSmtp;
                to = this.txbNombreUsuario.Text;
                smtpClient = cConfiguracion.sServidorSmtp;
                if(!cConfiguracion.sPuertoSmtp.Equals(""))
                    port = Convert.ToInt32(cConfiguracion.sPuertoSmtp);
                else
                    port = 25;
                confExists = true;
            }
            else
                confExists = false;
        }
Exemplo n.º 10
0
        /// <summary>
        /// Saber si esta activada la opción de folio automatico en remisiones en configuración
        /// </summary>
        public int RecuperaFolioAutomatico(string sRutaArchivoConfig)
        {
            if (File.Exists(sRutaArchivoConfig))
            {
                MedNeg.Configuracion.BlConfiguracion  oblConfiguracion  = new MedNeg.Configuracion.BlConfiguracion();
                MedDAL.Configuracion.DALConfiguracion odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();

                odalConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

                if (odalConfiguracion.iFacturasAutomatico == 1)
                {
                    return(odalConfiguracion.iFolioFacturas + 1);
                }
                else
                {
                    return(0);
                }
            }
            else
            {
                return(0);
            }
        }
Exemplo n.º 11
0
        protected void CargarCSS()
        {
            string   cColor = null;
            HtmlLink link   = new HtmlLink();

            sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            if (File.Exists(sRutaArchivoConfig))
            {
                oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
                cConfiguracion   = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);
                try
                {
                    if (!cConfiguracion.sColorInterfaz.Equals(""))
                    {
                        cColor = cConfiguracion.sColorInterfaz;
                    }
                    else
                    {
                        cColor = "Gris";
                    }
                }
                catch
                {
                    cColor = "Gris";
                }
            }
            else
            {
                cColor = "Gris";
            }

            link.Href = "Css/" + cColor + ".css";
            link.Attributes.Add("rel", "stylesheet");
            link.Attributes.Add("type", "text/css");
            Page.Header.Controls.Add(link);
        }
Exemplo n.º 12
0
        private string CrearFacturaSubTotales(string sFolio,decimal dSubtotalFacturar)
        {
            //TODO: GT Paso 6: Paso opcional, aqui se genera la factura por sub totales si lo eligio el usuario

            //objeto que contiene la receta
            string sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            string sRutaCertificados = Server.MapPath("~/Archivos/");

            bool bRegistroFallido = false;
            //MedDAL.DAL.recetas oReceta = new MedDAL.DAL.recetas();
            //MedNeg.Recetas.BlRecetas oblReceta = new MedNeg.Recetas.BlRecetas();

            MedNeg.Configuracion.BlConfiguracion oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();

            MedDAL.DAL.facturas oFacturas = new MedDAL.DAL.facturas();
            MedNeg.Facturas.BlFacturas oblFacturas = new MedNeg.Facturas.BlFacturas();

            //decimal dSubtotal = 0;
            //int idReceta = 0;

            odalConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

            //ID Cliente
            oFacturas.idCliente = (int)Session["sIdCliente"];

            //IDRECETA
            //oFacturas.idReceta = oReceta.idReceta;

            //Asiganr el folio de la factura
            if (odalConfiguracion.iFacturasAutomatico == 1)
            {
                oFacturas.Folio = odalConfiguracion.iFolioFacturas++.ToString();
            }
            else
            {
                //oFacturas.Folio = oReceta.Folio;
                oFacturas.Folio = sFolio + "-GastoAdm";
            }

            string sIdFolioFactura = oFacturas.Folio;

            //Fecha
            oFacturas.Fecha = DateTime.Now;
            oFacturas.FechaAplicacion = DateTime.Now;

            //tipo (4 por que son de receta)
            oFacturas.TipoFactura = "4";

            //Estatus (3 de emitida)
            oFacturas.Estatus = "3";

            //Id del usuario que genero la factura
            oFacturas.idUsuario=Convert.ToInt32(Session["usuarioid"]);

            //Nombre del vendedor que en este caso es el usuario
            oFacturas.Vendedor = Session["nombre"].ToString();

            //Registrar la factura
            if (oblFacturas.NuevoRegistro(oFacturas))
            {

                oFacturas = new MedDAL.DAL.facturas();
                oblFacturas = new MedNeg.Facturas.BlFacturas();

                ////Recuperar el id de la factura crea| da
                oFacturas = oblFacturas.BuscarFacturasFolio(sIdFolioFactura);

                //Actualizar el consecutivo en la bitacora
                oblFacturas.ActualizarFolioFactura(sRutaArchivoConfig);


                //Insertar el detalle de factura
                    oblFacturas = new MedNeg.Facturas.BlFacturas();
                    MedDAL.DAL.facturas_partida oFacturaPartida = new MedDAL.DAL.facturas_partida();

                    oFacturaPartida.idFactura = oFacturas.idFactura;
                    oFacturaPartida.idProducto = (int)Session["sIdProductoFxR"];
                    oFacturaPartida.Cantidad = 1;
                    oFacturaPartida.IEPS = 0;
                   
                   

                    //Identificar de cuanto va a ser la factura de subtotales, si un porciento del subtotal o un monto especifico
                    if (txbMonto.Text == "" && txbPorcentaje.Text=="")
                    {
                        oFacturaPartida.Precio = dSubtotalFacturar;
                        oFacturaPartida.Iva = dSubtotalFacturar * consdIva;
                    }
                    else if (txbMonto.Text != "") //El sub total es por monto
                    {
                        oFacturaPartida.Precio = Convert.ToDecimal(txbMonto.Text);
                        oFacturaPartida.Iva = Convert.ToDecimal(txbMonto.Text) * consdIva;

                    }
                    else if(txbPorcentaje.Text!="") //El sub total es por porcentaje del monto de sub total
                    {
                        oFacturaPartida.Precio=dSubtotalFacturar*(Convert.ToDecimal(txbPorcentaje.Text)/100);
                        oFacturaPartida.Iva=consdIva*(dSubtotalFacturar*(Convert.ToDecimal(txbPorcentaje.Text)/100));
                    }
                                  

                    oFacturaPartida.Descripcion = txbProductos.Text;
                    oFacturaPartida.Observaciones = "";

                    //Registrar el detalle del pedido
                    if (!oblFacturas.NuevoDetallePartida(oFacturaPartida))
                    {
                        bRegistroFallido = true;
                    }
                    else
                    {
                      
                    }
                //TODO: GT Paso 6.1 Aqui si bRegistroFallido es false entonces aqui se generaria la factura electronica con los datos de sub totales
                    if (cmbModoFactura.SelectedValue == "2" && !bRegistroFallido)
                    {
                        oblFacturas = new MedNeg.Facturas.BlFacturas();
                        oblFacturas.GenerarFacturaElectronica(oFacturas.idFactura, sRutaCertificados, Session["usuario"].ToString(), (int)Session["sIdCliente"], oFacturas.Folio);

                        return Server.MapPath("~/Archivos/FacturasElectronicasTimbradas/FacturaE-" + oFacturas.Folio + ".xml");
                        //System.IO.FileInfo fFactura = new System.IO.FileInfo(Server.MapPath("~/Archivos/FacturasElectronicas/FacturaE-" + oFacturas.Folio + ".xml"));

                        //Response.Clear();
                        //Response.AddHeader("Content-Disposition", "attachment; filename=" + fFactura.Name);
                        //Response.AddHeader("Content-Length", fFactura.Length.ToString());
                        //Response.ContentType = "application/....";
                        //Response.WriteFile(fFactura.FullName);
                        //Response.End();
                    }
                    return "";
            }
            return "";
        }
Exemplo n.º 13
0
        protected void CargarReporte()
        {
            pnlCatalogoTotales.Visible = false;
            pnlFormulario.Visible = false;
            //pnlReportes.Visible = true;

            Session["reporteactivo"] = 1;
            MedDAL.DataSets.dsDataSet odsFacturasPorRecetas = new MedDAL.DataSets.dsDataSet();
            odsFacturasPorRecetas = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from lineas_creditos", "medicuriConnectionString", odsFacturasPorRecetas, "lineas_creditos");

            odsFacturasPorRecetas = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from FacturacionDeRecetas", "medicuriConnectionString", odsFacturasPorRecetas, "FacturacionDeRecetas");

            //GT 0179
            Session["campoaordenar"] = "";
            Session["sortfield"] = 0;  

            Session["dataset"] = odsFacturasPorRecetas;
            Session["reportdocument"] = "~\\rptReportes\\rptFacturasPorRecetas.rpt";
            Session["titulo"] = "Facturas Por Recetas";
            ReportDocument rptReporte = new ReportDocument();
            rptReporte.Load(Server.MapPath(Session["reportdocument"].ToString()));

            string sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            MedNeg.Configuracion.BlConfiguracion oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion objConfiguracion = new MedDAL.Configuracion.DALConfiguracion();
            objConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

            rptReporte.SetDataSource(odsFacturasPorRecetas);

            //Saber si es general o se tiene un usuario seleccionado
            if (dgvDatos.SelectedIndex != -1)
            {
                Session["recordselection"] = "{lineas_creditos.idLineaCredito}=" + dgvDatos.SelectedDataKey.Values[0].ToString();
            }
            else
            {
                Session["recordselection"] = "";
            }
            
            //crvReporte.Visible = true;
            //crvReporte.ReportSource = rptReporte;

            //GT 0179 
            Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");
        }
Exemplo n.º 14
0
        protected void CargarDatos()
        {
            sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion objConfiguracion = new MedDAL.Configuracion.DALConfiguracion();
            objConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

            //Empresa
            txbRazonSocial.Text = objConfiguracion.sRazonSocial.ToString();
            txbRfc.Text = objConfiguracion.sRfc.ToString();
            txbRegimenFiscal.Text = objConfiguracion.sRegimenFiscal == null ? "" : objConfiguracion.sRegimenFiscal.ToString();
            txbDomicilio.Text = objConfiguracion.sDomicilio.ToString();
            txbCodigoPostal.Text = objConfiguracion.sCodigoPostal.ToString();
            txbMunicipio.Text = objConfiguracion.sMunicipio.ToString();
            txbEstado.Text = objConfiguracion.sEstado.ToString();
            txbPais.Text = objConfiguracion.sPais.ToString();
            txbCaducidad.Text = objConfiguracion.iCaducidad == null ? "0" : objConfiguracion.iCaducidad.ToString();

            try
            {
                lbCertificado.Text = objConfiguracion.sRutaCertificado.ToString();
            }
            catch (Exception)
            {
                lbCertificado.Text = "";
            }
            try
            {
                lbLlave.Text = objConfiguracion.sRutaLlave.ToString();
            }
            catch
            {
                lbLlave.Text = "";
            }
            try
            {
                lblFirma.Text = objConfiguracion.sRutaFirma.ToString();
            }
            catch
            {
                lblFirma.Text = "";
            }
            try
            {
                txbContraseñaFac.Attributes.Add("value", objConfiguracion.sContraseña.ToString());
            }
            catch
            {
                txbContraseñaFac.Attributes.Add("value", "");
            }
            //Base de datos
            txbServidor.Text = objConfiguracion.sServidorBD.ToString();
            txbUsuario.Text = objConfiguracion.sUsuarioBD.ToString();
            txbContraseñaBd.Attributes.Add("value", objConfiguracion.sContraseñaBD.ToString());

            //Diseño
            //txbColor.Text = objConfiguracion.sColorInterfaz.ToString();
            switch (objConfiguracion.sColorInterfaz.ToString())
            {
                case "Verde":
                    rbVerde.Checked = true;
                    break;
                case "Verde1":
                    rbVerde1.Checked = true;
                    break;
                case "Azul":
                    rbAzul.Checked = true;
                    break;
                case "Azul1":
                    rbAzul1.Checked = true;
                    break;
                case "Cafe":
                    rbCafe.Checked = true;
                    break;
                case "Rojo":
                    rbRojo.Checked = true;
                    break;
                case "Amarillo":
                    rbAmarillo.Checked = true;
                    break;
                case "Naranja":
                    rbNaranja.Checked = true;
                    break;
                case "Morado":
                    rbMorado.Checked = true;
                    break;
                case "Gris":
                    rbGris.Checked = true;
                    break;
            }
            
            lbLogotipo.Text = objConfiguracion.sRutaBaner.ToString();


            //Folios
            txbFolioPedidos.Text = objConfiguracion.iFolioPedidos.ToString();
            if (objConfiguracion.iPedidosAutomatico == 1)
                ckbPedidos.Checked = true;
            else
                ckbPedidos.Checked = false;

            txbFolioRecetas.Text = objConfiguracion.iFolioRecetas.ToString();
            if (objConfiguracion.iRecetasAutomatico == 1)
                ckbRecetas.Checked = true;
            else
                ckbRecetas.Checked = false;

            txbFolioRemisiones.Text = objConfiguracion.iFolioRemisiones.ToString();
            if (objConfiguracion.iRemisionesAutomatico == 1)
                ckbRemisiones.Checked = true;
            else
                ckbRemisiones.Checked = false;

            txbFolioFacturas.Text = objConfiguracion.iFolioFacturas.ToString();
            if (objConfiguracion.iFacturasAutomatico == 1)
                ckbFacturas.Checked = true;
            else
                ckbFacturas.Checked = false;

            if (objConfiguracion.iVentasNegativas == 1)
                ckbVentasNegativas.Checked = true;
            else
                ckbVentasNegativas.Checked = false;

            //Datos del SMTP
            txbSevidorSmtp.Text = objConfiguracion.sServidorSmtp.ToString();
            txbUsuarioSmtp.Text = objConfiguracion.sCorreoEmisor.ToString();
            txbPuertoSmtp.Text=objConfiguracion.sPuertoSmtp.ToString();
            txbContraseñaSmtp.Attributes.Add("value",objConfiguracion.sContraseñaSmtp.ToString());

            //Renglones de detalle en las facturas
            txbNumRenglonesFactura.Text=objConfiguracion.iNoMaxRenglonesFactura.ToString();
                
            
            //Variables auxiliares para cuando guardan y no modifican los paths
            Session["sAuxCertificado"] = objConfiguracion.sRutaCertificado.ToString();
            Session["sAuxLlave"] = objConfiguracion.sRutaLlave.ToString();
            try
            {
                Session["sAuxFirma"] = objConfiguracion.sRutaFirma.ToString();
            }
            catch
            {
                Session["sAuxFirma"] = "";
            }
            Session["sAuxLogotipo"] = objConfiguracion.sRutaBaner.ToString();

        }
Exemplo n.º 15
0
        protected void imbAgregarDetalle_Click(object sender, ImageClickEventArgs e)
        {
            lblAviso.Text = "";
            int iIdProducto = MedDalProducto.idProducto;

            MedNeg.Usuarios.BlUsuarios oblUsuarios = new MedNeg.Usuarios.BlUsuarios();
            MedDAL.DAL.usuarios oUsuario = new MedDAL.DAL.usuarios();
            oUsuario = (MedDAL.DAL.usuarios)oblUsuarios.Buscar(int.Parse(Session["usuarioid"].ToString()));

            MedNeg.Productos.BlProductos oblProducto = new MedNeg.Productos.BlProductos();
            List<MedDAL.DAL.productos_almacen> lstProductosAlmacen = new List<MedDAL.DAL.productos_almacen>();
            lstProductosAlmacen.AddRange(oblProducto.ObtenerExistenciaProducto(iIdProducto, oUsuario.idAlmacen, ddlProductoLotes.SelectedValue, ddlProductoSeries.SelectedValue));

            string sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            MedNeg.Configuracion.BlConfiguracion oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion objConfiguracion = new MedDAL.Configuracion.DALConfiguracion();
            objConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

            decimal dCantidad = decimal.Parse(txbCantSurtida.Text);

            if (lstProductosAlmacen.Count != 0)
            {
                if ((lstProductosAlmacen[0].Cantidad >= dCantidad || (objConfiguracion.iVentasNegativas == 1 && lstProductosAlmacen[0].Cantidad < dCantidad)) && lstProductosAlmacen[0].FechaCaducidad.Value > DateTime.Today)
                {            
                    MedDAL.DAL.recetas_partida oRecetaPartida = new MedDAL.DAL.recetas_partida();
                    oRecetaPartida.idProducto = MedDalProducto.idProducto;
                    oRecetaPartida.idLineaCredito = int.Parse(cmbLineasCredito.SelectedValue);
                    oRecetaPartida.CantidadRecetada = decimal.Parse(txbCantRecetada.Text);
                    oRecetaPartida.CantidaSurtida = decimal.Parse(txbCantSurtida.Text);
                    oRecetaPartida.Precio = MedDalProducto.PrecioPublico;
                    oRecetaPartida.Lote = ddlProductoLotes.SelectedValue;
                    oRecetaPartida.NoSerie = ddlProductoSeries.SelectedValue;
                    oRecetaPartida.PrimeraIntencion = rdbIntencionPrimera.Checked;
                    oRecetaPartida.SegundaIntencion = rdbIntencionSegunda.Checked;

                    MedNeg.Causes.BlCauses oBLCauses = new MedNeg.Causes.BlCauses();
                    MedDAL.DAL.causes_cie oCausesCie = oBLCauses.BuscarCie(txbClaveCie.Text);
                    if (oCausesCie != null)
                    {
                        oRecetaPartida.Cause = true;
                        oRecetaPartida.idCausesCie = oCausesCie.idCauseCie;
                        oRecetaPartida.causes_cie = new MedDAL.DAL.causes_cie();
                        oRecetaPartida.causes_cie.Clave = oCausesCie.Clave;
                    }
                    else
                    {
                        oRecetaPartida.Cause = false;
                        oRecetaPartida.idCausesCie = null;
                    }
                    
                    //oRecetaPartida.Cause = rdbCauseSi.Checked;
                    oRecetaPartida.Factura = false;
                    oRecetaPartida.lineas_creditos = new MedDAL.DAL.lineas_creditos();
                    oRecetaPartida.lineas_creditos.Clave = cmbLineasCredito.SelectedItem.ToString();
                    oRecetaPartida.productos = new MedDAL.DAL.productos();
                    oRecetaPartida.productos.Nombre = txbProducto.Text;
                    oRecetaPartida.productos.Clave1 = txbClave.Text;
                    

                    if (lstProductosAlmacen[0].FechaCaducidad.Value <= DateTime.Today)
                    {
                        ScriptManager.RegisterStartupScript(upnForm, upnForm.GetType(), "alertstock", "alertarCaducidad(3);", true);
                    }
                    else if (lstProductosAlmacen[0].FechaCaducidad.Value <= DateTime.Today.AddDays(objConfiguracion.iCaducidad)) {
                        ScriptManager.RegisterStartupScript(upnForm, upnForm.GetType(), "alertstock", "alertarCaducidad(2);", true);
                    }
                    //else if (lstProductosAlmacen[0].FechaCaducidad.Value <= DateTime.Today) 
                    //{
                        
                    //}

                    /*Producto pTemp = new Producto(MedDalProducto, MedDalProducto.Clave1, MedDalProducto.Nombre,
                                              decimal.Parse(txbCantRecetada.Text),
                                              decimal.Parse(txbCantSurtida.Text),
                                              ddlProductoLotes.SelectedValue,
                                              ddlProductoSeries.SelectedValue,
                                              (decimal)0,
                                              //decimal.Parse(ddlPrecios.SelectedItem.Text),
                                              rdbIntencionPrimera.Checked ? 1 : 2,
                                              rdbCauseSi.Checked,
                                              blRecetas.buscarLineaCredito(idAlmacen, MedDalProducto.idProducto, ddlProductoSeries.SelectedValue, ddlProductoLotes.SelectedValue)
                                              );*/
                    if (estadoActual == 2)
                    {
                        ((List<MedDAL.DAL.recetas_partida>)Session["lstrecetaspartidaedicion"]).Add(oRecetaPartida);
                        
                        int iContador = ((List<MedDAL.DAL.recetas_partida>)Session["lstrecetaspartida"]).Count + 1 - ((List<MedDAL.DAL.recetas_partida>)Session["lstrecetaspartidaedicion"]).Count;
                        int i = 0;

                        foreach (GridViewRow oRow in dgvPartidaDetalle.Rows)
                        {
                            oRow.Cells[9].Controls.Clear();
                            i++;
                            if (i == iContador) break;
                        }                                            
                    }
                    ((List<MedDAL.DAL.recetas_partida>)Session["lstrecetaspartida"]).Add(oRecetaPartida);
                    dgvPartidaDetalle.DataBind();
                    //GT 14-10-2011 0578 Aqui es el lugar correcto donde se debe de limpiar el txbCantidadSurtida y no en los eventos text_changed de clave o producto por que la función inicializaGuiPartida va a borrar lo que el usuario capturo en el textbox de cantidad surtida, por eso se comenta esa linea en la funcion y se pone aqui
                    inicializaGuiPartida(true, true);
                    txbCantSurtida.Text = "0";
                    txbCantRecetada.Text = "0";
                }
                else if (objConfiguracion.iVentasNegativas == 0 && lstProductosAlmacen[0].Cantidad < dCantidad)
                {
                    ScriptManager.RegisterStartupScript(upnForm, upnForm.GetType(), "alertstock", "alertarStock(2);", true);
                }
                else if (lstProductosAlmacen[0].FechaCaducidad.Value <= DateTime.Today) 
                {
                    ScriptManager.RegisterStartupScript(upnForm, upnForm.GetType(), "alertstock", "alertarCaducidad(3);", true);
                }
            }
        }
Exemplo n.º 16
0
		protected void Page_Load(object sender, EventArgs e)
		{
            sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            #region Interfaz
            //Hashtable htbPermisos = (Hashtable)Session["permisos"];
            //char cPermiso = (char)htbPermisos["estados"];
            Master.FindControl("btnNuevo").Visible = false;
            Master.FindControl("btnEliminar").Visible = false;
            Master.FindControl("btnMostrar").Visible = false;
            Master.FindControl("btnReportes").Visible = false;
            Master.FindControl("rdbFiltro1").Visible = false;
            Master.FindControl("rdbFiltro2").Visible = false;
            Master.FindControl("rdbFiltro3").Visible = false;
            Master.FindControl("btnBuscar").Visible = false;
            Master.FindControl("txtBuscar").Visible = false;
            Master.FindControl("lblBuscar").Visible = false;
            Master.FindControl("btnImprimir").Visible = false;

            //imbNuevo = (ImageButton)Master.FindControl("imgBtnNuevo");
            //imbNuevo.Click += new ImageClickEventHandler(this.imbNuevo_Click);
            imbEditar = (ImageButton)Master.FindControl("imgBtnEditar");
            imbEditar.Click += new ImageClickEventHandler(this.imbEditar_Click);
            //imbEliminar = (ImageButton)Master.FindControl("imgBtnEliminar");
            //imbEliminar.Click += new ImageClickEventHandler(this.imbEliminar_Click);
            //imbMostrar = (ImageButton)Master.FindControl("imgBtnMostrar");
            //imbMostrar.Click += new ImageClickEventHandler(this.imbMostrar_Click);
            //imbReportes = (ImageButton)Master.FindControl("imgBtnReportes");
            //imbReportes.Visible = false;
            imbAceptar = (ImageButton)Master.FindControl("imgBtnAceptar");
            imbAceptar.Click += new ImageClickEventHandler(this.imbAceptar_Click);
            imbAceptar.ValidationGroup = "Configuracion";
            imbCancelar = (ImageButton)Master.FindControl("imgBtnCancelar");
            imbCancelar.Click += new ImageClickEventHandler(this.imbCancelar_Click);
            //rdbTodos = (RadioButton)Master.FindControl("rdbFiltro1");
            //rdbTodos.Text = "Nombre y Clave";
            //rdbTodos.Checked = true;
            //rdbClave = (RadioButton)Master.FindControl("rdbFiltro2");
            //rdbClave.Text = "Clave";
            //rdbNombre = (RadioButton)Master.FindControl("rdbFiltro3");
            //rdbNombre.Text = "Nombre";
            //lblReportes = (Label)Master.FindControl("lblReportes");
            //lblReportes.Visible = false;
            //btnBuscar = (Button)Master.FindControl("btnBuscar");
            //btnBuscar.Click += new EventHandler(this.btnBuscar_Click);
            //txbBuscar = (TextBox)Master.FindControl("txtBuscar");
            //Master.FindControl("btnReportes").Visible = false;
            //Master.FindControl("btnReportes").Visible = false;
           

            lblNombreModulo = (Label)Master.FindControl("lblNombreModulo");
            lblNombreModulo.Text = "Configuración";
            #endregion

            if (!IsPostBack)
            {
              
                //if (File.Exists("C:\\Bioxor\\Medicuri\\Configuracion.xml"))
                if (File.Exists(sRutaArchivoConfig))
                    CargarDatos();
                else
                {
                    //StreamWriter strWriter = new StreamWriter("C:\\Bioxor\\Medicuri\\Configuracion.xml");
                    StreamWriter strWriter = new StreamWriter(sRutaArchivoConfig);
                    strWriter.Close();
                    odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();
                    
                    odalConfiguracion.sRazonSocial = "";
                    odalConfiguracion.sRfc = "";
                    odalConfiguracion.sDomicilio = "";
                    odalConfiguracion.sCodigoPostal = "";
                    odalConfiguracion.sMunicipio = "";
                    odalConfiguracion.sEstado = "";
                    odalConfiguracion.sPais = "";
                    odalConfiguracion.sRutaCertificado = "";
                    odalConfiguracion.sRutaLlave="";
                    odalConfiguracion.sRutaFirma = "";
                    odalConfiguracion.sContraseña = "";
                    odalConfiguracion.sServidorBD = "";
                    odalConfiguracion.sUsuarioBD = "";
                    odalConfiguracion.sContraseñaBD = "";
                    odalConfiguracion.sColorInterfaz = "";
                    odalConfiguracion.sRutaBaner="";
                    odalConfiguracion.sServidorSmtp="";
                    odalConfiguracion.sPuertoSmtp = "";
                    odalConfiguracion.sCorreoEmisor = "";
                    odalConfiguracion.sContraseñaSmtp = "";

                    oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
                    oblConfiguracion.GuardarDatos(odalConfiguracion, sRutaArchivoConfig);
                    rbVerde.Checked = true;

                }
                
                Deshabilita();
                //GT 0175
                ConfigurarMenuBotones(false, false, false, true, false, false, false, false);

            }
           
            
		}
Exemplo n.º 17
0
        protected void imbAceptar_Click(object sender, EventArgs e)
        {
            int iResult;

            sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            if (ValidarControles())
            {
                odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();

                odalConfiguracion.sRazonSocial   = txbRazonSocial.Text.ToString();
                odalConfiguracion.sRfc           = txbRfc.Text.ToString();
                odalConfiguracion.sRegimenFiscal = txbRegimenFiscal.Text.ToString();
                odalConfiguracion.sDomicilio     = txbDomicilio.Text.ToString();
                odalConfiguracion.sCodigoPostal  = txbCodigoPostal.Text;
                odalConfiguracion.sMunicipio     = txbMunicipio.Text;
                odalConfiguracion.sEstado        = txbEstado.Text;
                odalConfiguracion.sPais          = txbPais.Text;

                if (txbCaducidad.Text == "" || !int.TryParse(txbCaducidad.Text, out iResult))
                {
                    odalConfiguracion.iCaducidad = 0;
                }
                else
                {
                    odalConfiguracion.iCaducidad = int.Parse(txbCaducidad.Text);
                }
                if (ofdCertificado.FileName.Equals(""))
                {
                    odalConfiguracion.sRutaCertificado = Session["sAuxCertificado"].ToString();
                }
                else
                {
                    odalConfiguracion.sRutaCertificado = ofdCertificado.FileName.ToString();
                }

                if (ofdLlave.FileName.Equals(""))
                {
                    odalConfiguracion.sRutaLlave = Session["sAuxLlave"].ToString();
                }
                else
                {
                    odalConfiguracion.sRutaLlave = ofdLlave.FileName.ToString();
                }

                if (ofdFirma.FileName.Equals(""))
                {
                    odalConfiguracion.sRutaFirma = Session["sAuxFirma"].ToString();
                }
                else
                {
                    odalConfiguracion.sRutaFirma = ofdFirma.FileName.ToString();
                }

                odalConfiguracion.sContraseña   = txbContraseñaFac.Text.ToString();
                odalConfiguracion.sServidorBD   = txbServidor.Text.ToString();
                odalConfiguracion.sUsuarioBD    = txbUsuario.Text.ToString();
                odalConfiguracion.sContraseñaBD = txbContraseñaFac.Text.ToString();
                //odalConfiguracion.sColorInterfaz = txbColor.Text.ToString();

                if (rbVerde.Checked == true)
                {
                    odalConfiguracion.sColorInterfaz = "Verde";
                }
                if (rbVerde1.Checked == true)
                {
                    odalConfiguracion.sColorInterfaz = "Verde1";
                }
                if (rbAzul.Checked == true)
                {
                    odalConfiguracion.sColorInterfaz = "Azul";
                }
                if (rbAzul1.Checked == true)
                {
                    odalConfiguracion.sColorInterfaz = "Azul1";
                }
                if (rbCafe.Checked == true)
                {
                    odalConfiguracion.sColorInterfaz = "Cafe";
                }
                if (rbRojo.Checked == true)
                {
                    odalConfiguracion.sColorInterfaz = "Rojo";
                }
                if (rbAmarillo.Checked == true)
                {
                    odalConfiguracion.sColorInterfaz = "Amarillo";
                }
                if (rbNaranja.Checked == true)
                {
                    odalConfiguracion.sColorInterfaz = "Naranja";
                }
                if (rbMorado.Checked == true)
                {
                    odalConfiguracion.sColorInterfaz = "Morado";
                }
                if (rbGris.Checked == true)
                {
                    odalConfiguracion.sColorInterfaz = "Gris";
                }


                if (ofdLogotipo.FileName.Equals(""))
                {
                    odalConfiguracion.sRutaBaner = Session["sAuxLogotipo"].ToString();
                }
                else
                {
                    odalConfiguracion.sRutaBaner = ofdLogotipo.FileName.ToString();
                }

                if (txbFolioPedidos.Text.Equals(""))
                {
                    odalConfiguracion.iFolioPedidos = 0;
                }
                else
                {
                    odalConfiguracion.iFolioPedidos = Convert.ToInt32(txbFolioPedidos.Text);
                }

                if (txbFolioRemisiones.Text.Equals(""))
                {
                    odalConfiguracion.iFolioRemisiones = 0;
                }
                else
                {
                    odalConfiguracion.iFolioRemisiones = Convert.ToInt32(txbFolioRemisiones.Text);
                }

                if (txbFolioRecetas.Text.Equals(""))
                {
                    odalConfiguracion.iFolioRecetas = 0;
                }
                else
                {
                    odalConfiguracion.iFolioRecetas = Convert.ToInt32(txbFolioRecetas.Text);
                }

                if (txbFolioFacturas.Text.Equals(""))
                {
                    odalConfiguracion.iFolioFacturas = 0;
                }
                else
                {
                    odalConfiguracion.iFolioFacturas = Convert.ToInt32(txbFolioFacturas.Text);
                }

                if (ckbPedidos.Checked == true)
                {
                    odalConfiguracion.iPedidosAutomatico = 1;
                }
                else
                {
                    odalConfiguracion.iPedidosAutomatico = 0;
                }

                if (ckbRemisiones.Checked == true)
                {
                    odalConfiguracion.iRemisionesAutomatico = 1;
                }
                else
                {
                    odalConfiguracion.iRemisionesAutomatico = 0;
                }

                if (ckbRecetas.Checked == true)
                {
                    odalConfiguracion.iRecetasAutomatico = 1;
                }
                else
                {
                    odalConfiguracion.iRecetasAutomatico = 0;
                }

                if (ckbFacturas.Checked == true)
                {
                    odalConfiguracion.iFacturasAutomatico = 1;
                }
                else
                {
                    odalConfiguracion.iFacturasAutomatico = 0;
                }

                if (ckbVentasNegativas.Checked == true)
                {
                    odalConfiguracion.iVentasNegativas = 1;
                }
                else
                {
                    odalConfiguracion.iVentasNegativas = 0;
                }

                //SMTP
                odalConfiguracion.sServidorSmtp   = txbSevidorSmtp.Text.ToString();
                odalConfiguracion.sPuertoSmtp     = txbPuertoSmtp.Text.ToString();
                odalConfiguracion.sCorreoEmisor   = txbUsuarioSmtp.Text.ToString();
                odalConfiguracion.sContraseñaSmtp = txbContraseñaSmtp.Text.ToString();

                //Num maximo de renglones
                if (txbNumRenglonesFactura.Text == "")
                {
                    odalConfiguracion.iNoMaxRenglonesFactura = 20;
                }
                else
                {
                    odalConfiguracion.iNoMaxRenglonesFactura = Convert.ToInt32(txbNumRenglonesFactura.Text);
                }

                oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();

                if (oblConfiguracion.GuardarDatos(odalConfiguracion, sRutaArchivoConfig))
                {
                    //Subir los archivos
                    SubirArchivosHacienda();
                    SubirLogo();

                    CargarDatos();
                    Deshabilita();

                    //GT 0175
                    ConfigurarMenuBotones(false, false, false, true, false, false, false, false);
                }
            }
            else
            {
                Habilita();
            }
        }
Exemplo n.º 18
0
        /// <summary>
        /// Carga los detalles de la receta
        /// </summary>
        private void CargaReceta(string sFolio)
        {
            ////TODO: GT Paso 2: Cuando se recibe una receta para facturar

            //objeto que contiene la receta
            string sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            MedDAL.DAL.recetas oReceta = new MedDAL.DAL.recetas();
            MedNeg.Recetas.BlRecetas oblReceta = new MedNeg.Recetas.BlRecetas();
            
            MedNeg.Configuracion.BlConfiguracion oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();

            odalConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

                   
            /**************** Registrar la partida de la factura *****************/

            //Llenar los datos de la partida de la remisión
            oblReceta = new MedNeg.Recetas.BlRecetas();

            //Recuperar datos de la receta mediante el folio enviado
            oReceta = oblReceta.BuscarRecetaFolio(sFolio);

            //Recuperar la partida del pedido
            var oQuery = oblReceta.RecuperarPartidaRecetas(oReceta.idReceta);
            int iIndiceElemento;
            decimal dGastoAdministracion=0;

            //Recorrer el resultado y meterlo al datagridview
            foreach (MedDAL.DAL.recetas_partida oDetalle in oQuery)
            {
                //Buscar si ya existe el producto en la lista, si es así entonces solo se modifica la cantidad surtida,
                //de lo contrario entonces se crea un renglon nuevo y se incrementa el contador

                iIndiceElemento = lstDetalleReceta.FindIndex(det => det.iIdProducto == oDetalle.idProducto);
                if (iIndiceElemento > -1)
                {
                    lstDetalleReceta[iIndiceElemento].dCantidad += Convert.ToDecimal(oDetalle.CantidaSurtida);
                }
                else
                {
                    //Identificar que precio o monto se debe de enviar acorde a los filtros
                    //si es por gasto de admon relacionado al producto se toma el campo 9
                    if (chkGtoAdmon.Checked == true && rblGenerarFacturaTipo.SelectedValue=="1")
                        dGastoAdministracion = Convert.ToDecimal(oDetalle.productos.Campo9);
                    if (chkMonto.Checked == true && rblGenerarFacturaTipo.SelectedValue == "1")
                        dGastoAdministracion = Convert.ToDecimal(txbMonto.Text);
                    if (chkPorcentaje.Checked == true && rblGenerarFacturaTipo.SelectedValue == "1")
                        dGastoAdministracion = Convert.ToDecimal(oDetalle.Precio * (Convert.ToDecimal(txbPorcentaje.Text) / 100));
                    

                    MedNeg.Facturas.BlDetalleFacturaReceta oblDetallePartida = new MedNeg.Facturas.BlDetalleFacturaReceta(
                        Convert.ToInt32(oDetalle.idProducto),
                        oDetalle.productos.Clave1,
                        oDetalle.productos.Nombre,
                        Convert.ToDecimal(oDetalle.CantidaSurtida),
                        Convert.ToDecimal(oDetalle.productos.TasaIeps),
                        Convert.ToDecimal(oDetalle.productos.tipo_iva.Iva),
                        dGastoAdministracion,
                        Convert.ToDecimal(oDetalle.Precio),
                        "",
                        Convert.ToDecimal(0),
                        oDetalle.idLineaCredito,
                        oReceta.idReceta);
                    
                    lstDetalleReceta.Add(oblDetallePartida);
                    iContadorRenglones++;
                }


                //Saber si ya se va a mandar a facturar
                if (iContadorRenglones == odalConfiguracion.iNoMaxRenglonesFactura && cmbModoFactura.SelectedValue == "1")
                {
                    CrearFactura(lstDetalleReceta, 1);
                    
                    //Re iniciar contadores y listas
                    iContadorRenglones = 0;
                    lstDetalleReceta.Clear();
                }

            }

            //Si al terminar el foreach el contador de renglones es menor a odalConfiguracion.iNoMaxRenglonesFactura
            //quiere decir que quedan reglones por facturar es por eso que se requiere nuevamente esta validación
            if (iContadorRenglones < odalConfiguracion.iNoMaxRenglonesFactura && cmbModoFactura.SelectedValue == "1")
            {
                CrearFactura(lstDetalleReceta, 1);

                //Re iniciar contadores y listas
                iContadorRenglones = 0;
                lstDetalleReceta.Clear();
            }

            //JID Si el modo de factura es electronico, hace el proceso con la lista completa
            if (cmbModoFactura.SelectedValue == "2")
            {
                CrearFactura(lstDetalleReceta, 2);

                //Re iniciar contadores y listas
                iContadorRenglones = 0;
                lstDetalleReceta.Clear();
            }

      }
Exemplo n.º 19
0
         /// <summary>
         /// Actualizar el folio de pedidos
         /// </summary>
         /// <param name="sRutaArchivoConfig"></param>
        public void ActualizarFolioPedido(string sRutaArchivoConfig)
        {
            MedNeg.Configuracion.BlConfiguracion oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();

            odalConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

            //Incrementar el folio
            if (odalConfiguracion.iPedidosAutomatico == 1)
            {
                odalConfiguracion.iFolioPedidos++;
                oblConfiguracion.GuardarDatos(odalConfiguracion, sRutaArchivoConfig);
            }
        }
Exemplo n.º 20
0
        protected void imbAgregarDetalle_Click(object sender, ImageClickEventArgs e)
        {
            lblAviso.Text = "";
            //Evitar mandar valores nullos para las conversiones
            decimal dCantidad, dIeps, dImp1 = 0, dImp2 = 0, dIva, dPrecio, dTotal;
            bool bEsEnsamble;

            if (txbCant.Text.Equals(""))
                dCantidad = 0;
            else
                dCantidad = int.Parse(txbCant.Text);

            //Calcular el total
            dPrecio = decimal.Parse(cmbPrecios.SelectedValue);
            dTotal = dCantidad * dPrecio;

            //IEPS
            if (txbIeps.Text.Equals(""))
                dIeps = 0;
            else
                dIeps = dTotal * (decimal.Parse(txbIeps.Text) / 100);

            ////Imp1
            //if (txbImp1.Text.Equals(""))
            //    dImp1 = 0;
            //else
            //    dImp1 = dTotal * (decimal.Parse(txbImp1.Text) / 100);

            /////Imp2
            //if (txbImp2.Text.Equals(""))
            //    dImp2 = 0;
            //else
            //    dImp2 = dTotal * (decimal.Parse(txbImp2.Text) / 100);

            ///Iva
            if (txbIva.Text.Equals(""))
                dIva = 0;
            else
                dIva = dTotal * (decimal.Parse(txbIva.Text) / 100);


            //Agregar los impuestos al total
            dTotal += dIeps + dImp1 + dImp2 + dIva;

            //Recuperar el id del producto para ya tenerlo en la lista
            MedNeg.Productos.BlProductos oblProducto = new MedNeg.Productos.BlProductos();
            int iIdProducto = oblProducto.RecuperarIdProducto(txbClave.Text);

            MedNeg.Usuarios.BlUsuarios oblUsuarios = new MedNeg.Usuarios.BlUsuarios();
            MedDAL.DAL.usuarios oUsuario = new MedDAL.DAL.usuarios();
            oUsuario = (MedDAL.DAL.usuarios)oblUsuarios.Buscar(int.Parse(Session["usuarioid"].ToString()));

            List<MedDAL.DAL.productos_almacen> lstProductosAlmacen = new List<MedDAL.DAL.productos_almacen>();
            lstProductosAlmacen.AddRange(oblProducto.ObtenerExistenciaProducto(iIdProducto, oUsuario.idAlmacen));

            string sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            MedNeg.Configuracion.BlConfiguracion oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion objConfiguracion = new MedDAL.Configuracion.DALConfiguracion();
            objConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);
            
            if (lstProductosAlmacen.Count != 0)
            {
                if (lstProductosAlmacen[0].Cantidad >= dCantidad || (objConfiguracion.iVentasNegativas == 1 && lstProductosAlmacen[0].Cantidad < dCantidad))
                {
                    if ((int)Session["sBolEsEnsamble"] == 1)
                        bEsEnsamble = true;
                    else
                        bEsEnsamble = false;

                    //Crear el objeto ya con sus parametros
                    oblDetallePartida = new MedNeg.Facturas.BlDetallePartida(
                        iIdProducto,
                        txbClave.Text,
                        txbProducto.Text,
                        dCantidad,
                        dIeps,
                        //dImp1,
                        //dImp2,
                        dIva,
                        dPrecio,
                        txbObservaciones.Text,
                        dTotal,
                        txbProducto.Text,
                        bEsEnsamble);

                    //Agregar el objeto detalle partida al objeto lstDetallePartidaPedidos
                    ((List<MedNeg.Facturas.BlDetallePartida>)Session["lstDetallePartidaPedidos"]).Add(oblDetallePartida);
                    Session["sTotalFactura"] = Convert.ToDecimal(Session["sTotalFactura"]) + dTotal;
                    lblTotal.Text = "TOTAL:$" + Session["sTotalFactura"].ToString();
                    dgvPartidaDetalle.DataBind();
                    LimpiarDatosDetalle();
                    txbClave.Focus();
                }
                else if (objConfiguracion.iVentasNegativas == 0 && lstProductosAlmacen[0].Cantidad < dCantidad)
                {
                    lblAviso.Text = "El producto que desea agregar no cuenta con suficientes existencias";
                }
            }
        }
Exemplo n.º 21
0
        /// <summary>
        /// Agregar detalle a la partida
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void imbAgregarDetalle_Click(object sender, ImageClickEventArgs e)
        {
            lblAviso.Text = "";
            //Evitar mandar valores nullos para las conversiones
            //int iCantidad;
            decimal dCantidad,dIeps, dImp1=0, dImp2=0, dIva, dPrecio, dTotal;

            if (txbCant.Text.Equals(""))
                dCantidad = 0;
            else
                dCantidad = int.Parse(txbCant.Text);

            //Calcular el total
            dPrecio = decimal.Parse(cmbPrecios.SelectedValue);
            dTotal = dCantidad * dPrecio;

            //IEPS
            if (txbIeps.Text.Equals(""))
                dIeps = 0;
            else
                dIeps = dTotal * (decimal.Parse(txbIeps.Text) / 100);

            ////Imp1
            //if (txbImp1.Text.Equals(""))
            //    dImp1 = 0;
            //else
            //    dImp1 = dTotal * (decimal.Parse(txbImp1.Text) / 100);

            /////Imp2
            //if (txbImp2.Text.Equals(""))
            //    dImp2 = 0;
            //else
            //    dImp2 = dTotal * (decimal.Parse(txbImp2.Text) / 100);

            ///Iva
            if (txbIva.Text.Equals(""))
                dIva = 0;
            else
                dIva = dTotal * (decimal.Parse(txbIva.Text) / 100);


            //Agregar los impuestos al total
            dTotal += dIeps + dImp1 + dImp2 + dIva;

            //Recuperar el id del producto para ya tenerlo en la lista
            MedNeg.Productos.BlProductos oblProducto = new MedNeg.Productos.BlProductos();
            int iIdProducto = oblProducto.RecuperarIdProducto(txbClave.Text);

            MedNeg.Usuarios.BlUsuarios oblUsuarios = new MedNeg.Usuarios.BlUsuarios();
            MedDAL.DAL.usuarios oUsuario = new MedDAL.DAL.usuarios();
            oUsuario = (MedDAL.DAL.usuarios)oblUsuarios.Buscar(int.Parse(Session["usuarioid"].ToString()));

            List<MedDAL.DAL.productos_almacen> lstProductosAlmacen = new List<MedDAL.DAL.productos_almacen>();
            lstProductosAlmacen.AddRange(oblProducto.ObtenerExistenciaProducto(iIdProducto, oUsuario.idAlmacen));

            string sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            MedNeg.Configuracion.BlConfiguracion oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion objConfiguracion = new MedDAL.Configuracion.DALConfiguracion();
            objConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

            if (lstProductosAlmacen.Count != 0)
            {
                if (lstProductosAlmacen[0].Cantidad >= dCantidad || (objConfiguracion.iVentasNegativas == 1 && lstProductosAlmacen[0].Cantidad < dCantidad) || lstProductosAlmacen[0].FechaCaducidad.Value > DateTime.Today)
                {
                    // 0087 Datos del ensamble
                    bool bEsEnsamble;
                    if ((int)Session["sBolEsEnsamble"] == 1)
                        bEsEnsamble = true;
                    else
                        bEsEnsamble = false;

                    //Crear el objeto ya con sus parametros
                    oblDetallePartida = new MedNeg.Facturas.BlDetallePartida(
                        iIdProducto,
                        txbClave.Text,
                        txbProducto.Text,
                        dCantidad,
                        dIeps,
                        //dImp1,
                        //dImp2,
                        dIva,
                        dPrecio,
                        txbObservaciones.Text,
                        dTotal,
                        txbProducto.Text, // 0087 Datos del ensamble
                        bEsEnsamble); // 0087 Datos del ensamble

                    //Agregar el objeto detalle partida al objeto lstDetallePartida
                    ((List<MedNeg.Facturas.BlDetallePartida>)Session["lstDetallePartida"]).Add(oblDetallePartida);
                    dgvPartidaDetalle.DataBind();

                    //GT: Agregar los nuevos detalles a una lista alterna para poder modificar sus existencias sin duplicar las de los productos ya existentes
                    if ((int)Session["accion"] == 2)
                        ((List<MedNeg.Facturas.BlDetallePartida>)Session["lstremisionespartidaedicion"]).Add(oblDetallePartida);



                    Session["sTotalFactura"] = Convert.ToDecimal(Session["sTotalFactura"]) + dTotal;
                    lblTotal.Text = "TOTAL:$" + Session["sTotalFactura"].ToString();
                    LimpiarDatosDetalle();
                    txbClave.Focus();

                    if (lstProductosAlmacen[0].FechaCaducidad.Value <= DateTime.Today.AddDays(objConfiguracion.iCaducidad))
                    {
                        ScriptManager.RegisterStartupScript(pnlFormulario, pnlFormulario.GetType(), "alertstock", "alertarCaducidad(2);", true);
                    }
                }
                else if (objConfiguracion.iVentasNegativas == 0 && lstProductosAlmacen[0].Cantidad < dCantidad)
                {
                    ScriptManager.RegisterStartupScript(pnlFormulario, pnlFormulario.GetType(), "alertstock", "alertarStock(2);", true);  
                }
                else if (lstProductosAlmacen[0].FechaCaducidad.Value <= DateTime.Today)
                {
                    ScriptManager.RegisterStartupScript(pnlFormulario, pnlFormulario.GetType(), "alertstock", "alertarCaducidad(3);", true);
                }
            }
        }
Exemplo n.º 22
0
        /// <summary>
        /// Generacion de factura electronica
        /// </summary>
        /// <param name="iIdFactura"></param>
        /// <param name="sRutaArchivos"></param>
        /// <param name="sUsuario"></param>
        /// <param name="iIdCliente"></param>
        /// <param name="?"></param>
        /// <param name="sFolioFactura"></param>
        public int GenerarFacturaElectronica(int iIdFactura, string sRutaArchivos, string sUsuario,int iIdCliente,string sFolioFactura)
        {
            int iResultado = 0;
            //Datos de la factura
            MedNeg.Facturas.BlFacturas oblFactura = new BlFacturas();
            MedDAL.DAL.facturas oFactura = new MedDAL.DAL.facturas();

            //Datos de la factura
            oFactura = oblFactura.BuscarFactura(iIdFactura);            
            
            //Recuperar la partida de la factura
            List<MedDAL.DAL.facturas_partida> oQuery = new List<MedDAL.DAL.facturas_partida>();
            oQuery.AddRange(oblFactura.RecuperarPartidaFactura(oFactura.idFactura));
            decimal dSubtotal = 0;
            decimal dImpuestosTrasladados = 0;
            decimal dTotal = 0;

            //Recorrer el resultado de la partida para obtener el total
            foreach (MedDAL.DAL.facturas_partida oDetalle in oQuery)
            {
                dSubtotal += oDetalle.Cantidad * oDetalle.Precio;
                dImpuestosTrasladados += (decimal)oDetalle.Iva + (decimal)oDetalle.IEPS;
            }
            //Total
            dTotal = dSubtotal + dImpuestosTrasladados;

            DateTime dtFechaTest = DateTime.Now;
            string sNumeroCertificado = "";
            string sA, sB, sC;

            //Leer archivo de configuracion
            MedNeg.Configuracion.BlConfiguracion oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();

            odalConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivos+"/Configuracion.xml");
            
            //Comprobante.SelloDigital.leerCER(sRutaArchivos + "/Certificados/aaa010101aaa_csd_06.cer", out sA, out sB, out sC, out sNumeroCertificado);
            Comprobante.SelloDigital.leerCER(sRutaArchivos + "/Facturacion/"+odalConfiguracion.sRutaCertificado, out sA, out sB, out sC, out sNumeroCertificado);

            //Establecer el numero de cuenta
            string sNumeroCuenta = null;
            if (oFactura.metodo_pago.MetodoPago.Equals("depósito en cuenta", StringComparison.InvariantCultureIgnoreCase) ||
                oFactura.metodo_pago.MetodoPago.Equals("traspaso", StringComparison.InvariantCultureIgnoreCase))
            {
                sNumeroCuenta = oFactura.NumeroCuentaPago;
            }
            

            //Debo validar la vigencia del certificado con sa <= FechaEmision <= sB

            #region generarcomprobante

            //Construir objeto factura
            Comprobante.ComprobanteFiscalDigital oComprobanteFiscalDigital = new Comprobante.ComprobanteFiscalDigital(
                   "", //Serie 
                   sFolioFactura, //Folio 
                   dtFechaTest.ToString("yyyy-MM-ddThh:mm:ss"), //Fecha
                   oFactura.tipo_forma_pago.FormaPago, //FormaDePago
                   sNumeroCertificado, //NoCertificado
                   "",//"Condiciones de pago",
                   dSubtotal.ToString(), //SubTotal
                   "0",//Descuento
                   "",//Motivo del descuento
                   dTotal.ToString(), //Total
                   oFactura.metodo_pago.MetodoPago, //Metodo de pago
                   "Ingreso", //Tipo de comprobante
                   null, //noAprobacion
                   null, //anoAprobacion
                   "3.2", //version
                   null,//TipoCambio
                   null, //Moneda
                   odalConfiguracion.sEstado + "," + odalConfiguracion.sMunicipio, //LugarExpedicion
                   sNumeroCuenta //NumCtaPago
                   );

            //Pendiente la parte de pagos parciales

            //Empresa o razon social y direccion fiscal
            Comprobante.t_Emisor Emisor = new Comprobante.t_Emisor(
                odalConfiguracion.sRfc,
                    odalConfiguracion.sRazonSocial,
                    odalConfiguracion.sDomicilio, //Calle
                    "", //No exterior
                    "", //No interior
                    "", //Colonia
                    "", //Localidad
                    "",//Emisor Referencia
                    odalConfiguracion.sMunicipio,
                    odalConfiguracion.sEstado,
                    odalConfiguracion.sPais,
                    odalConfiguracion.sCodigoPostal
                );

            Emisor.addRegimenFiscal(odalConfiguracion.sRegimenFiscal);

            oComprobanteFiscalDigital.setEmisor(Emisor);

            //Establece la expedición de la factura, se toman lo datos del almacen
            MedDAL.DAL.usuarios oUsuario = new MedDAL.DAL.usuarios();
            MedNeg.Usuarios.BlUsuarios oblUsuario = new Usuarios.BlUsuarios();
            oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(sUsuario);

            oComprobanteFiscalDigital.setExpedicion(
                    oUsuario.almacenes.Calle.ToString(),//Calle
                    oUsuario.almacenes.NumeroExt.ToString(),//NoExt
                    "", //NoInt
                    oUsuario.almacenes.colonias.Nombre, //Colonia
                    oUsuario.almacenes.poblaciones.Nombre.ToString(), //Población
                    "",//Emisor Referencia Expedicion
                    oUsuario.almacenes.municipios.Nombre.ToString(),//Municipio
                    oUsuario.almacenes.estados.Nombre.ToString(),//Estado
                    oUsuario.almacenes.Pais.ToString(),//Pais
                    oUsuario.almacenes.CodigoPostal.ToString());//CP

            //Establecer los datos del cliente
            MedDAL.DAL.clientes oCliente = new MedDAL.DAL.clientes();
            MedNeg.BlClientes.BlClientes oblClientes = new BlClientes.BlClientes();
            oCliente = oblClientes.BuscarCliente(iIdCliente);

            oComprobanteFiscalDigital.setReceptor(
                oCliente.Rfc.ToString(), //RFC
                oCliente.Nombre.ToString() + " " + oCliente.Apellidos.ToString(), //Nombre
                oCliente.Calle.ToString(), //Calle
                oCliente.NumeroExt.ToString(), //No ext
                oCliente.NumeroInt.ToString(),//No int
                oCliente.colonias.Nombre.ToString(),//Colo
                oCliente.poblaciones.Nombre.ToString(),//Ciudad
                "",//ReferenciaReceptor
                oCliente.municipios.Nombre.ToString(),//Municipio
                oCliente.estados.Nombre.ToString(),//Estado
                "Mexico",//Pais
                oCliente.CodigoPostal.ToString() //Codigo postal
                );


            //Recorrer el resultado de la partida para obtener el total
            foreach (MedDAL.DAL.facturas_partida oDetalle in oQuery)
            {
                string Cantidad, Codigo, Descripcion, Unidad, PrecioUnitario, Importe, ImporteNeto;
                
                decimal dImporte=0;
                Cantidad = oDetalle.Cantidad.ToString();
                //Codigo = oDetalle.productos.Clave1.ToString();
                //Descripcion = oDetalle.productos.Nombre.ToString();
                //0087 Identificar si es un producto o un ensamble
                if (oDetalle.idEnsamble.Equals(null))
                {
                    //Datos del producto
                    Codigo = oDetalle.productos.Clave1.ToString();
                }
                else
                {
                    //Datos del ensamble
                    Codigo = oDetalle.ensamble.ClaveBom.ToString();
                }
                
                Descripcion = oDetalle.Descripcion.ToString();
                Unidad = oDetalle.productos.UnidadMedida;
                PrecioUnitario = oDetalle.Precio.ToString();
                dImporte=oDetalle.Cantidad * oDetalle.Precio;
                Importe = dImporte.ToString();
                

                Comprobante.Concepto C = new Comprobante.Concepto(
                    Cantidad,
                    Unidad, 
                    Codigo, 
                    Descripcion, 
                    PrecioUnitario, 
                    Importe);
                oComprobanteFiscalDigital.addConcepto(C);//aqui agregas el elemento a la partida

            }



            #endregion

            //Commpruebo que sea válido
            if (oComprobanteFiscalDigital.Valido() == true)
            {
                string sCadenaOriginal = oComprobanteFiscalDigital.CadenaOriginal();
                oComprobanteFiscalDigital.Sellar(sRutaArchivos + "/Facturacion/" + odalConfiguracion.sRutaLlave.ToString(), sRutaArchivos + "/Facturacion/" + odalConfiguracion.sRutaCertificado.ToString(), odalConfiguracion.sContraseña.ToString());
                oComprobanteFiscalDigital.XML().Save(sRutaArchivos + "/FacturasElectronicas/FacturaE-" + sFolioFactura + ".xml");
                //return a.XML();
                /*
                 * Modificaciones de POJO: 1 de Noviembre 2011 : Agregando el webservice para timbrado, guardaré los archivos en /Facturacion/Timbrados/
                 */
                FacturaService.TimbradoClient svcT = new FacturaService.TimbradoClient();
                FacturaService.RespuestaCFDi RespuestaCFDi = new FacturaService.RespuestaCFDi();
                
                //Aquí, cambiar la funcion a svcT.Timbrar cuando vayan a mostrarlo en producción, de otra manera, no serán válidos los cfdi's que emitan.
                try
                {
                    byte [] aArchivo = File.ReadAllBytes(sRutaArchivos + "/FacturasElectronicas/FacturaE-" + sFolioFactura + ".xml");
                    RespuestaCFDi = svcT.Timbrar("pojo", "a", aArchivo);                    
                    File.WriteAllBytes(sRutaArchivos + "/FacturasElectronicasTimbradas/FacturaE-" + sFolioFactura + ".xml", RespuestaCFDi.Documento);
                    RespuestaCFDi = svcT.PDF("pojo", "a", File.ReadAllBytes(sRutaArchivos + "/FacturasElectronicasTimbradas/FacturaE-" + sFolioFactura + ".xml"), null);
                    File.WriteAllBytes(sRutaArchivos + "/FacturasElectronicasTimbradas/FacturaE-" + sFolioFactura + ".pdf", RespuestaCFDi.Documento);
                    return 0;
                }
                catch (System.Net.WebException ex)
                {
                    //Sale cuando no encuentra al server
                    return 1;
                }
                catch (System.Web.Services.Protocols.SoapHeaderException ex)
                {

                    return 3;
                }
                catch (Exception ex)
                {
                    //Para excepciones no conocidas
                    return 4;
                }
                /*
                 * Falta: Revisar errores con PAC (¿Cómo los regresas? ¿Qué pasa si algo está mal? ¿el xml fue correctamente construido?¿Una función nueva?)
                 */
            }
            else
            {
                //Sale cuando el certificado no es valido
                return 2;
            }
        }
Exemplo n.º 23
0
        /// <summary>
        /// Generacion de factura electronica
        /// </summary>
        /// <param name="iIdFactura"></param>
        /// <param name="sRutaArchivos"></param>
        /// <param name="sUsuario"></param>
        /// <param name="iIdCliente"></param>
        /// <param name="?"></param>
        /// <param name="sFolioFactura"></param>
        public int GenerarFacturaElectronica(int iIdFactura, string sRutaArchivos, string sUsuario, int iIdCliente, string sFolioFactura)
        {
            int iResultado = 0;

            //Datos de la factura
            MedNeg.Facturas.BlFacturas oblFactura = new BlFacturas();
            MedDAL.DAL.facturas        oFactura   = new MedDAL.DAL.facturas();

            //Datos de la factura
            oFactura = oblFactura.BuscarFactura(iIdFactura);

            //Recuperar la partida de la factura
            List <MedDAL.DAL.facturas_partida> oQuery = new List <MedDAL.DAL.facturas_partida>();

            oQuery.AddRange(oblFactura.RecuperarPartidaFactura(oFactura.idFactura));
            decimal dSubtotal             = 0;
            decimal dImpuestosTrasladados = 0;
            decimal dTotal = 0;

            //Recorrer el resultado de la partida para obtener el total
            foreach (MedDAL.DAL.facturas_partida oDetalle in oQuery)
            {
                dSubtotal             += oDetalle.Cantidad * oDetalle.Precio;
                dImpuestosTrasladados += (decimal)oDetalle.Iva + (decimal)oDetalle.IEPS;
            }
            //Total
            dTotal = dSubtotal + dImpuestosTrasladados;

            DateTime dtFechaTest = DateTime.Now;
            string   sNumeroCertificado = "";
            string   sA, sB, sC;

            //Leer archivo de configuracion
            MedNeg.Configuracion.BlConfiguracion  oblConfiguracion  = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();

            odalConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivos + "/Configuracion.xml");

            //Comprobante.SelloDigital.leerCER(sRutaArchivos + "/Certificados/aaa010101aaa_csd_06.cer", out sA, out sB, out sC, out sNumeroCertificado);
            Comprobante.SelloDigital.leerCER(sRutaArchivos + "/Facturacion/" + odalConfiguracion.sRutaCertificado, out sA, out sB, out sC, out sNumeroCertificado);

            //Establecer el numero de cuenta
            string sNumeroCuenta = null;

            if (oFactura.metodo_pago.MetodoPago.Equals("depósito en cuenta", StringComparison.InvariantCultureIgnoreCase) ||
                oFactura.metodo_pago.MetodoPago.Equals("traspaso", StringComparison.InvariantCultureIgnoreCase))
            {
                sNumeroCuenta = oFactura.NumeroCuentaPago;
            }


            //Debo validar la vigencia del certificado con sa <= FechaEmision <= sB

            #region generarcomprobante

            //Construir objeto factura
            Comprobante.ComprobanteFiscalDigital oComprobanteFiscalDigital = new Comprobante.ComprobanteFiscalDigital(
                "",                                                             //Serie
                sFolioFactura,                                                  //Folio
                dtFechaTest.ToString("yyyy-MM-ddThh:mm:ss"),                    //Fecha
                oFactura.tipo_forma_pago.FormaPago,                             //FormaDePago
                sNumeroCertificado,                                             //NoCertificado
                "",                                                             //"Condiciones de pago",
                dSubtotal.ToString(),                                           //SubTotal
                "0",                                                            //Descuento
                "",                                                             //Motivo del descuento
                dTotal.ToString(),                                              //Total
                oFactura.metodo_pago.MetodoPago,                                //Metodo de pago
                "Ingreso",                                                      //Tipo de comprobante
                null,                                                           //noAprobacion
                null,                                                           //anoAprobacion
                "3.2",                                                          //version
                null,                                                           //TipoCambio
                null,                                                           //Moneda
                odalConfiguracion.sEstado + "," + odalConfiguracion.sMunicipio, //LugarExpedicion
                sNumeroCuenta                                                   //NumCtaPago
                );

            //Pendiente la parte de pagos parciales

            //Empresa o razon social y direccion fiscal
            Comprobante.t_Emisor Emisor = new Comprobante.t_Emisor(
                odalConfiguracion.sRfc,
                odalConfiguracion.sRazonSocial,
                odalConfiguracion.sDomicilio, //Calle
                "",                           //No exterior
                "",                           //No interior
                "",                           //Colonia
                "",                           //Localidad
                "",                           //Emisor Referencia
                odalConfiguracion.sMunicipio,
                odalConfiguracion.sEstado,
                odalConfiguracion.sPais,
                odalConfiguracion.sCodigoPostal
                );

            Emisor.addRegimenFiscal(odalConfiguracion.sRegimenFiscal);

            oComprobanteFiscalDigital.setEmisor(Emisor);

            //Establece la expedición de la factura, se toman lo datos del almacen
            MedDAL.DAL.usuarios        oUsuario   = new MedDAL.DAL.usuarios();
            MedNeg.Usuarios.BlUsuarios oblUsuario = new Usuarios.BlUsuarios();
            oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(sUsuario);

            oComprobanteFiscalDigital.setExpedicion(
                oUsuario.almacenes.Calle.ToString(),              //Calle
                oUsuario.almacenes.NumeroExt.ToString(),          //NoExt
                "",                                               //NoInt
                oUsuario.almacenes.colonias.Nombre,               //Colonia
                oUsuario.almacenes.poblaciones.Nombre.ToString(), //Población
                "",                                               //Emisor Referencia Expedicion
                oUsuario.almacenes.municipios.Nombre.ToString(),  //Municipio
                oUsuario.almacenes.estados.Nombre.ToString(),     //Estado
                oUsuario.almacenes.Pais.ToString(),               //Pais
                oUsuario.almacenes.CodigoPostal.ToString());      //CP

            //Establecer los datos del cliente
            MedDAL.DAL.clientes          oCliente    = new MedDAL.DAL.clientes();
            MedNeg.BlClientes.BlClientes oblClientes = new BlClientes.BlClientes();
            oCliente = oblClientes.BuscarCliente(iIdCliente);

            oComprobanteFiscalDigital.setReceptor(
                oCliente.Rfc.ToString(),                                          //RFC
                oCliente.Nombre.ToString() + " " + oCliente.Apellidos.ToString(), //Nombre
                oCliente.Calle.ToString(),                                        //Calle
                oCliente.NumeroExt.ToString(),                                    //No ext
                oCliente.NumeroInt.ToString(),                                    //No int
                oCliente.colonias.Nombre.ToString(),                              //Colo
                oCliente.poblaciones.Nombre.ToString(),                           //Ciudad
                "",                                                               //ReferenciaReceptor
                oCliente.municipios.Nombre.ToString(),                            //Municipio
                oCliente.estados.Nombre.ToString(),                               //Estado
                "Mexico",                                                         //Pais
                oCliente.CodigoPostal.ToString()                                  //Codigo postal
                );


            //Recorrer el resultado de la partida para obtener el total
            foreach (MedDAL.DAL.facturas_partida oDetalle in oQuery)
            {
                string Cantidad, Codigo, Descripcion, Unidad, PrecioUnitario, Importe, ImporteNeto;

                decimal dImporte = 0;
                Cantidad = oDetalle.Cantidad.ToString();
                //Codigo = oDetalle.productos.Clave1.ToString();
                //Descripcion = oDetalle.productos.Nombre.ToString();
                //0087 Identificar si es un producto o un ensamble
                if (oDetalle.idEnsamble.Equals(null))
                {
                    //Datos del producto
                    Codigo = oDetalle.productos.Clave1.ToString();
                }
                else
                {
                    //Datos del ensamble
                    Codigo = oDetalle.ensamble.ClaveBom.ToString();
                }

                Descripcion    = oDetalle.Descripcion.ToString();
                Unidad         = oDetalle.productos.UnidadMedida;
                PrecioUnitario = oDetalle.Precio.ToString();
                dImporte       = oDetalle.Cantidad * oDetalle.Precio;
                Importe        = dImporte.ToString();


                Comprobante.Concepto C = new Comprobante.Concepto(
                    Cantidad,
                    Unidad,
                    Codigo,
                    Descripcion,
                    PrecioUnitario,
                    Importe);
                oComprobanteFiscalDigital.addConcepto(C);//aqui agregas el elemento a la partida
            }



            #endregion

            //Commpruebo que sea válido
            if (oComprobanteFiscalDigital.Valido() == true)
            {
                string sCadenaOriginal = oComprobanteFiscalDigital.CadenaOriginal();
                oComprobanteFiscalDigital.Sellar(sRutaArchivos + "/Facturacion/" + odalConfiguracion.sRutaLlave.ToString(), sRutaArchivos + "/Facturacion/" + odalConfiguracion.sRutaCertificado.ToString(), odalConfiguracion.sContraseña.ToString());
                oComprobanteFiscalDigital.XML().Save(sRutaArchivos + "/FacturasElectronicas/FacturaE-" + sFolioFactura + ".xml");
                //return a.XML();

                /*
                 * Modificaciones de POJO: 1 de Noviembre 2011 : Agregando el webservice para timbrado, guardaré los archivos en /Facturacion/Timbrados/
                 */
                FacturaService.TimbradoClient svcT          = new FacturaService.TimbradoClient();
                FacturaService.RespuestaCFDi  RespuestaCFDi = new FacturaService.RespuestaCFDi();

                //Aquí, cambiar la funcion a svcT.Timbrar cuando vayan a mostrarlo en producción, de otra manera, no serán válidos los cfdi's que emitan.
                try
                {
                    byte [] aArchivo = File.ReadAllBytes(sRutaArchivos + "/FacturasElectronicas/FacturaE-" + sFolioFactura + ".xml");
                    RespuestaCFDi = svcT.Timbrar("pojo", "a", aArchivo);
                    File.WriteAllBytes(sRutaArchivos + "/FacturasElectronicasTimbradas/FacturaE-" + sFolioFactura + ".xml", RespuestaCFDi.Documento);
                    RespuestaCFDi = svcT.PDF("pojo", "a", File.ReadAllBytes(sRutaArchivos + "/FacturasElectronicasTimbradas/FacturaE-" + sFolioFactura + ".xml"), null);
                    File.WriteAllBytes(sRutaArchivos + "/FacturasElectronicasTimbradas/FacturaE-" + sFolioFactura + ".pdf", RespuestaCFDi.Documento);
                    return(0);
                }
                catch (System.Net.WebException ex)
                {
                    //Sale cuando no encuentra al server
                    return(1);
                }
                catch (System.Web.Services.Protocols.SoapHeaderException ex)
                {
                    return(3);
                }
                catch (Exception ex)
                {
                    //Para excepciones no conocidas
                    return(4);
                }

                /*
                 * Falta: Revisar errores con PAC (¿Cómo los regresas? ¿Qué pasa si algo está mal? ¿el xml fue correctamente construido?¿Una función nueva?)
                 */
            }
            else
            {
                //Sale cuando el certificado no es valido
                return(2);
            }
        }
Exemplo n.º 24
0
        protected void CargarDatos()
        {
            sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            oblConfiguracion   = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion objConfiguracion = new MedDAL.Configuracion.DALConfiguracion();
            objConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

            //Empresa
            txbRazonSocial.Text   = objConfiguracion.sRazonSocial.ToString();
            txbRfc.Text           = objConfiguracion.sRfc.ToString();
            txbRegimenFiscal.Text = objConfiguracion.sRegimenFiscal == null ? "" : objConfiguracion.sRegimenFiscal.ToString();
            txbDomicilio.Text     = objConfiguracion.sDomicilio.ToString();
            txbCodigoPostal.Text  = objConfiguracion.sCodigoPostal.ToString();
            txbMunicipio.Text     = objConfiguracion.sMunicipio.ToString();
            txbEstado.Text        = objConfiguracion.sEstado.ToString();
            txbPais.Text          = objConfiguracion.sPais.ToString();
            txbCaducidad.Text     = objConfiguracion.iCaducidad == null ? "0" : objConfiguracion.iCaducidad.ToString();

            try
            {
                lbCertificado.Text = objConfiguracion.sRutaCertificado.ToString();
            }
            catch (Exception)
            {
                lbCertificado.Text = "";
            }
            try
            {
                lbLlave.Text = objConfiguracion.sRutaLlave.ToString();
            }
            catch
            {
                lbLlave.Text = "";
            }
            try
            {
                lblFirma.Text = objConfiguracion.sRutaFirma.ToString();
            }
            catch
            {
                lblFirma.Text = "";
            }
            try
            {
                txbContraseñaFac.Attributes.Add("value", objConfiguracion.sContraseña.ToString());
            }
            catch
            {
                txbContraseñaFac.Attributes.Add("value", "");
            }
            //Base de datos
            txbServidor.Text = objConfiguracion.sServidorBD.ToString();
            txbUsuario.Text  = objConfiguracion.sUsuarioBD.ToString();
            txbContraseñaBd.Attributes.Add("value", objConfiguracion.sContraseñaBD.ToString());

            //Diseño
            //txbColor.Text = objConfiguracion.sColorInterfaz.ToString();
            switch (objConfiguracion.sColorInterfaz.ToString())
            {
            case "Verde":
                rbVerde.Checked = true;
                break;

            case "Verde1":
                rbVerde1.Checked = true;
                break;

            case "Azul":
                rbAzul.Checked = true;
                break;

            case "Azul1":
                rbAzul1.Checked = true;
                break;

            case "Cafe":
                rbCafe.Checked = true;
                break;

            case "Rojo":
                rbRojo.Checked = true;
                break;

            case "Amarillo":
                rbAmarillo.Checked = true;
                break;

            case "Naranja":
                rbNaranja.Checked = true;
                break;

            case "Morado":
                rbMorado.Checked = true;
                break;

            case "Gris":
                rbGris.Checked = true;
                break;
            }

            lbLogotipo.Text = objConfiguracion.sRutaBaner.ToString();


            //Folios
            txbFolioPedidos.Text = objConfiguracion.iFolioPedidos.ToString();
            if (objConfiguracion.iPedidosAutomatico == 1)
            {
                ckbPedidos.Checked = true;
            }
            else
            {
                ckbPedidos.Checked = false;
            }

            txbFolioRecetas.Text = objConfiguracion.iFolioRecetas.ToString();
            if (objConfiguracion.iRecetasAutomatico == 1)
            {
                ckbRecetas.Checked = true;
            }
            else
            {
                ckbRecetas.Checked = false;
            }

            txbFolioRemisiones.Text = objConfiguracion.iFolioRemisiones.ToString();
            if (objConfiguracion.iRemisionesAutomatico == 1)
            {
                ckbRemisiones.Checked = true;
            }
            else
            {
                ckbRemisiones.Checked = false;
            }

            txbFolioFacturas.Text = objConfiguracion.iFolioFacturas.ToString();
            if (objConfiguracion.iFacturasAutomatico == 1)
            {
                ckbFacturas.Checked = true;
            }
            else
            {
                ckbFacturas.Checked = false;
            }

            if (objConfiguracion.iVentasNegativas == 1)
            {
                ckbVentasNegativas.Checked = true;
            }
            else
            {
                ckbVentasNegativas.Checked = false;
            }

            //Datos del SMTP
            txbSevidorSmtp.Text = objConfiguracion.sServidorSmtp.ToString();
            txbUsuarioSmtp.Text = objConfiguracion.sCorreoEmisor.ToString();
            txbPuertoSmtp.Text  = objConfiguracion.sPuertoSmtp.ToString();
            txbContraseñaSmtp.Attributes.Add("value", objConfiguracion.sContraseñaSmtp.ToString());

            //Renglones de detalle en las facturas
            txbNumRenglonesFactura.Text = objConfiguracion.iNoMaxRenglonesFactura.ToString();


            //Variables auxiliares para cuando guardan y no modifican los paths
            Session["sAuxCertificado"] = objConfiguracion.sRutaCertificado.ToString();
            Session["sAuxLlave"]       = objConfiguracion.sRutaLlave.ToString();
            try
            {
                Session["sAuxFirma"] = objConfiguracion.sRutaFirma.ToString();
            }
            catch
            {
                Session["sAuxFirma"] = "";
            }
            Session["sAuxLogotipo"] = objConfiguracion.sRutaBaner.ToString();
        }
Exemplo n.º 25
0
        /// <summary>
        /// Factura que crea una receta con gastos de administracion
        /// </summary>
        /// <param name="sFolio"></param>
        /// <param name="lstDetalleFactura"></param>
        private string CrearFacturaGtoAdministrativo(string sFolio,List<MedNeg.Facturas.BlDetalleFacturaReceta> lstDetalleFactura)
        {
            //TODO: GT Paso 5: Paso opcional, aqui se genera la factura por gastos administrativos si lo eligio el usuario

            //objeto que contiene la receta
            string sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            string sRutaCertificados = Server.MapPath("~/Archivos/");

            bool bRegistroFallido = false;
            //MedDAL.DAL.recetas oReceta = new MedDAL.DAL.recetas();
            //MedNeg.Recetas.BlRecetas oblReceta = new MedNeg.Recetas.BlRecetas();

            MedNeg.Configuracion.BlConfiguracion oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();

            MedDAL.DAL.facturas oFacturas = new MedDAL.DAL.facturas();
            MedNeg.Facturas.BlFacturas oblFacturas = new MedNeg.Facturas.BlFacturas();

            //decimal dSubtotal = 0;
            //int idReceta = 0;

            odalConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

            //ID Cliente
            oFacturas.idCliente = (int)Session["sIdCliente"];

            //IDRECETA
            //oFacturas.idReceta = oReceta.idReceta;

            //Asiganr el folio de la factura
            if (odalConfiguracion.iFacturasAutomatico == 1)
            {
                oFacturas.Folio = odalConfiguracion.iFolioFacturas++.ToString();
            }
            else
            {
                //oFacturas.Folio = oReceta.Folio;
                oFacturas.Folio = sFolio + "-GastoAdm";
            }

            string sIdFolioFactura = oFacturas.Folio;

            //Fecha
            oFacturas.Fecha = DateTime.Now;
            oFacturas.FechaAplicacion = DateTime.Now;

            //tipo (4 por que son de receta)
            oFacturas.TipoFactura = "4";

            //Estatus (3 de emitida)
            oFacturas.Estatus = "3";

            //Id del usuario que genero la factura
            oFacturas.idUsuario = Convert.ToInt32(Session["usuarioid"]);

            //Nombre del vendedor que en este caso es el usuario
            oFacturas.Vendedor = Session["nombre"].ToString();

            //Registrar la factura
            if (oblFacturas.NuevoRegistro(oFacturas))
            {

                oFacturas = new MedDAL.DAL.facturas();
                oblFacturas = new MedNeg.Facturas.BlFacturas();

                ////Recuperar el id de la factura crea| da
                oFacturas = oblFacturas.BuscarFacturasFolio(sIdFolioFactura);

                //Actualizar el consecutivo en la bitacora
                oblFacturas.ActualizarFolioFactura(sRutaArchivoConfig);


                //Insertar el detalle de factura
                //Recorrer el objeto de sesion lstDetallePartida que contiene los datos de la partida
                foreach (MedNeg.Facturas.BlDetalleFacturaReceta renglon in lstDetalleFactura)
                {
                    oblFacturas = new MedNeg.Facturas.BlFacturas();
                    MedDAL.DAL.facturas_partida oFacturaPartida = new MedDAL.DAL.facturas_partida();

                    oFacturaPartida.idFactura = oFacturas.idFactura;
                    oFacturaPartida.idProducto = renglon.iIdProducto;
                    oFacturaPartida.Cantidad = renglon.dCantidad;
                    oFacturaPartida.IEPS = renglon.dIeps;
                    oFacturaPartida.Iva = renglon.DImp1 * consdIva;
                    oFacturaPartida.Precio = renglon.DImp1;

                    //Registrar el detalle del pedido
                    if (!oblFacturas.NuevoDetallePartida(oFacturaPartida))
                    {
                        bRegistroFallido = true;
                    }
                    else
                    {
                       
                        
                    }
                }

                //TODO: GT Paso 5.1 Aqui si bRegistroFallido es false entonces aqui se generaria la factura electronica de gastos administrativos
               
                if (cmbModoFactura.SelectedValue == "2" && !bRegistroFallido)
                {
                    oblFacturas = new MedNeg.Facturas.BlFacturas();
                    oblFacturas.GenerarFacturaElectronica(oFacturas.idFactura, sRutaCertificados, Session["usuario"].ToString(), (int)Session["sIdCliente"], oFacturas.Folio);

                    return Server.MapPath("~/Archivos/FacturasElectronicasTimbradas/FacturaE-" + oFacturas.Folio + ".xml");
                    //System.IO.FileInfo fFactura = new System.IO.FileInfo(Server.MapPath("~/Archivos/FacturasElectronicas/FacturaE-" + oFacturas.Folio + ".xml"));

                    //Response.Clear();
                    //Response.AddHeader("Content-Disposition", "attachment; filename=" + fFactura.Name);
                    //Response.AddHeader("Content-Length", fFactura.Length.ToString());
                    //Response.ContentType = "application/....";
                    //Response.WriteFile(fFactura.FullName);
                    //Response.End();
                }
                return "";
            }
            return "";
        }
Exemplo n.º 26
0
         /// <summary>
        /// funcion que crea una factura nueva sin gastos de administracion
        /// </summary>
        /// <param name="sFolio"></param>
        /// <param name="iTipo">1-Tradicional, 2-Electronica</param>
        /// <returns></returns>
        private void CrearFactura(List<MedNeg.Facturas.BlDetalleFacturaReceta> lstDetalleFactura, int iTipo)
        {
            //TODO: GT Paso 3: Generar la factura con todo lo contabilizado de las recetas que van a conformar esta factura.

             //objeto que contiene la receta
            string sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            string sRutaCertificados = Server.MapPath("~/Archivos/");
            string sFacturaAdicional = "";
            string sFacturaAdicional2 = "";

            MedDAL.DAL.recetas oReceta = new MedDAL.DAL.recetas();
            MedNeg.Recetas.BlRecetas oblReceta = new MedNeg.Recetas.BlRecetas();
            
            MedNeg.Configuracion.BlConfiguracion oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();

            MedDAL.DAL.facturas oFacturas = new MedDAL.DAL.facturas();
            MedNeg.Facturas.BlFacturas oblFacturas = new MedNeg.Facturas.BlFacturas();
            MedDAL.DAL.FacturacionDeRecetas oFacturacionRecetas = new MedDAL.DAL.FacturacionDeRecetas();
           

            decimal dSubtotal = 0;
            int idReceta = 0;

            odalConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);
          
            //ID Cliente
            oFacturas.idCliente = (int)Session["sIdCliente"];

            //IDRECETA
            //oFacturas.idReceta = oReceta.idReceta;
            
            //Asiganr el folio de la factura
            if (odalConfiguracion.iFacturasAutomatico == 1)
            {
                oFacturas.Folio = odalConfiguracion.iFolioFacturas++.ToString();
            }
            else
            {
                string sFolioAux;
                sFolioAux = "FxR" + DateTime.Now.ToShortDateString() + iContadorFacturas.ToString();
                
                //Validar que no exista el folio
                while (!ValidaFolioRepetido(sFolioAux))
                    sFolioAux = "FxR" + DateTime.Now.ToShortDateString() + iContadorFacturas++.ToString();

                oFacturas.Folio = sFolioAux;
            }

            string sIdFolioFactura=oFacturas.Folio;

            //Fecha
            oFacturas.Fecha = DateTime.Now;
            oFacturas.FechaAplicacion = DateTime.Now;

            //tipo (4 por que son de receta)
            oFacturas.TipoFactura = "4";

            //Estatus (3 de emitida)
            oFacturas.Estatus = "3";

            //Id del usuario que genero la factura
            oFacturas.idUsuario = Convert.ToInt32(Session["usuarioid"]);

            //Nombre del vendedor que en este caso es el usuario
            oFacturas.Vendedor = Session["nombre"].ToString();

            //Registrar la factura
            if (oblFacturas.NuevoRegistro(oFacturas))
            {
                
                oFacturas = new MedDAL.DAL.facturas();
                oblFacturas = new MedNeg.Facturas.BlFacturas();

                ////Recuperar el id de la factura crea| da
                oFacturas = oblFacturas.BuscarFacturasFolio(sIdFolioFactura);
                
                //Actualizar el consecutivo en la configuracion
                oblFacturas.ActualizarFolioFactura(sRutaArchivoConfig);
                iContadorFacturas++;

                //Insertar el detalle de factura
                //Recorrer el objeto de sesion lstDetallePartida que contiene los datos de la partida
                foreach (MedNeg.Facturas.BlDetalleFacturaReceta renglon in lstDetalleFactura)
                {
                    oblFacturas = new MedNeg.Facturas.BlFacturas();
                    MedDAL.DAL.facturas_partida oFacturaPartida = new MedDAL.DAL.facturas_partida();

                    oFacturaPartida.idFactura = oFacturas.idFactura;
                    oFacturaPartida.idProducto = renglon.iIdProducto;
                    oFacturaPartida.Cantidad = renglon.dCantidad;
                    oFacturaPartida.IEPS = renglon.dIeps;
                    oFacturaPartida.Iva = renglon.dIva;
                    oFacturaPartida.Precio = renglon.dPrecio;

                    //Registrar el detalle del pedido
                    if (!oblFacturas.NuevoDetallePartida(oFacturaPartida))
                    {
                        //bRegistroFallido = true;
                    }
                    else
                    {
                        //Guardar el monto de las lineas
                        MedNeg.Facturas.BlFacturacionDeLineas oblFacturacionLinea = new MedNeg.Facturas.BlFacturacionDeLineas();

                        oblFacturacionLinea.DMonto = oFacturaPartida.Cantidad * oFacturaPartida.Precio;
                        oblFacturacionLinea.DtFecha = DateTime.Now;
                        oblFacturacionLinea.IIdLineaCredito = renglon.IIdLineaCredito;

                        lstTotalFacturadoPorLinea.Add(oblFacturacionLinea);

                        //Guardar el subtotal para cuando sea una facturacion de Gtos. Admon por subtotales
                        dSubtotal += oFacturaPartida.Cantidad * oFacturaPartida.Precio;

                        //Modificar el estatus de la receta
                        if (idReceta != renglon.IIdReceta)
                        {
                            MedDAL.DAL.recetas oRecetaEditar = new MedDAL.DAL.recetas();
                            MedNeg.Recetas.BlRecetas oblRecetas = new MedNeg.Recetas.BlRecetas();

                            oRecetaEditar.idReceta = renglon.IIdReceta;
                            oRecetaEditar.Estatus = "2";

                            oblRecetas = new MedNeg.Recetas.BlRecetas();
                            oblRecetas.EditarRegistro(oRecetaEditar);

                            idReceta = renglon.IIdReceta;

                        }

                        //TODO: Paso 3.1 Aqui generar la factura electronica de las recetas facturadas
                    }
                }


                if (iTipo == 2)
                {
                    oblFacturas = new MedNeg.Facturas.BlFacturas();
                    oblFacturas.GenerarFacturaElectronica(oFacturas.idFactura, sRutaCertificados, Session["usuario"].ToString(), (int)Session["sIdCliente"], oFacturas.Folio);
                }

                ///TODO
                /// Mandar a imprimir la de gastos de administración por renglones o por subtotales
                /// 1 = Renglones, 2 = Sub totales
                /// 

                //TODO: GT Paso 4: una vez generada una factura y segun como eligio el usuario se debe de hacer una factura de tipo Gasto administrativo o por sub totales A LA PAR DE LA FACTURA EMITIDA, es regla de negocio por eso por cada factura siempre existiran 2
                if (chkPanelGtosAdmon.Checked == true)
                {
                    if (rblGenerarFacturaTipo.SelectedValue == "1")
                    {
                        sFacturaAdicional = CrearFacturaGtoAdministrativo(sIdFolioFactura, lstDetalleFactura);
                        sFacturaAdicional2 = sFacturaAdicional.Replace(".xml", ".pdf");
                    }

                    if (rblGenerarFacturaTipo.SelectedValue == "2")
                    {
                        //Generar la factura agregandole el monto a la factura
                        sFacturaAdicional = CrearFacturaSubTotales(sIdFolioFactura, dSubtotal);
                        sFacturaAdicional2 = sFacturaAdicional.Replace(".xml", ".pdf");
                        dSubtotal = 0;
                    }
                }

                //Gurdar en la base de datos lo facturado por linea de credito
                foreach (MedNeg.Facturas.BlFacturacionDeLineas registro in lstTotalFacturadoPorLinea)
                {

                    oFacturacionRecetas.idLineaCredito = registro.IIdLineaCredito;
                    oFacturacionRecetas.Fecha = registro.DtFecha;
                    oFacturacionRecetas.Monto = registro.dMonto;
                    oblFacturas = new MedNeg.Facturas.BlFacturas();
                    //MedDAL.DAL.facturas_partida oFacturaPartida = new MedDAL.DAL.facturas_partida();

                    //Registrar el renglon de lo facturado
                    if(!oblFacturas.NuevoRegistroFacturacionReceta(oFacturacionRecetas))
                    {
                       //bRegistroFallido = true;
                    }
               }

                if (iTipo == 2)
                {
                    try
                    {
                        oblFacturas.CrearZip(new string[] { Server.MapPath("~/Archivos/FacturasElectronicasTimbradas"), Server.MapPath("~/Archivos/FacturasElectronicasTimbradas/FacturaE-" + oFacturas.Folio + ".zip") }, Server.MapPath("~/Archivos/FacturasElectronicasTimbradas/FacturaE-" + oFacturas.Folio + ".xml"), Server.MapPath("~/Archivos/FacturasElectronicasTimbradas/FacturaE-" + oFacturas.Folio + ".pdf"), sFacturaAdicional, sFacturaAdicional2);

                        ScriptManager.RegisterStartupScript(pnlFormulario, pnlFormulario.GetType(), "alertstock", "alertarFacturas(0);", true);

                        System.IO.FileInfo fFactura = new System.IO.FileInfo(Server.MapPath("~/Archivos/FacturasElectronicasTimbradas/FacturaE-" + oFacturas.Folio + ".zip"));

                        Response.Clear();
                        Response.AddHeader("Content-Disposition", "attachment; filename=" + fFactura.Name);
                        Response.AddHeader("Content-Length", fFactura.Length.ToString());
                        Response.ContentType = "application/....";
                        Response.WriteFile(fFactura.FullName);
                        Response.End();
                    }
                    catch (Exception)
                    {
                        ScriptManager.RegisterStartupScript(pnlFormulario, pnlFormulario.GetType(), "alertstock", "alertarExcepcion(0);", true);
                    }
                }
            }

            

        }
Exemplo n.º 27
0
        protected void imbAceptar_Click(object sender, EventArgs e)
        {
            int iResult;
            sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            if (ValidarControles())
            {

                odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();

                odalConfiguracion.sRazonSocial = txbRazonSocial.Text.ToString();
                odalConfiguracion.sRfc = txbRfc.Text.ToString();
                odalConfiguracion.sRegimenFiscal = txbRegimenFiscal.Text.ToString();
                odalConfiguracion.sDomicilio = txbDomicilio.Text.ToString();
                odalConfiguracion.sCodigoPostal=txbCodigoPostal.Text;
                odalConfiguracion.sMunicipio=txbMunicipio.Text;
                odalConfiguracion.sEstado=txbEstado.Text;
                odalConfiguracion.sPais = txbPais.Text;

                if (txbCaducidad.Text == "" || !int.TryParse(txbCaducidad.Text, out iResult))
                {
                    odalConfiguracion.iCaducidad = 0;
                }
                else  
                {
                    odalConfiguracion.iCaducidad = int.Parse(txbCaducidad.Text);
                }
               if(ofdCertificado.FileName.Equals(""))
                    odalConfiguracion.sRutaCertificado = Session["sAuxCertificado"].ToString();
                else
                    odalConfiguracion.sRutaCertificado = ofdCertificado.FileName.ToString();

               if(ofdLlave.FileName.Equals(""))
                    odalConfiguracion.sRutaLlave = Session["sAuxLlave"].ToString();
                else
                    odalConfiguracion.sRutaLlave = ofdLlave.FileName.ToString();

               if (ofdFirma.FileName.Equals(""))
                   odalConfiguracion.sRutaFirma = Session["sAuxFirma"].ToString();
               else
                   odalConfiguracion.sRutaFirma = ofdFirma.FileName.ToString();
                
                odalConfiguracion.sContraseña = txbContraseñaFac.Text.ToString();
                odalConfiguracion.sServidorBD = txbServidor.Text.ToString();
                odalConfiguracion.sUsuarioBD = txbUsuario.Text.ToString();
                odalConfiguracion.sContraseñaBD = txbContraseñaFac.Text.ToString();
                //odalConfiguracion.sColorInterfaz = txbColor.Text.ToString();

                if (rbVerde.Checked == true)
                    odalConfiguracion.sColorInterfaz = "Verde";
                if (rbVerde1.Checked == true)
                    odalConfiguracion.sColorInterfaz = "Verde1";
                if (rbAzul.Checked == true)
                    odalConfiguracion.sColorInterfaz = "Azul";
                if (rbAzul1.Checked == true)
                    odalConfiguracion.sColorInterfaz = "Azul1";
                if (rbCafe.Checked == true)
                    odalConfiguracion.sColorInterfaz = "Cafe";
                if (rbRojo.Checked == true)
                    odalConfiguracion.sColorInterfaz = "Rojo";
                if (rbAmarillo.Checked == true)
                    odalConfiguracion.sColorInterfaz = "Amarillo";
                if (rbNaranja.Checked == true)
                    odalConfiguracion.sColorInterfaz = "Naranja";
                if (rbMorado.Checked == true)
                    odalConfiguracion.sColorInterfaz = "Morado";
                if (rbGris.Checked == true)
                    odalConfiguracion.sColorInterfaz = "Gris";


                if(ofdLogotipo.FileName.Equals(""))
                    odalConfiguracion.sRutaBaner = Session["sAuxLogotipo"].ToString();
                else
                    odalConfiguracion.sRutaBaner = ofdLogotipo.FileName.ToString();

                if(txbFolioPedidos.Text.Equals(""))
                    odalConfiguracion.iFolioPedidos = 0;
                else
                    odalConfiguracion.iFolioPedidos = Convert.ToInt32(txbFolioPedidos.Text);
                
                if (txbFolioRemisiones.Text.Equals(""))
                    odalConfiguracion.iFolioRemisiones = 0;
                else
                    odalConfiguracion.iFolioRemisiones = Convert.ToInt32(txbFolioRemisiones.Text);
                
                if (txbFolioRecetas.Text.Equals(""))
                    odalConfiguracion.iFolioRecetas = 0;
                else
                    odalConfiguracion.iFolioRecetas = Convert.ToInt32(txbFolioRecetas.Text);
                
                if (txbFolioFacturas.Text.Equals(""))
                    odalConfiguracion.iFolioFacturas = 0;
                else
                    odalConfiguracion.iFolioFacturas = Convert.ToInt32(txbFolioFacturas.Text);
                
                if (ckbPedidos.Checked == true)
                    odalConfiguracion.iPedidosAutomatico = 1;
                else
                    odalConfiguracion.iPedidosAutomatico = 0;

                if (ckbRemisiones.Checked == true)
                    odalConfiguracion.iRemisionesAutomatico = 1;
                else
                    odalConfiguracion.iRemisionesAutomatico = 0;
                
                if (ckbRecetas.Checked == true)
                    odalConfiguracion.iRecetasAutomatico = 1;
                else
                    odalConfiguracion.iRecetasAutomatico = 0;
                
                if (ckbFacturas.Checked == true)
                    odalConfiguracion.iFacturasAutomatico = 1;
                else
                    odalConfiguracion.iFacturasAutomatico = 0;

                if (ckbVentasNegativas.Checked == true)
                    odalConfiguracion.iVentasNegativas = 1;
                else
                    odalConfiguracion.iVentasNegativas = 0;

                //SMTP
                odalConfiguracion.sServidorSmtp = txbSevidorSmtp.Text.ToString();
                odalConfiguracion.sPuertoSmtp = txbPuertoSmtp.Text.ToString();
                odalConfiguracion.sCorreoEmisor = txbUsuarioSmtp.Text.ToString();
                odalConfiguracion.sContraseñaSmtp = txbContraseñaSmtp.Text.ToString();

                //Num maximo de renglones
                if (txbNumRenglonesFactura.Text == "")
                {
                    odalConfiguracion.iNoMaxRenglonesFactura = 20;
                }
                else
                {
                    odalConfiguracion.iNoMaxRenglonesFactura = Convert.ToInt32(txbNumRenglonesFactura.Text);
                }

                oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();

                if (oblConfiguracion.GuardarDatos(odalConfiguracion, sRutaArchivoConfig))
                {
                    //Subir los archivos
                    SubirArchivosHacienda();
                    SubirLogo();

                    CargarDatos();
                    Deshabilita();

                    //GT 0175
                    ConfigurarMenuBotones(false, false, false, true, false, false, false, false);
                }
               
            }
            else
            {
                Habilita();
            }
        }
Exemplo n.º 28
0
        /// <summary>
        /// Actualizar el folio de facturas
        /// </summary>
        /// <param name="sRutaArchivoConfig"></param>
        public void ActualizarFolioFactura(string sRutaArchivoConfig, bool bIncremento = true)
        {
            MedDAL.Configuracion.DALConfiguracion odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();
            MedNeg.Configuracion.BlConfiguracion oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();                
            odalConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

            if (odalConfiguracion.iFacturasAutomatico == 1)
            {
                //Incrementar el folio
                if (bIncremento)
                {
                    odalConfiguracion.iFolioFacturas++;                    
                }
                else
                {
                    odalConfiguracion.iFolioFacturas--;
                }

                oblConfiguracion.GuardarDatos(odalConfiguracion, sRutaArchivoConfig);
            }
        }
Exemplo n.º 29
0
        protected void Page_Load(object sender, EventArgs e)
        {
            sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            #region Interfaz
            //Hashtable htbPermisos = (Hashtable)Session["permisos"];
            //char cPermiso = (char)htbPermisos["estados"];
            Master.FindControl("btnNuevo").Visible    = false;
            Master.FindControl("btnEliminar").Visible = false;
            Master.FindControl("btnMostrar").Visible  = false;
            Master.FindControl("btnReportes").Visible = false;
            Master.FindControl("rdbFiltro1").Visible  = false;
            Master.FindControl("rdbFiltro2").Visible  = false;
            Master.FindControl("rdbFiltro3").Visible  = false;
            Master.FindControl("btnBuscar").Visible   = false;
            Master.FindControl("txtBuscar").Visible   = false;
            Master.FindControl("lblBuscar").Visible   = false;
            Master.FindControl("btnImprimir").Visible = false;

            //imbNuevo = (ImageButton)Master.FindControl("imgBtnNuevo");
            //imbNuevo.Click += new ImageClickEventHandler(this.imbNuevo_Click);
            imbEditar        = (ImageButton)Master.FindControl("imgBtnEditar");
            imbEditar.Click += new ImageClickEventHandler(this.imbEditar_Click);
            //imbEliminar = (ImageButton)Master.FindControl("imgBtnEliminar");
            //imbEliminar.Click += new ImageClickEventHandler(this.imbEliminar_Click);
            //imbMostrar = (ImageButton)Master.FindControl("imgBtnMostrar");
            //imbMostrar.Click += new ImageClickEventHandler(this.imbMostrar_Click);
            //imbReportes = (ImageButton)Master.FindControl("imgBtnReportes");
            //imbReportes.Visible = false;
            imbAceptar                 = (ImageButton)Master.FindControl("imgBtnAceptar");
            imbAceptar.Click          += new ImageClickEventHandler(this.imbAceptar_Click);
            imbAceptar.ValidationGroup = "Configuracion";
            imbCancelar                = (ImageButton)Master.FindControl("imgBtnCancelar");
            imbCancelar.Click         += new ImageClickEventHandler(this.imbCancelar_Click);
            //rdbTodos = (RadioButton)Master.FindControl("rdbFiltro1");
            //rdbTodos.Text = "Nombre y Clave";
            //rdbTodos.Checked = true;
            //rdbClave = (RadioButton)Master.FindControl("rdbFiltro2");
            //rdbClave.Text = "Clave";
            //rdbNombre = (RadioButton)Master.FindControl("rdbFiltro3");
            //rdbNombre.Text = "Nombre";
            //lblReportes = (Label)Master.FindControl("lblReportes");
            //lblReportes.Visible = false;
            //btnBuscar = (Button)Master.FindControl("btnBuscar");
            //btnBuscar.Click += new EventHandler(this.btnBuscar_Click);
            //txbBuscar = (TextBox)Master.FindControl("txtBuscar");
            //Master.FindControl("btnReportes").Visible = false;
            //Master.FindControl("btnReportes").Visible = false;


            lblNombreModulo      = (Label)Master.FindControl("lblNombreModulo");
            lblNombreModulo.Text = "Configuración";
            #endregion

            if (!IsPostBack)
            {
                //if (File.Exists("C:\\Bioxor\\Medicuri\\Configuracion.xml"))
                if (File.Exists(sRutaArchivoConfig))
                {
                    CargarDatos();
                }
                else
                {
                    //StreamWriter strWriter = new StreamWriter("C:\\Bioxor\\Medicuri\\Configuracion.xml");
                    StreamWriter strWriter = new StreamWriter(sRutaArchivoConfig);
                    strWriter.Close();
                    odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();

                    odalConfiguracion.sRazonSocial     = "";
                    odalConfiguracion.sRfc             = "";
                    odalConfiguracion.sDomicilio       = "";
                    odalConfiguracion.sCodigoPostal    = "";
                    odalConfiguracion.sMunicipio       = "";
                    odalConfiguracion.sEstado          = "";
                    odalConfiguracion.sPais            = "";
                    odalConfiguracion.sRutaCertificado = "";
                    odalConfiguracion.sRutaLlave       = "";
                    odalConfiguracion.sRutaFirma       = "";
                    odalConfiguracion.sContraseña      = "";
                    odalConfiguracion.sServidorBD      = "";
                    odalConfiguracion.sUsuarioBD       = "";
                    odalConfiguracion.sContraseñaBD    = "";
                    odalConfiguracion.sColorInterfaz   = "";
                    odalConfiguracion.sRutaBaner       = "";
                    odalConfiguracion.sServidorSmtp    = "";
                    odalConfiguracion.sPuertoSmtp      = "";
                    odalConfiguracion.sCorreoEmisor    = "";
                    odalConfiguracion.sContraseñaSmtp  = "";

                    oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
                    oblConfiguracion.GuardarDatos(odalConfiguracion, sRutaArchivoConfig);
                    rbVerde.Checked = true;
                }

                Deshabilita();
                //GT 0175
                ConfigurarMenuBotones(false, false, false, true, false, false, false, false);
            }
        }
Exemplo n.º 30
0
        /// <summary>
        /// Permite la cancelación de facturas [No hay test para esto].
        /// </summary>
        /// <param name="uuid">Es un arreglo de cadenas que contiene los uuid(timbres fiscales) a cancelar.[Por falta de pruebas, cancelen de uno en uno...]</param>
        /// <param name="sRutaArchivos">La ruta a los archivos...</param>
        /// <returns>0 si se canceló, 1 si fallo.</returns>
        public int CancelarFacturaElectronica(string[] uuid,string sRutaArchivos, out string sMensaje)
        {
            MedNeg.Configuracion.BlConfiguracion oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion odalConfiguracion = new MedDAL.Configuracion.DALConfiguracion();

            odalConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivos+"/Configuracion.xml");

            FacturaService.TimbradoClient svcT = new FacturaService.TimbradoClient();
            FacturaService.RespuestaCFDi res = null;
            //El PFX, es un documento creado a partir del CER y KEY, lo ideal es crearlo por fuera, pero se puede crear desde aca con comandos a consola.
            //Es más facil si lo crean y lo cargan, a que lo creen en el sistema.
            res = svcT.Cancelar("medicuri", "a", File.ReadAllBytes(sRutaArchivos + "/Facturacion/" + odalConfiguracion.sRutaFirma.ToString()), uuid, odalConfiguracion.sContraseña);
            if (res.Documento == null)
            { //algo falló, revisa el mensaje y ve que pasó. lo mismo aplica para timbrado, pdf, etc... NUNCA he intentado cancelar más de un UUID, así que no se como funcione eso...
                sMensaje = res.Mensaje; //<- tiene el texto del error...
                return 1;
            }
            else
            {
                //Si se canceló, entonces, el documento escribe un nuevo archivo (un xml, con la información de cancelación, conocido como ack.)

                File.WriteAllBytes(sRutaArchivos + "/FacturasElectronicasTimbradas/FacturaE-" + uuid[0] + ".xml", res.Documento);
                sMensaje = res.Mensaje;
                return 0;
            }
        }
Exemplo n.º 31
0
        protected void btnGenerar_Click(object sender, EventArgs e)
        {           
            string sRutaArchivoConfig = Server.MapPath("~/Archivos/Configuracion.xml");
            MedNeg.Configuracion.BlConfiguracion oblConfiguracion = new MedNeg.Configuracion.BlConfiguracion();
            MedDAL.Configuracion.DALConfiguracion objConfiguracion = new MedDAL.Configuracion.DALConfiguracion();
            objConfiguracion = (MedDAL.Configuracion.DALConfiguracion)oblConfiguracion.CargaDatos(sRutaArchivoConfig);

            switch (Session["reportdocument"].ToString())
            { 
                case "~\\rptReportes\\Almacenes\\rptAlmacenes.rpt":
                    #region rptAlmacenes.rpt
                    MedDAL.DataSets.dsDataSet odsDataSet = new MedDAL.DataSets.dsDataSet();
                    MedNeg.Usuarios.BlUsuarios oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    MedDAL.DAL.usuarios oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes_contactos", "medicuriConnectionString", odsDataSet, "almacenes_contactos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from estados", "medicuriConnectionString", odsDataSet, "estados");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from municipios", "medicuriConnectionString", odsDataSet, "municipios");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from poblaciones", "medicuriConnectionString", odsDataSet, "poblaciones");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from colonias", "medicuriConnectionString", odsDataSet, "colonias");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");

                    //Variables de sesión a utilizar
                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Almacenes\\rptAlmacenes.rpt");
                    Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Almacenes\\rptAlmacenes.rpt");
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;
                    
                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    Almacenes oAlmacenes = (Almacenes)Parent.Page;
                    oAlmacenes.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\Almacenes\\rptDistribucionExistencias.rpt": 
                case "~\\rptReportes\\Almacenes\\rptDistribucionExistenciasClave.rpt":
                case "~\\rptReportes\\Almacenes\\rptDistribucionExistenciasNombre.rpt":
                    #region rptDistribucionExistencias.rpt
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen_stocks", "medicuriConnectionString", odsDataSet, "productos_almacen_stocks");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Almacenes\\rptDistribucionExistencias.rpt");
                    Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Almacenes\\rptDistribucionExistencias.rpt");
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");                                
                    oAlmacenes = (Almacenes)Parent.Page;
                    oAlmacenes.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\Proveedores\\rptProveedores.rpt":
                    #region rptProveedores.rpt
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from proveedores", "medicuriConnectionString", odsDataSet, "proveedores");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from proveedores_contactos", "medicuriConnectionString", odsDataSet, "proveedores_contactos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from estados", "medicuriConnectionString", odsDataSet, "estados");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from municipios", "medicuriConnectionString", odsDataSet, "municipios");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from poblaciones", "medicuriConnectionString", odsDataSet, "poblaciones");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from colonias", "medicuriConnectionString", odsDataSet, "colonias");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Proveedores\\rptProveedores.rpt");
                    Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Proveedores\\rptProveedores.rpt");
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    Proveedores oProveedores = (Proveedores)Parent.Page;
                    oProveedores.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\Vendedores\\rptVendedores.rpt":
                    #region rptVendedores
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from vendedores", "medicuriConnectionString", odsDataSet, "vendedores");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from vendedores_especialidad", "medicuriConnectionString", odsDataSet, "vendedores_especialidad");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from vendedores_vinculacion", "medicuriConnectionString", odsDataSet, "vendedores_vinculacion");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from estados", "medicuriConnectionString", odsDataSet, "estados");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from municipios", "medicuriConnectionString", odsDataSet, "municipios");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from poblaciones", "medicuriConnectionString", odsDataSet, "poblaciones");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from colonias", "medicuriConnectionString", odsDataSet, "colonias");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Vendedores\\rptVendedores.rpt");
                    Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Vendedores\\rptVendedores.rpt");
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    Vendedores oVendedores = (Vendedores)Parent.Page;
                    oVendedores.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\Clientes\\rptClientes.rpt":
                    #region rptClientes
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from clientes", "medicuriConnectionString", odsDataSet, "clientes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from clientes_contacto", "medicuriConnectionString", odsDataSet, "clientes_contacto");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from estados", "medicuriConnectionString", odsDataSet, "estados");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from municipios", "medicuriConnectionString", odsDataSet, "municipios");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from poblaciones", "medicuriConnectionString", odsDataSet, "poblaciones");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from colonias", "medicuriConnectionString", odsDataSet, "colonias");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Clientes\\rptClientes.rpt");
                    Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Clientes\\rptClientes.rpt");
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");


                    Clientes oCliente = (Clientes)Parent.Page;
                    oCliente.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\Clientes\\rptEstadoCuentaGeneral.rpt":
                    #region rptEstadoCuentaGeneral
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from clientes", "medicuriConnectionString", odsDataSet, "clientes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas", "medicuriConnectionString", odsDataSet, "facturas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas_partida", "medicuriConnectionString", odsDataSet, "facturas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from estados", "medicuriConnectionString", odsDataSet, "estados");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from municipios", "medicuriConnectionString", odsDataSet, "municipios");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from poblaciones", "medicuriConnectionString", odsDataSet, "poblaciones");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from colonias", "medicuriConnectionString", odsDataSet, "colonias");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Clientes\\rptEstadoCuentaGeneral.rpt");
                    Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Clientes\\rptEstadoCuentaGeneral.rpt");
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oCliente = (Clientes)Parent.Page;
                    oCliente.CargarListaReportes();

                    #endregion
                    break; 
                case "~\\rptReportes\\Clientes\\rptPorConcepto.rpt":
                    #region rptPorConcepto
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from clientes", "medicuriConnectionString", odsDataSet, "clientes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas", "medicuriConnectionString", odsDataSet, "facturas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas_partida", "medicuriConnectionString", odsDataSet, "facturas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from estados", "medicuriConnectionString", odsDataSet, "estados");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from municipios", "medicuriConnectionString", odsDataSet, "municipios");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from poblaciones", "medicuriConnectionString", odsDataSet, "poblaciones");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from colonias", "medicuriConnectionString", odsDataSet, "colonias");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Clientes\\rptPorConcepto.rpt");
                    Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Clientes\\rptPorConcepto.rpt");
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oCliente = (Clientes)Parent.Page;
                    oCliente.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\Facturacion\\rptPendientesPorSurtir.rpt":
                    #region rptPendientesPorSurtir
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida_faltantes", "medicuriConnectionString", odsDataSet, "recetas_partida_faltantes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas", "medicuriConnectionString", odsDataSet, "recetas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida", "medicuriConnectionString", odsDataSet, "recetas_partida");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Facturacion\\rptPendientesPorSurtir.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;

                    //Variables de session para las formulas de almacen y productos desde hasta
                    Session["sProductoDesdePendientes"] = txbClave1f.Text;
                    Session["sProductoHastaPendientes"] = txbClave2f.Text;
                    Session["sAlmacenNombre"] = txbAlmacenf.Text;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    Facturacion oFacturacion = (Facturacion)Parent.Page;
                    oFacturacion.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\Productos\\rptProductos.rpt":
                case "~\\rptReportes\\Productos\\rptProductosUltimaFactura.rpt":
                case "~\\rptReportes\\Productos\\rptProductosUltimaReceta.rpt":
                case "~\\rptReportes\\Productos\\rptProductosUltimaRemision.rpt":
                    #region rptProductos
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from proveedores", "medicuriConnectionString", odsDataSet, "proveedores");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from proveedores_productos", "medicuriConnectionString", odsDataSet, "proveedores_productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario", "medicuriConnectionString", odsDataSet, "inventario");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario_partida", "medicuriConnectionString", odsDataSet, "inventario_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas", "medicuriConnectionString", odsDataSet, "facturas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas_partida", "medicuriConnectionString", odsDataSet, "facturas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas", "medicuriConnectionString", odsDataSet, "recetas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida", "medicuriConnectionString", odsDataSet, "recetas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from remisiones", "medicuriConnectionString", odsDataSet, "remisiones");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from remisiones_partida", "medicuriConnectionString", odsDataSet, "remisiones_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");
                    
                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Productos\\rptProductos.rpt");
                    Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Productos\\rptProductos.rpt");
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 1;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    Productos oProductos = (Productos)Parent.Page;
                    oProductos.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\Productos\\rptListaPrecios.rpt":
                    #region rptListaPrecios
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario", "medicuriConnectionString", odsDataSet, "inventario");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario_partida", "medicuriConnectionString", odsDataSet, "inventario_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Productos\\rptListaPrecios.rpt");
                    Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Productos\\rptListaPrecios.rpt");
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oProductos = (Productos)Parent.Page;
                    oProductos.CargarListaReportes();

                    #endregion
                    break;
                    //GT 0249
                case "~\\rptReportes\\Productos\\rptProductosLista.rpt":
                    #region Reporte lista productos (rptProductosLista.rpt)
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from proveedores", "medicuriConnectionString", odsDataSet, "proveedores");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from proveedores_productos", "medicuriConnectionString", odsDataSet, "proveedores_productos");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Productos\\rptProductosLista.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oProductos = (Productos)Parent.Page;
                    oProductos.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\Productos\\rptStockMinimo.rpt":
                case "~\\rptReportes\\Productos\\rptStockMinimoAlmacen.rpt":
                    #region rptStockMinimo
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "inventario") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario", "medicuriConnectionString", odsDataSet, "inventario");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario_partida", "medicuriConnectionString", odsDataSet, "inventario_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from proveedores", "medicuriConnectionString", odsDataSet, "proveedores");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from proveedores_productos", "medicuriConnectionString", odsDataSet, "proveedores_productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida_faltantes", "medicuriConnectionString", odsDataSet, "recetas_partida_faltantes");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Productos\\rptStockMinimo.rpt");
                    Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Productos\\rptStockMinimo.rpt");
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    if (Session["recordselection"].ToString() == "~\\rptReportes\\Productos\\rptStockMinimo.rpt")
                    {
                        Session["sortfield"] = 0;
                    }
                    else
                    {
                        Session["sortfield"] = 1;
                    }

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oProductos = (Productos)Parent.Page;
                    oProductos.CargarListaReportes();
                    
                    #endregion
                    break;
                case "~\\rptReportes\\Productos\\rptStockMaximo.rpt":
                    #region rptStockMaximo
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "inventario") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario", "medicuriConnectionString", odsDataSet, "inventario");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario_partida", "medicuriConnectionString", odsDataSet, "inventario_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from proveedores", "medicuriConnectionString", odsDataSet, "proveedores");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from proveedores_productos", "medicuriConnectionString", odsDataSet, "proveedores_productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida_faltantes", "medicuriConnectionString", odsDataSet, "recetas_partida_faltantes");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Productos\\rptStockMaximo.rpt");
                    Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Productos\\rptStockMaximo.rpt");
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;                    
                    Session["sortfield"] = 1;                   

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");
                    
                    oProductos = (Productos)Parent.Page;
                    oProductos.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\Facturacion\\rptDetalladoDeFacturas.rpt":
                    #region rptDetalladoDeFacturas
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from usuarios", "medicuriConnectionString", odsDataSet, "usuarios");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas", "medicuriConnectionString", odsDataSet, "facturas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas_partida", "medicuriConnectionString", odsDataSet, "facturas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from clientes", "medicuriConnectionString", odsDataSet, "clientes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from estados", "medicuriConnectionString", odsDataSet, "estados");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from municipios", "medicuriConnectionString", odsDataSet, "municipios");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from poblaciones", "medicuriConnectionString", odsDataSet, "poblaciones");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from colonias", "medicuriConnectionString", odsDataSet, "colonias");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Facturacion\\rptDetalladoDeFacturas.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");
                    
                    oFacturacion = (Facturacion)Parent.Page;
                    oFacturacion.CargarListaReportes();
                    
                    #endregion
                    break;
                case "~\\rptReportes\\Facturacion\\rptResumenGeneralDeFacturas.rpt":
                    #region rptResumenGeneralDeFacturas
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from usuarios", "medicuriConnectionString", odsDataSet, "usuarios");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas", "medicuriConnectionString", odsDataSet, "facturas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas_partida", "medicuriConnectionString", odsDataSet, "facturas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from clientes", "medicuriConnectionString", odsDataSet, "clientes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from estados", "medicuriConnectionString", odsDataSet, "estados");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from municipios", "medicuriConnectionString", odsDataSet, "municipios");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from poblaciones", "medicuriConnectionString", odsDataSet, "poblaciones");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from colonias", "medicuriConnectionString", odsDataSet, "colonias");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Facturacion\\rptResumenGeneralDeFacturas.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");
                    
                    oFacturacion = (Facturacion)Parent.Page;
                    oFacturacion.CargarListaReportes();
                    
                    #endregion
                    break;
                case "~\\rptReportes\\Inventarios\\rptProductosCaducos.rpt":
                    #region rptProductosCaducos
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");                    
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");
                    
                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Inventarios\\rptProductosCaducos.rpt");
                    Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Inventarios\\rptProductosCaducos.rpt");
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;                    

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    Inventarios oInventarios = (Inventarios)Parent.Page;
                    oInventarios.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\Inventarios\\rptComprasProveedor.rpt":
                    #region rptComprasProveedor
                        odsDataSet = new MedDAL.DataSets.dsDataSet();
                        oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                        oUsuario = new MedDAL.DAL.usuarios();
                        oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                        odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");
                        odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "inventario") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario", "medicuriConnectionString", odsDataSet, "inventario");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario_partida", "medicuriConnectionString", odsDataSet, "inventario_partida");                    
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from proveedores", "medicuriConnectionString", odsDataSet, "proveedores");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from proveedores_productos", "medicuriConnectionString", odsDataSet, "proveedores_productos");

                        Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Inventarios\\rptComprasProveedor.rpt");
                        Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Inventarios\\rptComprasProveedor.rpt");
                        Session["dataset"] = odsDataSet;
                        Session["titulo"] = txbTitulo.Text;
                        Session["configuracionsistema"] = objConfiguracion;
                        Session["sortfield"] = 0;                    

                        Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");
                    
                        oInventarios = (Inventarios)Parent.Page;
                    oInventarios.CargarListaReportes();
    
                    #endregion
                    break;
                case "~\\rptReportes\\Inventarios\\rptVentasPeriodo.rpt":
                    #region rptVentasPeriodo
                        odsDataSet = new MedDAL.DataSets.dsDataSet();
                        oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                        oUsuario = new MedDAL.DAL.usuarios();
                        oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                        odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");
                        odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "inventario") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario", "medicuriConnectionString", odsDataSet, "inventario");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario_partida", "medicuriConnectionString", odsDataSet, "inventario_partida");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas", "medicuriConnectionString", odsDataSet, "facturas");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas_partida", "medicuriConnectionString", odsDataSet, "facturas_partida");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");

                        Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Inventarios\\rptVentasPeriodo.rpt");
                        Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Inventarios\\rptVentasPeriodo.rpt");
                        Session["dataset"] = odsDataSet;
                        Session["titulo"] = txbTitulo.Text;
                        Session["configuracionsistema"] = objConfiguracion;
                        Session["sortfield"] = 1;                    

                        Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");
                    
                    oInventarios = (Inventarios)Parent.Page;
                    oInventarios.CargarListaReportes();
                    
                    #endregion
                    break;
                case "~\\rptReportes\\Inventarios\\rptVentasCliente.rpt":
                    #region rptVentasCliente
                        odsDataSet = new MedDAL.DataSets.dsDataSet();
                        oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                        oUsuario = new MedDAL.DAL.usuarios();
                        oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                        odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from clientes", "medicuriConnectionString", odsDataSet, "clientes");                        
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas", "medicuriConnectionString", odsDataSet, "facturas");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas_partida", "medicuriConnectionString", odsDataSet, "facturas_partida");

                        Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Inventarios\\rptVentasCliente.rpt");
                        Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Inventarios\\rptVentasCliente.rpt");
                        Session["dataset"] = odsDataSet;
                        Session["titulo"] = txbTitulo.Text;
                        Session["configuracionsistema"] = objConfiguracion;
                        Session["sortfield"] = 0;                    

                        Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");
                    
                        oInventarios = (Inventarios)Parent.Page;
                    oInventarios.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\Inventarios\\rptNumerosSerie.rpt":
                    #region rptNumerosSerie
                        odsDataSet = new MedDAL.DataSets.dsDataSet();
                        oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");
                        odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "inventario") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario", "medicuriConnectionString", odsDataSet, "inventario");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario_partida", "medicuriConnectionString", odsDataSet, "inventario_partida");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas", "medicuriConnectionString", odsDataSet, "facturas");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas_partida", "medicuriConnectionString", odsDataSet, "facturas_partida");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas", "medicuriConnectionString", odsDataSet, "recetas");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida", "medicuriConnectionString", odsDataSet, "recetas_partida");

                        Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Inventarios\\rptNumerosSerie.rpt");
                        Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Inventarios\\rptNumerosSerie.rpt");
                        Session["dataset"] = odsDataSet;
                        Session["titulo"] = txbTitulo.Text;
                        Session["configuracionsistema"] = objConfiguracion;
                        Session["sortfield"] = 1;                    

                        Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");
                    
                        oInventarios = (Inventarios)Parent.Page;
                    oInventarios.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\Inventarios\\rptPedimentosAduanalesLotes.rpt":
                    #region rptPedimentosAduanalesLotes
                        odsDataSet = new MedDAL.DataSets.dsDataSet();
                        oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");
                        odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "inventario") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario", "medicuriConnectionString", odsDataSet, "inventario");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario_partida", "medicuriConnectionString", odsDataSet, "inventario_partida");                        
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");

                        Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Inventarios\\rptPedimentosAduanalesLotes.rpt");
                        Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Inventarios\\rptPedimentosAduanalesLotes.rpt");
                        Session["dataset"] = odsDataSet;
                        Session["titulo"] = txbTitulo.Text;
                        Session["configuracionsistema"] = objConfiguracion;
                        Session["sortfield"] = 1;                    

                        Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");
                    
                    oInventarios = (Inventarios)Parent.Page;
                    oInventarios.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\Inventarios\\rptHistorialExistencias.rpt":
                    #region rptHistorialExistencias
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "inventario") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario", "medicuriConnectionString", odsDataSet, "inventario");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario_partida", "medicuriConnectionString", odsDataSet, "inventario_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Inventarios\\rptHistorialExistencias.rpt");
                    Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\Inventarios\\rptHistorialExistencias.rpt");
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");
                   
                    oInventarios = (Inventarios)Parent.Page;
                    oInventarios.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\LineasCredito\\rptAcumuladoLineaCredito.rpt":
                    #region rptAcumuladoLineaCredito
                        odsDataSet = new MedDAL.DataSets.dsDataSet();
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from FacturacionDeRecetas", "medicuriConnectionString", odsDataSet, "FacturacionDeRecetas");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from lineas_creditos", "medicuriConnectionString", odsDataSet, "lineas_creditos");                        

                        Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\LineasCredito\\rptAcumuladoLineaCredito.rpt");
                        Session["campoaordenar"] = ObtenerCampoOrden("~\\rptReportes\\LineasCredito\\rptAcumuladoLineaCredito.rpt");
                        Session["dataset"] = odsDataSet;
                        Session["titulo"] = txbTitulo.Text;
                        Session["configuracionsistema"] = objConfiguracion;
                        Session["sortfield"] = 0;

                        Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                        LineasCredito oLineasCredito = (LineasCredito)Parent.Page;
                        oLineasCredito.CargarListaReportes();
                    
                    #endregion
                    break;
                case "~\\rptReportes\\Facturacion\\rptAntiguedadDeSaldos.rpt":
                    #region rptAntiguedadDeSaldos.rpt
                        odsDataSet = new MedDAL.DataSets.dsDataSet();
                        oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas", "medicuriConnectionString", odsDataSet, "facturas");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas_partida", "medicuriConnectionString", odsDataSet, "facturas_partida");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from usuarios", "medicuriConnectionString", odsDataSet, "usuarios");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from clientes", "medicuriConnectionString", odsDataSet, "clientes");

                        Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Facturacion\\rptAntiguedadDeSaldos.rpt");
                        Session["campoaordenar"] = "";
                        Session["dataset"] = odsDataSet;
                        Session["titulo"] = txbTitulo.Text;
                        Session["configuracionsistema"] = objConfiguracion;
                        Session["sortfield"] = 0;
                        Session["sAlmacenNombre"] = txbAlmacenf.Text;

                        Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");
                   
                        oFacturacion = (Facturacion)Parent.Page;
                        oFacturacion.CargarListaReportes();

                    #endregion
                    break;
                case "~\\rptReportes\\Facturacion\\rptCuentasPorCobrar.rpt":
                    #region Cuentas por cobrar
                     odsDataSet = new MedDAL.DataSets.dsDataSet();
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from facturas", "medicuriConnectionString", odsDataSet, "facturas");
                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from clientes", "medicuriConnectionString", odsDataSet, "clientes");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Facturacion\\rptCuentasPorCobrar.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    cuentasxcobrar oCuentasPorCobrar = (cuentasxcobrar)Parent.Page;
                    oCuentasPorCobrar.CargarListaReportes();
                                      
                    #endregion
                    break;
                case "~\\rptReportes\\Movimientos\\rptMovimientos.rpt":
                    #region rptMovimientos
                        odsDataSet = new MedDAL.DataSets.dsDataSet();
                        oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                        oUsuario = new MedDAL.DAL.usuarios();
                        oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());

                        odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from VistaMovimientos", "medicuriConnectionString", odsDataSet, "VistaMovimientos");
                        //odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                        //odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                        //odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "inventario") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario", "medicuriConnectionString", odsDataSet, "inventario");
                        //odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from inventario_partida", "medicuriConnectionString", odsDataSet, "inventario_partida");
                        //odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");
                        //odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from MovimientoSalida", "medicuriConnectionString", odsDataSet, "MovimientoSalida");

                        Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\Movimientos\\rptMovimientos.rpt");
                        Session["tablaordenar"] = "VistaMovimientos";
                        Session["campoaordenar"] = "NombreAlmacen";
                        Session["dataset"] = odsDataSet;
                        Session["titulo"] = txbTitulo.Text;
                        Session["configuracionsistema"] = objConfiguracion;
                        Session["sortfield"] = 0;
                        //Session["sAlmacenNombre"] = txbAlmacenf.Text;

                        Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");
                   
                        Movimientos oMovimientos = (Movimientos)Parent.Page;
                        oMovimientos.CargarListaReportes();
                    #endregion
                    break;
                case "~\\rptReportes\\rptRecetas.rpt":
                    #region Recetas
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4 and idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "recetas") : (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4", "medicuriConnectionString", odsDataSet, "recetas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida", "medicuriConnectionString", odsDataSet, "recetas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos where idProducto = 1", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from clientes", "medicuriConnectionString", odsDataSet, "clientes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from vendedores", "medicuriConnectionString", odsDataSet, "vendedores");


                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\rptRecetas.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    //Session["reportdocument"] = "~\\rptReportes\\rptRecetas.rpt";
                    Session["configuracionsistema"] = objConfiguracion;                    
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    Reportes oReportes = (Reportes)Parent.Page;
                    oReportes.CargarListaReportes();
                    #endregion
                    break;
                case "~\\rptReportes\\rptRecetasDiagnostico.rpt":
                    #region RecetasDiagnostico
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4 and idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "recetas") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4", "medicuriConnectionString", odsDataSet, "recetas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida", "medicuriConnectionString", odsDataSet, "recetas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from clientes", "medicuriConnectionString", odsDataSet, "clientes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from vendedores", "medicuriConnectionString", odsDataSet, "vendedores");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from causes", "medicuriConnectionString", odsDataSet, "causes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from causes_cie", "medicuriConnectionString", odsDataSet, "causes_cie");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from causes_medicamentos", "medicuriConnectionString", odsDataSet, "causes_medicamentos");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\rptRecetasDiagnostico.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    //Session["reportdocument"] = "~\\rptReportes\\rptRecetas.rpt";
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oReportes = (Reportes)Parent.Page;
                    oReportes.CargarListaReportes();
                    #endregion
                    break;
                case "~\\rptReportes\\rptRecetasLineaCredito.rpt":
                    #region RecetasLineaCredito
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4 and idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "recetas")
                        :
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4", "medicuriConnectionString", odsDataSet, "recetas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida", "medicuriConnectionString", odsDataSet, "recetas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from clientes", "medicuriConnectionString", odsDataSet, "clientes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from vendedores", "medicuriConnectionString", odsDataSet, "vendedores");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from lineas_creditos", "medicuriConnectionString", odsDataSet, "lineas_creditos");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\rptRecetasLineaCredito.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;
                    //Session["reportdocument"] = "~\\rptReportes\\rptRecetas.rpt";
                    Session["configuracionsistema"] = objConfiguracion;
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oReportes = (Reportes)Parent.Page;
                    oReportes.CargarListaReportes();
                    #endregion
                    break;
                case "~\\rptReportes\\rptRecetasLocalidad.rpt":
                    #region RecetasLocalidad
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4 and idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "recetas")
                        :
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4", "medicuriConnectionString", odsDataSet, "recetas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida", "medicuriConnectionString", odsDataSet, "recetas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from poblaciones", "medicuriConnectionString", odsDataSet, "poblaciones");


                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\rptRecetasLocalidad.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;                    
                    Session["configuracionsistema"] = objConfiguracion;                    
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oReportes = (Reportes)Parent.Page;
                    oReportes.CargarListaReportes();
                    #endregion
                    break;
                case "~\\rptReportes\\rptMedicamentosMasRecetados.rpt":
                    #region MedicamentosMasRecetados
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet.EnforceConstraints = false;
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4 and idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "recetas")
                        :
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4", "medicuriConnectionString", odsDataSet, "recetas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida", "medicuriConnectionString", odsDataSet, "recetas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");


                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\rptMedicamentosMasRecetados.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;                    
                    Session["configuracionsistema"] = objConfiguracion;                    
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oReportes = (Reportes)Parent.Page;
                    oReportes.CargarListaReportes();
                    #endregion
                    break;
                case "~\\rptReportes\\rptMedicamentosPrescritosMedico.rpt":
                    #region MedicamentosPrescritosMedico
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet.EnforceConstraints = false;
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4 and idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "recetas")
                        :
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4", "medicuriConnectionString", odsDataSet, "recetas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida", "medicuriConnectionString", odsDataSet, "recetas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from vendedores", "medicuriConnectionString", odsDataSet, "vendedores");


                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\rptMedicamentosPrescritosMedico.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;                    
                    Session["configuracionsistema"] = objConfiguracion;                    
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oReportes = (Reportes)Parent.Page;
                    oReportes.CargarListaReportes();
                    #endregion
                    break;
                case "~\\rptReportes\\rptConsumosMedicamento.rpt":
                    #region ConsumosMedicamento
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet.EnforceConstraints = false;
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4 and idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "recetas")
                        :
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4", "medicuriConnectionString", odsDataSet, "recetas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida", "medicuriConnectionString", odsDataSet, "recetas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");


                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\rptConsumosMedicamento.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;                    
                    Session["configuracionsistema"] = objConfiguracion;                    
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oReportes = (Reportes)Parent.Page;
                    oReportes.CargarListaReportes();
                    #endregion
                    break;
                case "~\\rptReportes\\rptConsumosMedicamentoFarmacia.rpt":
                    #region ConsumosMedicamentoFarmacia
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet.EnforceConstraints = false;
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas", "medicuriConnectionString", odsDataSet, "recetas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida", "medicuriConnectionString", odsDataSet, "recetas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\rptConsumosMedicamentoFarmacia.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;                    
                    Session["configuracionsistema"] = objConfiguracion;                    
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oReportes = (Reportes)Parent.Page;
                    oReportes.CargarListaReportes();
                    #endregion
                    break;
                case "~\\rptReportes\\rptConsumosMedicamentoRequisicion.rpt":
                    #region ConsumosMedicamentoRequisicion
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet.EnforceConstraints = false;
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4 and idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "recetas")
                        :
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4", "medicuriConnectionString", odsDataSet, "recetas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida", "medicuriConnectionString", odsDataSet, "recetas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");


                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\rptConsumosMedicamentoRequisicion.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;                    
                    Session["configuracionsistema"] = objConfiguracion;                    
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oReportes = (Reportes)Parent.Page;
                    oReportes.CargarListaReportes();
                    #endregion
                    break;
                case "~\\rptReportes\\rptInventarios.rpt":
                    #region Inventarios
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet.EnforceConstraints = false;
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen_stocks", "medicuriConnectionString", odsDataSet, "productos_almacen_stocks");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");                   

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\rptInventarios.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;                    
                    Session["configuracionsistema"] = objConfiguracion;                    
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oReportes = (Reportes)Parent.Page;
                    oReportes.CargarListaReportes();
                    #endregion
                    break;
                case "~\\rptReportes\\rptInventariosLotes.rpt":
                    #region InventariosLotes
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet.EnforceConstraints = false;
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen_stocks", "medicuriConnectionString", odsDataSet, "productos_almacen_stocks");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");                   

                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\rptInventariosLotes.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;                    
                    Session["configuracionsistema"] = objConfiguracion;                    
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oReportes = (Reportes)Parent.Page;
                    oReportes.CargarListaReportes();
                    #endregion
                    break; 
                case "~\\rptReportes\\rptCaducos.rpt":
                    #region Caducos
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet.EnforceConstraints = false;
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen", "medicuriConnectionString", odsDataSet, "productos_almacen");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos_almacen_stocks", "medicuriConnectionString", odsDataSet, "productos_almacen_stocks");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    //odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");


                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\rptCaducos.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;                    
                    Session["configuracionsistema"] = objConfiguracion;                    
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oReportes = (Reportes)Parent.Page;
                    oReportes.CargarListaReportes();
                    #endregion
                    break;
                case "~\\rptReportes\\rptRecetasPaciente.rpt":
                    #region RecetasPaciente
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet.EnforceConstraints = false;
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4 and idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "recetas")
                        :
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4", "medicuriConnectionString", odsDataSet, "recetas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida", "medicuriConnectionString", odsDataSet, "recetas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from clientes", "medicuriConnectionString", odsDataSet, "clientes");


                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\rptRecetasPaciente.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;                    
                    Session["configuracionsistema"] = objConfiguracion;                    
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oReportes = (Reportes)Parent.Page;
                    oReportes.CargarListaReportes();
                    #endregion
                    break;
                case "~\\rptReportes\\rptRecetasRequisicion.rpt":
                    #region RecetasRequisicion
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet.EnforceConstraints = false;
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4 and idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "recetas")
                        :
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4", "medicuriConnectionString", odsDataSet, "recetas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida", "medicuriConnectionString", odsDataSet, "recetas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from tipos", "medicuriConnectionString", odsDataSet, "tipos");


                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\rptRecetasRequisicion.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;                    
                    Session["configuracionsistema"] = objConfiguracion;                    
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oReportes = (Reportes)Parent.Page;
                    oReportes.CargarListaReportes();
                    #endregion
                    break;
                case "~\\rptReportes\\rptRecetasConsumo.rpt":
                    #region RecetasConsumo
                    odsDataSet = new MedDAL.DataSets.dsDataSet();
                    odsDataSet.EnforceConstraints = false;
                    oblUsuario = new MedNeg.Usuarios.BlUsuarios();
                    oUsuario = new MedDAL.DAL.usuarios();
                    oUsuario = (MedDAL.DAL.usuarios)oblUsuario.Buscar(Session["usuario"].ToString());
                    
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes where idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "almacenes") 
                        : 
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from almacenes", "medicuriConnectionString", odsDataSet, "almacenes");
                    odsDataSet = (bool)oUsuario.FiltradoActivado ? (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4 and idAlmacen = " + oUsuario.idAlmacen, "medicuriConnectionString", odsDataSet, "recetas")
                        :
                        (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas where EstatusMedico != 4", "medicuriConnectionString", odsDataSet, "recetas");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from recetas_partida", "medicuriConnectionString", odsDataSet, "recetas_partida");
                    odsDataSet = (MedDAL.DataSets.dsDataSet)LlenarDataSet("select * from productos", "medicuriConnectionString", odsDataSet, "productos");


                    Session["recordselection"] = ObtenerRecordSelection("~\\rptReportes\\rptRecetasConsumo.rpt");
                    Session["campoaordenar"] = "";
                    Session["dataset"] = odsDataSet;
                    Session["titulo"] = txbTitulo.Text;                    
                    Session["configuracionsistema"] = objConfiguracion;                    
                    Session["sortfield"] = 0;

                    Response.Write("<script type='text/javascript'>detailedresults=window.open('VistaReporteGenerico.aspx');</script>");

                    oReportes = (Reportes)Parent.Page;
                    oReportes.CargarListaReportes();
                    #endregion
                    break;
            }
        }