private void btnGenerar_Click(object sender, EventArgs e)
        {
            Cursor = Cursors.WaitCursor;
            try
            {
                if (cboFechaInicio.Value.ToString() != "" & cboFechaFin.Value.ToString() != "" & CboProductos.SelectedValue.ToString() != "")
                {
                    DateTime FecIni;
                    DateTime FecFin;
                    FecIni = Convert.ToDateTime(cboFechaInicio.Value).Date;
                    FecFin = Convert.ToDateTime(cboFechaFin.Value).AddDays(1).Date;

                    //Creamos el documento
                    ReportDocument rpt = new ReportDocument();
                    //Obtenemos el documento que se encuentra en nustra carpeta bin\debug\crReporte.rpt

                    rpt.Load(Application.StartupPath + "\\CrpVentasProducto.rpt");

                    //Lleanamos el reporte con la información que obtenemos de la base de datos
                    //NumHojaDespacho = "IH-HD201106140003";

                    usp_GetDetalleVentasPorProducto.Clear();


                    if (TcSeleccion.SelectedIndex == 0 & CboVendedores.SelectedIndex != -1)
                    {
                        usp_GetDetalleVentasPorProducto = new CL_VentasTemp().GetDetalleVentasPorProducto(FecIni, FecFin, 0, Convert.ToInt16(CboVendedores.SelectedValue), Convert.ToInt32(CboProductos.SelectedValue));
                    }
                    if (TcSeleccion.SelectedIndex == 1)
                    {
                        usp_GetDetalleVentasPorProducto = new CL_VentasTemp().GetDetalleVentasPorProducto(FecIni, FecFin, Convert.ToInt16(CboCaja.SelectedValue), 0, Convert.ToInt32(CboProductos.SelectedValue));
                    }
                    DS.Tables["usp_GetDetalleVentasPorProducto"].Clear();
                    DS.Tables["usp_GetDetalleVentasPorProducto"].Merge(usp_GetDetalleVentasPorProducto);

                    rpt.SetDataSource(DS);
                    //Establecemos los datos al reporte
                    this.CrvResumenVentas.ReportSource = rpt;
                    //pasar datos directo al crystal reports
                    rpt.DataDefinition.FormulaFields[0].Text = "'" + AppSettings.NomEmpresa + "'";
                    rpt.DataDefinition.FormulaFields[2].Text = "'" + AppSettings.NomSede + "'";
                    if (TcSeleccion.SelectedIndex == 0)
                    {
                        rpt.DataDefinition.FormulaFields[3].Text = "'Resumen de ventas por cajero ''" + CboVendedores.SelectedText + "'': del " + FecIni.ToString().Substring(1, 10) + " al " + cboFechaFin.Value.ToString().Substring(1, 10) + ".'' de " + CboProductos.Columns["Articulo"].Value.ToString() + ".'";
                    }
                    if (TcSeleccion.SelectedIndex == 1)
                    {
                        rpt.DataDefinition.FormulaFields[3].Text = "'Resumen de ventas por caja ''" + CboCaja.SelectedText + "'': del " + FecIni.ToString().Substring(1, 10) + " al " + cboFechaFin.Value.ToString().Substring(1, 10) + ".'' de " + CboProductos.Columns["Articulo"].Value.ToString() + ".'";
                    }
                    //Refrescamos nuestro reporte
                    this.CrvResumenVentas.RefreshReport();
                    CboTipoComprobante.SelectedIndex = -1;
                }
            }
            catch (Exception ex)
            {
                //MessageBox.Show(ex.InnerException.Message);
                MessageBox.Show(ex.Message);
            }

            Cursor = Cursors.Default;
        }
