public virtual CrystalDecisions.CrystalReports.Engine.ReportDocument CreateReport()
        {
            ReportDetallesComprasVentas rpt = new ReportDetallesComprasVentas();

            rpt.Site = this.Site;
            return(rpt);
        }
        private void buttonReport_Click(object sender, EventArgs e)
        {
            string datosEmpleado         = "";
            ClaseCapaDatosFerreteria cpd = new ClaseCapaDatosFerreteria();
            ClaseBitacoraFerreteria  cbf = new ClaseBitacoraFerreteria();

            try
            {
                datosEmpleado = cpd.ExtraerCodigo3("CONCAT(Apellidos,',',Nombre) AS ", "NombreC", "" +
                                                   " bd_ferreteria.tbl_Persona, bd_ferreteria.tbl_usuario, bd_ferreteria.tbl_Empleado",
                                                   "tbl_Empleado.status ", " 1 AND tbl_Persona.status = 1 " +
                                                   "AND tbl_Persona.id = tbl_Empleado.tbl_Persona_id " +
                                                   "AND tbl_usuario.tbl_empleado_DPI = tbl_empleado.DPI " +
                                                   "AND tbl_usuario.id = " + cbf.GetUserCodeForLog()
                                                   );
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            ///
            ReporteadorFerreteria.REPORTS.ReportDetallesComprasVentas objRpt = new ReporteadorFerreteria.REPORTS.ReportDetallesComprasVentas();
            ReporteadorFerreteria.DATASETS.DataSetP ds1 = new ReporteadorFerreteria.DATASETS.DataSetP();
            foreach (DataGridViewRow row in dtg_ProductosDetalle.Rows)
            {
                ReporteadorFerreteria.DATASETS.DataSetP.tbl_Encabezado_DetalleRow rowDetalles = ds1.tbl_Encabezado_Detalle.Newtbl_Encabezado_DetalleRow();
                rowDetalles.id       = Convert.ToString(row.Cells["CODIGO"].Value);
                rowDetalles.Producto = Convert.ToString(row.Cells["PRODUCTO"].Value);
                rowDetalles.Cantidad = Convert.ToString(row.Cells["CANTIDAD"].Value);
                rowDetalles.Precio   = Convert.ToString(row.Cells["PRECIO"].Value);
                rowDetalles.Subtotal = Convert.ToString(row.Cells["SUBTOTAL"].Value);

                ds1.tbl_Encabezado_Detalle.Addtbl_Encabezado_DetalleRow(rowDetalles);
            }
            objRpt.SetDataSource(ds1);
            TextObject txtObject             = (TextObject)objRpt.ReportDefinition.Sections["Section1"].ReportObjects["TextBy"];
            TextObject txtObjectDate         = (TextObject)objRpt.ReportDefinition.Sections["Section1"].ReportObjects["TextDate"];
            TextObject txtObjectType         = (TextObject)objRpt.ReportDefinition.Sections["Section1"].ReportObjects["TextType"];
            TextObject txtObjectObjeto       = (TextObject)objRpt.ReportDefinition.Sections["Section1"].ReportObjects["TextObjeto"];
            TextObject txtObjectNo           = (TextObject)objRpt.ReportDefinition.Sections["Section1"].ReportObjects["TextNoOrden"];
            TextObject txtObjectFEmision     = (TextObject)objRpt.ReportDefinition.Sections["Section1"].ReportObjects["TextFEmision"];
            TextObject txtObjectFCancelacion = (TextObject)objRpt.ReportDefinition.Sections["Section1"].ReportObjects["TextFCancelacion"];
            TextObject txtObjectbjetivo      = (TextObject)objRpt.ReportDefinition.Sections["Section1"].ReportObjects["TextObjetivo"];
            TextObject txtObjectSaldo        = (TextObject)objRpt.ReportDefinition.Sections["Section1"].ReportObjects["TextSaldo"];
            TextObject txtObjectTotal        = (TextObject)objRpt.ReportDefinition.Sections["Section1"].ReportObjects["TextTotal"];
            TextObject txtObjectTransporte   = (TextObject)objRpt.ReportDefinition.Sections["Section1"].ReportObjects["TextTransporte"];

            txtObjectDate.Text         = DateTime.Now.ToLongTimeString();
            txtObject.Text             = datosEmpleado;
            txtObjectType.Text         = "VENTAS";
            txtObjectObjeto.Text       = "Cliente:";
            txtObjectNo.Text           = labelNoVenta.Text;
            txtObjectFEmision.Text     = labelFechaEntrega.Text;
            txtObjectFCancelacion.Text = labelFechaCancelación.Text;
            txtObjectbjetivo.Text      = labelCliente.Text;
            txtObjectSaldo.Text        = labelSaldo.Text;
            txtObjectTotal.Text        = labelTotal.Text;
            txtObjectTransporte.Text   = labelTransporte.Text;
            UI_Visualizador form = new UI_Visualizador();

            form.crystalReportViewerGlobal.ReportSource = objRpt;
            form.ShowDialog();
        }