Exemple #2
0
        public void RegalosVenta()
        {
            ok       = true;
            consulta = "";
            texto    = "";
            ultprim  = ultprim == "Ultimos" ? "desc" : "asc"; //ultimos=0 desc - primeros=1 asc

            //por consecutivo
            if (Consec == true)
            {
                if (topFolio > 0)
                {
                    consulta = "select Top " + topFolio + " t.Iniciales as TipCon,c.NumCto,c.FechaVta,reg.Nombre as Regalo,(case when r.Tipo=1 then 'Incluido' else 'No Incluido' end) Tipo, r.Folio,(case when r.Cancelado='True' then 'Si' else '' end) Cancelado,r.Cantidad,r.CostoA,(r.Cantidad*r.CostoA) as Total from ContratosRegalos r inner join Contratos c on  r.FolioContrato=c.FolioContrato left join Regalos reg on r.IdRegalo=reg.idRegalo left join TiposContrato t on  c.idTipcon=t.idtipcon";
                    texto    = ultprim == "desc"? "-Ultimos: " + topFolio + " folios ":"-Primeros: " + topFolio + " folios ";
                }
                else
                {
                    consulta = "select t.Iniciales as TipCon,c.NumCto,c.FechaVta,reg.Nombre as Regalo,(case when r.Tipo=1 then 'Incluido' else 'No Incluido' end) Tipo, r.Folio,(case when r.Cancelado='True' then 'Si' else '' end) Cancelado,r.Cantidad,r.CostoA,(r.Cantidad*r.CostoA) as Total from ContratosRegalos r inner join Contratos c on  r.FolioContrato=c.FolioContrato left join Regalos reg on r.IdRegalo=reg.idRegalo left join TiposContrato t on c.idTipcon=t.idtipcon";
                }

                if (Sala > 0)
                {
                    consulta = consulta + " where c.idSalaVta=" + Sala;
                }
                else
                {
                    ok = false;
                }

                if (empieza > 0)
                {
                    consulta = consulta + " and r.FolioContrato like '" + empieza + "%'";
                }

                if (FolFin > 1)
                {
                    consulta = consulta + " and r.FolioContrato between " + FolIni + " and " + FolFin;
                    texto    = texto + " -Folio del: " + FolIni + " al: " + FolFin;
                }

                if (Tipo == 1 || Tipo == 2)
                {
                    consulta = consulta + " and r.Tipo =" + Tipo;

                    if (Tipo == 1)
                    {
                        texto = texto + " -Tipo: " + "Incluido";
                    }
                    else if (Tipo == 2)
                    {
                        texto = texto + " -Tipo: " + "No Incluido";
                    }
                    else
                    {
                        texto = texto + " -Tipo: " + "Todos";
                    }
                }

                if (sinFolio == false)
                {
                    consulta = consulta + " and r.Folio is not null";
                    texto    = texto + " -Regalos con Folio";
                }

                if (NumsRegalos != "")
                {
                    consulta = consulta + " and r.IdRegalo in (" + NumsRegalos + ")";
                }

                if (OrderBy == 1)
                {
                    consulta = consulta + " order by reg.Nombre " + ultprim;
                }
                else if (OrderBy == 2)
                {
                    consulta = consulta + " order by c.NumCto " + ultprim;
                }
                else
                {
                    consulta = consulta + " order by r.Folio " + ultprim;
                }
            }
            else if (FVenta == true || FFolio == true)
            {
                consulta = "select t.Iniciales as TipCon,c.NumCto,c.FechaVta,reg.Nombre as Regalo,(case when r.Tipo=1 then 'Incluido' else 'No Incluido' end) Tipo, r.Folio,(case when r.Cancelado='True' then 'Si' else '' end) Cancelado,r.Cantidad,r.CostoA,(r.Cantidad*r.CostoA) as Total from ContratosRegalos r inner join Contratos c on  r.FolioContrato=c.FolioContrato left join Regalos reg on r.IdRegalo=reg.idRegalo left join TiposContrato t on c.idTipcon=t.idtipcon";

                if (Sala > 0)
                {
                    consulta = consulta + " where c.idSalaVta=" + Sala;
                }
                else
                {
                    ok = false;
                }

                if (FVenta == true)
                {
                    consulta = consulta + " and c.FechaVta between " + "'" + FecIni.ToString("yyyyMMdd") + "'" + " and " + "'" + FecFin.ToString("yyyyMMdd") + "'";
                    texto    = texto + " -Fecha de Venta del: " + FecIni.ToString("d") + " al: " + FecFin.ToString("d");
                }

                if (FFolio == true)
                {
                    consulta = consulta + " and r.FechorAlt between " + "'" + FecIni.ToString("yyyyMMdd") + "'" + " and " + "'" + FecFin.ToString("yyyyMMdd") + "'";
                    texto    = texto + " -Fecha de Captura del: " + FecIni.ToString("d") + " al: " + FecFin.ToString("d");
                }

                if (Tipo == 1 || Tipo == 2)
                {
                    consulta = consulta + " and r.Tipo =" + Tipo;
                    if (Tipo == 1)
                    {
                        texto = texto + " -Tipo: " + "Incluido";
                    }
                    else if (Tipo == 2)
                    {
                        texto = texto + " -Tipo: " + "No Incluido";
                    }
                    else
                    {
                        texto = texto + " -Tipo: " + "Todos";
                    }
                }

                if (sinFolio == false)
                {
                    consulta = consulta + " and r.Folio is not null";
                }

                if (NumsRegalos != "")
                {
                    consulta = consulta + " and r.IdRegalo in (" + NumsRegalos + ")";
                }

                if (OrderBy == 1)
                {
                    consulta = consulta + " order by reg.Nombre " + ultprim;
                }
                else if (OrderBy == 2)
                {
                    consulta = consulta + " order by c.NumCto " + ultprim;
                }
                else
                {
                    consulta = consulta + " order by r.Folio " + ultprim;
                }
            }
            else
            {
                consulta = "select t.Iniciales as TipCon,c.NumCto,c.FechaVta,reg.Nombre as Regalo,(case when r.Tipo=1 then 'Incluido' else 'No Incluido' end) Tipo, r.Folio,(case when r.Cancelado='True' then 'Si' else '' end) Cancelado,r.Cantidad,r.CostoA,(r.Cantidad*r.CostoA) as Total from ContratosRegalos r inner join Contratos c on  r.FolioContrato=c.FolioContrato left join Regalos reg on r.IdRegalo=reg.idRegalo left join TiposContrato t on c.idTipcon=t.idtipcon ";

                if (Sala > 0)
                {
                    consulta = consulta + " where c.idSalaVta=" + Sala;
                }
                else
                {
                    ok = false;
                }

                if (Tipo == 1 || Tipo == 2)
                {
                    consulta = consulta + " and r.Tipo =" + Tipo;
                    if (Tipo == 1)
                    {
                        texto = texto + " -Tipo: " + "Incluido";
                    }
                    else if (Tipo == 2)
                    {
                        texto = texto + " -Tipo: " + "No Incluido";
                    }
                    else
                    {
                        texto = texto + " -Tipo: " + "Todos";
                    }
                }

                if (sinFolio == false)
                {
                    consulta = consulta + " and r.Folio is not null";
                }

                if (NumsRegalos != "")
                {
                    consulta = consulta + " and r.IdRegalo in (" + NumsRegalos + ")";
                }

                if (OrderBy == 1)
                {
                    consulta = consulta + " order by reg.Nombre " + ultprim;
                }
                else if (OrderBy == 2)
                {
                    consulta = consulta + " order by c.NumCto " + ultprim;
                }
                else
                {
                    consulta = consulta + " order by r.Folio " + ultprim;
                }
            }


            if (ok == false)
            {
                MessageBox.Show("Favor de verificar los filtros seleccionados");
                consulta = "";
            }
            else
            {
                string sql = consulta;

                using (SqlConnection con = new SqlConnection(c.cadenaConexion))
                {
                    con.Open();

                    using (SqlCommand comando = new SqlCommand(sql, con))
                    {
                        SqlDataAdapter da = new SqlDataAdapter(comando);
                        DataTable      dt = new DataTable("RegalosVenta");

                        da.Fill(dt);
                        reporte.SetDataSource(dt);

                        con.Close();
                    }
                }


                string ThisDay = "";
                fecha.GeneraFecha(DateTime.Today, 1);
                ThisDay = fecha.LetrasDia + ", " + fecha.NumDia + " DE " + fecha.LetrasMes + " DE " + fecha.Año;

                reporte.SetParameterValue("ThisDay", ThisDay);
                reporte.SetParameterValue("text", texto);
                // reporte.SetParameterValue("Texto", texto);
                vr = new VisorReportes(reporte);

                vr.ShowDialog();
            }
        }
        private void CboTipoComprobante_SelectedValueChanged(object sender, EventArgs e)
        {
            if (CboTipoComprobante.SelectedIndex != -1 & CboProductos.SelectedIndex != -1)
            {
                DateTime FecIni;
                DateTime FecFin;
                FecIni = Convert.ToDateTime(cboFechaInicio.Value).Date;
                FecFin = Convert.ToDateTime(cboFechaFin.Value).AddDays(1).Date;
                ReportDocument rpt = new ReportDocument();
                rpt.Load(Application.StartupPath + "\\CrpVentasProducto.rpt");

                //filtrar y mostrar los datos
                DataView DvDetallefiltro = new DataView(usp_GetDetalleVentasPorProducto);

                //validar segun el tipo de documento
                if (Convert.ToInt16(CboTipoComprobante.SelectedValue) == 0) //son ambos
                {
                    //no se hace nada
                }
                else //filtra segun tipo
                {
                    DvDetallefiltro.RowFilter = "TipoDocumento = '" + Convert.ToInt16(CboTipoComprobante.SelectedValue) + "'";
                }


                DS.Tables["usp_GetDetalleVentasPorProducto"].Clear();
                DS.Tables["usp_GetDetalleVentasPorProducto"].Merge(DvDetallefiltro.ToTable());

                rpt.SetDataSource(DS);
                //Establecemos los datos al reporte
                this.CrvResumenVentas.ReportSource = rpt;
                //pasar datos directo al crystal reports
                rpt.Load(Application.StartupPath + "\\CrpVentasProducto.rpt");
                rpt.DataDefinition.FormulaFields[0].Text = "'" + AppSettings.NomEmpresa + "'";
                rpt.DataDefinition.FormulaFields[2].Text = "'" + AppSettings.NomSede + "'";
                if (TcSeleccion.SelectedIndex == 0)
                {
                    rpt.DataDefinition.FormulaFields[3].Text = "'Resumen de ventas por cajero ''" + CboVendedores.SelectedText + "'': del " + FecIni.ToString().Substring(1, 10) + " al " + cboFechaFin.Value.ToString().Substring(1, 10) + ".'' de " + CboProductos.Columns["Articulo"].Value.ToString() + ".'";
                }
                if (TcSeleccion.SelectedIndex == 1)
                {
                    rpt.DataDefinition.FormulaFields[3].Text = "'Resumen de ventas por caja ''" + CboCaja.SelectedText + "'': del " + FecIni.ToString().Substring(1, 10) + " al " + cboFechaFin.Value.ToString().Substring(1, 10) + ".'' de " + CboProductos.Columns["Articulo"].Value.ToString() + ".'";
                }
                //Refrescamos nuestro reporte
                this.CrvResumenVentas.RefreshReport();
            }
        }