Beispiel #1
0
        public void INHOADON(string ms)
        {
            //----------1.Khai báo CrystalReport: CrystalReportHD.rpt
            rp_DonHang rp = new rp_DonHang();

            //----------2.Cung cấp thông tin đăng nhập cho CrystalReport: CrystalReportHD
            ConnectionInfo myConn = new ConnectionInfo();

            myConn.ServerName   = frmDangnhap.SV;
            myConn.DatabaseName = frmDangnhap.DB;
            myConn.UserID       = frmDangnhap.ID;
            myConn.Password     = frmDangnhap.PASS;
            TableLogOnInfo myTable = new TableLogOnInfo();

            myTable.ConnectionInfo = myConn;
            rp.Database.Tables[0].ApplyLogOnInfo(myTable);

            //----------3.Khai báo kết nối tham số với CrystalReport
            CrystalDecisions.Shared.ParameterValues        myVL    = new CrystalDecisions.Shared.ParameterValues();
            CrystalDecisions.Shared.ParameterDiscreteValue PDVMaHD = new CrystalDecisions.Shared.ParameterDiscreteValue();


            //----------4. Truyền tham số Từ ngày - Đến ngày (Form)
            //-----4.1. Truyền tham số Từ ngày
            PDVMaHD.Value = ms;
            myVL.Add(PDVMaHD);
            rp.DataDefinition.ParameterFields["@MSHD"].ApplyCurrentValues(myVL);
            myVL.Clear();


            //-----------5.Gán CrystalReport vào crystalReportViewerP
            crystalReportViewerHD.ReportSource = rp;
        }
Beispiel #2
0
        /// <summary>
        /// Sets the parameters that have been added using the SetParameter method
        /// </summary>
        private void SetParameters()
        {
            foreach (ParameterFieldDefinition parameter in _reportDocument.DataDefinition.ParameterFields)
            {
                try
                {
                    // Now get the current value for the parameter
                    CrystalDecisions.Shared.ParameterValues currentValues = parameter.CurrentValues;
                    currentValues.Clear();

                    // Create a value object for Crystal reports and assign the specified value.
                    CrystalDecisions.Shared.ParameterDiscreteValue newValue = new CrystalDecisions.Shared.ParameterDiscreteValue();

                    if (_parameters.ContainsKey(parameter.Name))
                    {
                        newValue.Value = _parameters[parameter.Name];
                        // Now add the new value to the values collection and apply the
                        // collection to the report.
                        currentValues.Add(newValue);
                        parameter.ApplyCurrentValues(currentValues);
                    }
                    else
                    {
                        parameter.ApplyCurrentValues(parameter.DefaultValues);
                    }
                }
                catch
                {
                    // Ignore any errors
                }
            }
        }
Beispiel #3
0
    public void PassParameter(int ParameterIndex, string ParameterValue)
    {
        //        '
        //        ' Declare the parameter related objects.
        //        '
        ParameterDiscreteValue    crParameterDiscreteValue;
        ParameterFieldDefinitions crParameterFieldDefinitions;
        ParameterFieldDefinition  crParameterFieldLocation;
        ParameterValues           crParameterValues;

        //        '
        //        ' Get the report's parameters collection.
        //        '
        //string msg = "Improper parameter list, Parameter defined at report do not match with parameter passed to report " +
        //            "\nReport Path = " + ReportPath +
        //            "\n" + originalParamList +
        //            "\n" + passedParameterList;

        //LM_BaseClass.LM_LogError(msg);
        //throw new Exception(msg);

        crParameterFieldDefinitions    = crReportDocument.DataDefinition.ParameterFields;
        crParameterFieldLocation       = (ParameterFieldDefinition)crParameterFieldDefinitions[ParameterIndex];
        crParameterValues              = crParameterFieldLocation.CurrentValues;
        crParameterDiscreteValue       = new CrystalDecisions.Shared.ParameterDiscreteValue();
        crParameterDiscreteValue.Value = System.Convert.ToString(ParameterValue);
        crParameterValues.Add(crParameterDiscreteValue);
        crParameterFieldLocation.ApplyCurrentValues(crParameterValues);
    }
Beispiel #4
0
        private void btnReport_Click(object sender, EventArgs e)
        {
            CR_MHTuDen rp = new CR_MHTuDen();

            CrystalDecisions.Shared.ParameterValues        myValue    = new CrystalDecisions.Shared.ParameterValues();
            CrystalDecisions.Shared.ParameterDiscreteValue PDVTuNgay  = new CrystalDecisions.Shared.ParameterDiscreteValue();
            CrystalDecisions.Shared.ParameterDiscreteValue PDVDenNgay = new CrystalDecisions.Shared.ParameterDiscreteValue();


            CrystalDecisions.Shared.ConnectionInfo con = new CrystalDecisions.Shared.ConnectionInfo();
            con.ServerName   = frmDangnhap.SV;
            con.DatabaseName = frmDangnhap.DB;
            con.UserID       = frmDangnhap.ID;
            con.Password     = frmDangnhap.PASS;

            TableLogOnInfo table = new TableLogOnInfo();

            table.ConnectionInfo = con;
            rp.Database.Tables[0].ApplyLogOnInfo(table);

            PDVTuNgay.Value = this.txtDayStart.Value;
            myValue.Add(PDVTuNgay);
            rp.DataDefinition.ParameterFields["@TUNGAY"].ApplyCurrentValues(myValue);
            myValue.Clear();

            PDVDenNgay.Value = this.txtDayEnd.Value;
            myValue.Add(PDVDenNgay);
            rp.DataDefinition.ParameterFields["@DENNGAY"].ApplyCurrentValues(myValue);
            myValue.Clear();


            this.crystalReportViewer1.ReportSource = rp;
        }
        public static void PrintReceipt(string salesOrderNo)
        {
            try
            {
                string receiptPath = factory.MasterDataBroker.GetReceiptPath();
                if (string.IsNullOrEmpty(receiptPath))
                    return;

                ReportDocument receipt = new ReportDocument();
                receipt.Load(receiptPath);

                string conString = BMResto.BO.General.ConnectionHelper.BMRestoConnectionString;
                string[] conStringDetails = conString.Split(';');
                string server = conStringDetails.SingleOrDefault(o => o.Contains("Data Source")).Split('=')[1];
                string db = conStringDetails.SingleOrDefault(o => o.Contains("Initial Catalog")).Split('=')[1];
                string userName = conStringDetails.SingleOrDefault(o => o.Contains("User ID")).Split('=')[1];
                string password = conStringDetails.SingleOrDefault(o => o.Contains("Password")).Split('=')[1];

                receipt.SetDatabaseLogon(userName, password, server, db);

                foreach (CrystalDecisions.CrystalReports.Engine.Table table in receipt.Database.Tables)
                {
                    TableLogOnInfo logOnInfo = table.LogOnInfo;
                    if (logOnInfo != null)
                    {
                        logOnInfo.TableName = table.Name;
                        logOnInfo.ConnectionInfo.DatabaseName = db;
                        logOnInfo.ConnectionInfo.Password = password;
                        logOnInfo.ConnectionInfo.UserID = userName;
                        logOnInfo.ConnectionInfo.ServerName = server;
                        table.ApplyLogOnInfo(logOnInfo);
                    }
                }

                // order no
                ParameterDiscreteValue pfDiscrete = new CrystalDecisions.Shared.ParameterDiscreteValue();
                pfDiscrete.Value = salesOrderNo;
                SetParameterValue("orderNo", receipt, pfDiscrete);

                // cashier
                ParameterDiscreteValue pfCashier = new CrystalDecisions.Shared.ParameterDiscreteValue();
                pfCashier.Value = MembershipHelper.CurrentUserName;
                SetParameterValue("cashier", receipt, pfCashier);

                receipt.PrintToPrinter(1, false, 0, 1);
            }
            catch
            {
                throw;
            }
        }
Beispiel #6
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (!PowerCheckCsClass.IfHasPower(LoginClass.LogID, CommFunction.GSYSNAME, sender, CommFunction.ConnectString))
            {
                return;
            }

            if ((tbGzbdh.Text.Trim() == "") || tbGzbdh.Text == null)
            {
                return;
            }

            LYFunctionCs.frmReportView frv = new LYFunctionCs.frmReportView();

            ReportDocument Rpt = new ReportDocument();

            string pRptNmae = "";

            pRptNmae = LYFunctionCs.LYFunctionCsClass.cmdScalar("select cm.report_file from cc_cold_chain_c cc left join cc_cold_chain_z cz on cc.pkunid=cz.unid left join cc_item_master cm on cc.size_desc=cm.size_desc and cm.season=cz.season where pkunid='" + tbGzbdh.Text + "' and  cm.report_file is not null and rownum=1 ", CommFunction.ConnectString);
            if ((pRptNmae.Trim() == "") || (pRptNmae == null))
            {
                pRptNmae = "Rep_CC_ITEM_TRACK.rpt";
            }

            Rpt.Load(AppDomain.CurrentDomain.SetupInformation.ApplicationBase + pRptNmae);

            TableLogOnInfo logOnInfo = new TableLogOnInfo();

            logOnInfo.ConnectionInfo.ServerName = CommFunction.cfServerName;
            logOnInfo.ConnectionInfo.UserID     = CommFunction.cfUserID;
            logOnInfo.ConnectionInfo.Password   = CommFunction.cfPassword;

            Rpt.Database.Tables[0].ApplyLogOnInfo(logOnInfo);
            //Rpt.Refresh();

            frv.crystalReportViewer1.ReportSource = Rpt;


            CrystalDecisions.Shared.ParameterValues        mypaVal  = new CrystalDecisions.Shared.ParameterValues();
            CrystalDecisions.Shared.ParameterDiscreteValue mypaDVal = new CrystalDecisions.Shared.ParameterDiscreteValue();
            mypaDVal.Value = tbGzbdh.Text;

            mypaVal.Add(mypaDVal);
            Rpt.DataDefinition.ParameterFields["GZBDH"].ApplyCurrentValues(mypaVal);

            frv.ShowDialog();
        }
Beispiel #7
0
    ///
    /// Set parameter value in crystal report on corresponding index
    ///

    public void PassParameter(int ParameterIndex, string ParameterValue)
    {
// '
// ' Declare the parameter related objects.
// '
        ParameterDiscreteValue    crParameterDiscreteValue;
        ParameterFieldDefinitions crParameterFieldDefinitions;
        ParameterFieldDefinition  crParameterFieldLocation;
        ParameterValues           crParameterValues;

        crParameterFieldDefinitions    = crReportDocument.DataDefinition.ParameterFields;
        crParameterFieldLocation       = (ParameterFieldDefinition)crParameterFieldDefinitions[ParameterIndex];
        crParameterValues              = crParameterFieldLocation.CurrentValues;
        crParameterDiscreteValue       = new CrystalDecisions.Shared.ParameterDiscreteValue();
        crParameterDiscreteValue.Value = System.Convert.ToString(ParameterValue);
        crParameterValues.Add(crParameterDiscreteValue);
        crParameterFieldLocation.ApplyCurrentValues(crParameterValues);
    }
Beispiel #8
0
        ///
        /// Set parameter value in crystal report on corresponding index
        ///
        public void PassParameter(int ParameterIndex, string ParameterValue)
        {
            // '
            // ' Declare the parameter related objects.
            // '
            ParameterDiscreteValue crParameterDiscreteValue;
            ParameterFieldDefinitions crParameterFieldDefinitions;
            ParameterFieldDefinition crParameterFieldLocation;
            ParameterValues crParameterValues;

            crParameterFieldDefinitions = crReportDocument.DataDefinition.ParameterFields;
            crParameterFieldLocation = (ParameterFieldDefinition)crParameterFieldDefinitions[ParameterIndex];
            crParameterValues = crParameterFieldLocation.CurrentValues;
            crParameterDiscreteValue = new CrystalDecisions.Shared.ParameterDiscreteValue();
            crParameterDiscreteValue.Value = System.Convert.ToString(ParameterValue);
            crParameterValues.Add(crParameterDiscreteValue);
            crParameterFieldLocation.ApplyCurrentValues(crParameterValues);
        }
Beispiel #9
0
        ///
        /// Set parameter value in crystal report on corresponding index
        ///
        private void PassParameter(string Name, object Value)
        {
            // '
            // ' Declare the parameter related objects.
            // '
            ParameterDiscreteValue    crParameterDiscreteValue;
            ParameterFieldDefinitions crParameterFieldDefinitions;
            ParameterFieldDefinition  crParameterFieldLocation;
            ParameterValues           crParameterValues;

            crParameterFieldDefinitions = rptDoc.DataDefinition.ParameterFields;
            crParameterFieldLocation    = (ParameterFieldDefinition)crParameterFieldDefinitions[Name];
            crParameterValues           = crParameterFieldLocation.CurrentValues;

            crParameterDiscreteValue       = new CrystalDecisions.Shared.ParameterDiscreteValue();
            crParameterDiscreteValue.Value = Value;
            crParameterValues.Add(crParameterDiscreteValue);
            crParameterFieldLocation.ApplyCurrentValues(crParameterValues);
        }
Beispiel #10
0
        /// <summary>
        /// Adds a discrete parameteer value
        /// </summary>
        /// <param name="ParameterName">The namee of the parameter to set</param>
        /// <param name="value">The value of the parameter</param>
        public void AddDiscreteValue(string ParameterName, object value)
        {
            try
            {
                //Create a new Parameter Field
                CrystalDecisions.Shared.ParameterField oParameterField = new CrystalDecisions.Shared.ParameterField();
                oParameterField.Name = ParameterName;

                //Create a new Discrete Value
                CrystalDecisions.Shared.ParameterDiscreteValue oParameterDiscreteValue = new CrystalDecisions.Shared.ParameterDiscreteValue();
                oParameterDiscreteValue.Value = value;

                //Add the value
                oParameterField.CurrentValues.Add(oParameterDiscreteValue);

                //Add the parameter field
                this.CampuriParametrii.Add(oParameterField);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #11
0
        private void button3_Click(object sender, EventArgs e)
        {
            if (!PowerCheckCsClass.IfHasPower(LoginClass.LogID, CommFunction.GSYSNAME, sender, CommFunction.ConnectString)) return;

            if ((tbUnid.Text.Trim() == "") || tbUnid.Text == null) { return; }

            LYFunctionCs.frmReportView frv = new LYFunctionCs.frmReportView();

            ReportDocument Rpt = new ReportDocument();

            string pRptNmae = "";
            pRptNmae = LYFunctionCs.LYFunctionCsClass.cmdScalar("select cm.report_file from cc_cold_chain_c cc left join cc_cold_chain_z cz on cc.pkunid=cz.unid left join cc_item_master cm on cc.size_desc=cm.size_desc and cm.season=cz.season where pkunid='" + tbUnid.Text + "' and  cm.report_file is not null and rownum=1 ", CommFunction.ConnectString);
            if ((pRptNmae.Trim() == "") || (pRptNmae == null))
                pRptNmae = "Rep_CC_ITEM_TRACK.rpt";

            Rpt.Load(AppDomain.CurrentDomain.SetupInformation.ApplicationBase + pRptNmae);

            TableLogOnInfo logOnInfo = new TableLogOnInfo();
            logOnInfo.ConnectionInfo.ServerName = CommFunction.cfServerName;
            logOnInfo.ConnectionInfo.UserID = CommFunction.cfUserID;
            logOnInfo.ConnectionInfo.Password = CommFunction.cfPassword;

            Rpt.Database.Tables[0].ApplyLogOnInfo(logOnInfo);
            //Rpt.Refresh();

            frv.crystalReportViewer1.ReportSource = Rpt;

            CrystalDecisions.Shared.ParameterValues mypaVal = new CrystalDecisions.Shared.ParameterValues();
            CrystalDecisions.Shared.ParameterDiscreteValue mypaDVal = new CrystalDecisions.Shared.ParameterDiscreteValue();
            mypaDVal.Value = tbUnid.Text;

            mypaVal.Add(mypaDVal);
            Rpt.DataDefinition.ParameterFields["GZBDH"].ApplyCurrentValues(mypaVal);

            frv.ShowDialog();

            LYFunctionCs.LYFunctionCsClass.cmd("update cc_cold_chain_z set ifprint='1' where UNID='"+tbUnid.Text+"'", CommFunction.ConnectString);
        }
Beispiel #12
0
    public void PassParameter(int ParameterIndex, string ParameterValue)
    {
        //        '
        //        ' Declare the parameter related objects.
        //        '
        ParameterDiscreteValue crParameterDiscreteValue;
        ParameterFieldDefinitions crParameterFieldDefinitions;
        ParameterFieldDefinition crParameterFieldLocation;
        ParameterValues crParameterValues;

        //        '
        //        ' Get the report's parameters collection.
        //        '
        //string msg = "Improper parameter list, Parameter defined at report do not match with parameter passed to report " +
        //            "\nReport Path = " + ReportPath +
        //            "\n" + originalParamList +
        //            "\n" + passedParameterList;

        //LM_BaseClass.LM_LogError(msg);
        //throw new Exception(msg);

        crParameterFieldDefinitions = crReportDocument.DataDefinition.ParameterFields;
        crParameterFieldLocation = (ParameterFieldDefinition)crParameterFieldDefinitions[ParameterIndex];
        crParameterValues = crParameterFieldLocation.CurrentValues;
        crParameterDiscreteValue = new CrystalDecisions.Shared.ParameterDiscreteValue();
        crParameterDiscreteValue.Value = System.Convert.ToString(ParameterValue);
        crParameterValues.Add(crParameterDiscreteValue);
        crParameterFieldLocation.ApplyCurrentValues(crParameterValues);
    }
        private void CargaRpt()
        {
            reporte = new ReportDocument();
            try
            {
                // ReportDocument reporte = new ReportDocument();
                //reporte.Close();
                //reporte.
                string RutaRpt = Reporte.Ruta_Reporte;// "C:/Reportes/" + Reporte;
                reporte.Load(RutaRpt);

                ConnectionInfo CnnReport = new ConnectionInfo();
                Tables         MyTablas  = reporte.Database.Tables;

                CnnReport.ServerName = Reporte.Base_de_Datos;
                CnnReport.UserID     = Reporte.User_de_Datos;
                CnnReport.Password   = Reporte.Pass_de_Datos;


                foreach (CrystalDecisions.CrystalReports.Engine.Table MyTabla in MyTablas)
                {
                    TableLogOnInfo Tbl_LoginInfo = MyTabla.LogOnInfo;
                    Tbl_LoginInfo.ConnectionInfo = CnnReport;
                    MyTabla.ApplyLogOnInfo(Tbl_LoginInfo);
                }

                ParameterDiscreteValue NewParamVal = new CrystalDecisions.Shared.ParameterDiscreteValue();
                ParameterValues        CurrParamVal;

                //Busca automaticamente tdos los parametros de entrada includo los parametros de los subreportes
                for (int intI = 0; (intI <= reporte.DataDefinition.ParameterFields.Count - 1); intI++)
                {
                    if (reporte.ParameterFields[intI].ReportParameterType != ParameterType.ReportParameter)
                    {
                        string nombre = reporte.DataDefinition.ParameterFields[intI].Name;
                        string X      = reporte.DataDefinition.ParameterFields[intI].ValueType.ToString();
                        NewParamVal.Value       = Reporte.Rpt_RetornaValorParam(nombre);
                        NewParamVal.Description = nombre;
                        CurrParamVal            = reporte.DataDefinition.ParameterFields[intI].CurrentValues;
                        CurrParamVal.Clear();
                        CurrParamVal.Add(NewParamVal);
                        reporte.DataDefinition.ParameterFields[intI].ApplyCurrentValues(CurrParamVal);
                    }
                }

                if (Pordonde == 1)
                {
                    CRV.ReportSource = reporte;  // Asigno los resultados del reporte al Visor de Crystal Report
                }
                else
                {
                    if (Formulario == null)
                    {
                        if (Impresora == null)
                        {
                            reporte.PrintToPrinter(1, false, 0, 0); //copies, collated, startpage, endpage
                        }
                        else
                        {
                            reporte.PrintToPrinter(Impresora, Pagina, false);
                        }
                        return;
                    }
                    else
                    {
                        CRV.ReportSource = reporte;
                        this.Show(Formulario);
                    }
                }
                //reporte.Close();
            }
            catch (Exception er)
            {
                reporte = null;
                Reporte = null;
                MessageBox.Show("Error: " + er.Message);
                return;
            }
        }
Beispiel #14
0
 private void AsignarParametros(double p)
 {
     CrystalDecisions.Shared.ParameterValues myVals = new CrystalDecisions.Shared.ParameterValues();
     CrystalDecisions.Shared.ParameterDiscreteValue myDiscrete = new CrystalDecisions.Shared.ParameterDiscreteValue();
     myDiscrete.Value = NumALet.ToCardinal(Convert.ToDecimal(p));
     myVals.Add(myDiscrete);
     facturaRpt.DataDefinition.ParameterFields[0].ApplyCurrentValues(myVals);
 }
Beispiel #15
0
    /// <summary>
    /// Constructor de la clase
    /// </summary>
    /// <param name="Reporte">Ruta y Nombre del reporte</param>
    /// <param name="Parametros">Parámetros que requiere el reporte ejemplo: clave=1</param>
    /// <param name="Servidor">Servidor donde se encuentra la base de datos</param>
    /// <param name="Base">Nombre de la Base de Datos</param>
    /// <param name="Usuario">Nombre de usuario con permiso de acceso</param>
    /// <param name="PW">Contraseña o Password del usuario</param>
    public ClaseReporte(string Reporte, ArrayList Parametros, string Servidor, string Base, string Usuario, string PW)
    {
        if (File.Exists(Reporte))
        {
            try
            {
                this._strReporte  = Reporte;
                this._arrPar      = (ArrayList)Parametros.Clone();
                this._strServidor = Servidor;
                this._strBase     = Base;
                this._strUsuario  = Usuario;
                this._strPW       = PW;

                try
                {
                    RepDoc.FileName = Reporte;
                }
                catch
                {
                }
                RepDoc.Load(Reporte);

                //Variables
                TableLogOnInfo            _LogonInfo;
                ParameterFieldDefinitions crParameterFieldDefinitions;
                ParameterFieldDefinition  crParameterFieldDefinition;
                CrystalDecisions.Shared.ParameterValues        crParametervalues;
                CrystalDecisions.Shared.ParameterDiscreteValue crParameterDiscretValue;
                string TablaNombre = "";
                string strValor    = "";

                //Pasa los datos de la conexion al reporte principal
                RepDoc.SetDatabaseLogon(Usuario, PW, Servidor, Base);
                foreach (CrystalDecisions.CrystalReports.Engine.Table _TablaReporte in RepDoc.Database.Tables)
                {
                    _LogonInfo = _TablaReporte.LogOnInfo;
                    _LogonInfo.ConnectionInfo.ServerName   = Servidor;
                    _LogonInfo.ConnectionInfo.DatabaseName = Base;
                    _LogonInfo.ConnectionInfo.UserID       = Usuario;
                    _LogonInfo.ConnectionInfo.Password     = PW;
                    try
                    {
                        _TablaReporte.ApplyLogOnInfo(_LogonInfo);
                    }
                    catch (Exception ex)
                    {
                        this._strError = ex.ToString();
                    }

                    //pasa un datatable al reporte
                    TablaNombre = "";
                    if (_TablaReporte.Name.IndexOf(";") > 0)
                    {
                        TablaNombre = _TablaReporte.Name.Substring(0, _TablaReporte.Name.IndexOf(";"));
                    }
                    else
                    {
                        TablaNombre = _TablaReporte.Name;
                    }
                }

                //Pasa los valores a los parametros
                System.Data.SqlClient.SqlCommand cmdRep = SeguridadCB.Seguridad.Conexion.CreateCommand();
                cmdRep.CommandType          = CommandType.StoredProcedure;
                cmdRep.CommandText          = TablaNombre;
                crParameterFieldDefinitions = RepDoc.DataDefinition.ParameterFields;
                foreach (ParameterFieldDefinition par in RepDoc.DataDefinition.ParameterFields)
                {
                    try
                    {
                        if (Existe_Parametro(Parametros, par.Name))
                        {
                            crParameterFieldDefinition = crParameterFieldDefinitions[par.Name];
                            //crParameterFieldDefinition = crParameterFieldDefinitions[par.Name, par.ReportName];
                            crParametervalues       = crParameterFieldDefinition.CurrentValues;
                            crParameterDiscretValue = new CrystalDecisions.Shared.ParameterDiscreteValue();
                            strValor = Leer_Valor_Parametro(Parametros, par.Name);
                            crParameterDiscretValue.Value = strValor;
                            crParametervalues.Add(crParameterDiscretValue);
                            crParameterFieldDefinition.ApplyCurrentValues(crParametervalues);

                            //RepDoc.SetParameterValue(par.Name, strValor);

                            System.Data.SqlClient.SqlParameter parNuevo = new System.Data.SqlClient.SqlParameter();
                            parNuevo.ParameterName = par.Name;
                            parNuevo.Value         = strValor;
                            if (!cmdRep.Parameters.Contains(par.Name))
                            {
                                cmdRep.Parameters.Add(parNuevo);
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        this._strError = ex.ToString();
                    }
                }
                System.Data.SqlClient.SqlDataAdapter daRep = new System.Data.SqlClient.SqlDataAdapter();
                daRep.SelectCommand = cmdRep;
                System.Data.DataTable dtRep = new DataTable(TablaNombre);
                daRep.Fill(dtRep);
                RepDoc.SetDataSource(dtRep);



                //Pasa los parametros a los subreportes

                foreach (CrystalDecisions.CrystalReports.Engine.ReportDocument lRepDoc in RepDoc.Subreports)
                //foreach (CrystalDecisions.CrystalReports.Engine.ReportObject sRepObj in RepDoc.ReportDefinition.ReportObjects)
                {
                    //ReportDocument lRepDoc = OpenSubreport(RepDoc, sRepObj.Name);
                    if (lRepDoc != null)
                    {
                        lRepDoc.SetDatabaseLogon(Usuario, PW, Servidor, Base);
                        foreach (CrystalDecisions.CrystalReports.Engine.Table _TablasReporte in lRepDoc.Database.Tables)
                        {
                            _LogonInfo = _TablasReporte.LogOnInfo;
                            _LogonInfo.ConnectionInfo.ServerName   = Servidor;
                            _LogonInfo.ConnectionInfo.DatabaseName = Base;
                            _LogonInfo.ConnectionInfo.UserID       = Usuario;
                            _LogonInfo.ConnectionInfo.Password     = PW;
                            try
                            {
                                _TablasReporte.ApplyLogOnInfo(_LogonInfo);
                            }
                            catch (Exception ex)
                            {
                                this._strError = ex.ToString();
                            }

                            //pasa un datatable al reporte
                            TablaNombre = "";
                            if (_TablasReporte.Name.IndexOf(";") > 0)
                            {
                                TablaNombre = _TablasReporte.Name.Substring(0, _TablasReporte.Name.IndexOf(";"));
                            }
                            else
                            {
                                TablaNombre = _TablasReporte.Name;
                            }
                        }

                        //Pasa los valores a los parametros
                        System.Data.SqlClient.SqlCommand cmdsRep = SeguridadCB.Seguridad.Conexion.CreateCommand();
                        cmdsRep.CommandType         = CommandType.StoredProcedure;
                        cmdsRep.CommandText         = TablaNombre;
                        crParameterFieldDefinitions = lRepDoc.DataDefinition.ParameterFields;
                        foreach (ParameterFieldDefinition par in lRepDoc.DataDefinition.ParameterFields)
                        {
                            try
                            {
                                if (Existe_Parametro(Parametros, par.Name))
                                {
                                    crParameterFieldDefinition = crParameterFieldDefinitions[par.Name];
                                    //crParameterFieldDefinition = crParameterFieldDefinitions[par.Name, par.ReportName];
                                    crParametervalues       = crParameterFieldDefinition.CurrentValues;
                                    crParameterDiscretValue = new CrystalDecisions.Shared.ParameterDiscreteValue();
                                    strValor = Leer_Valor_Parametro(Parametros, par.Name);
                                    crParameterDiscretValue.Value = strValor;
                                    crParametervalues.Add(crParameterDiscretValue);
                                    crParameterFieldDefinition.ApplyCurrentValues(crParametervalues);

                                    //lRepDoc.SetParameterValue(par.Name, strValor);

                                    System.Data.SqlClient.SqlParameter parNuevo = new System.Data.SqlClient.SqlParameter();
                                    parNuevo.ParameterName = par.Name;
                                    parNuevo.Value         = strValor;
                                    if (!cmdsRep.Parameters.Contains(par.Name))
                                    {
                                        cmdsRep.Parameters.Add(parNuevo);
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                this._strError = ex.ToString();
                            }
                        }

                        System.Data.SqlClient.SqlDataAdapter dasRep = new System.Data.SqlClient.SqlDataAdapter();
                        cmdsRep.CommandType  = CommandType.StoredProcedure;
                        dasRep.SelectCommand = cmdsRep;
                        System.Data.DataTable dtsRep = new DataTable(TablaNombre);
                        dasRep.Fill(dtsRep);
                        try
                        {
                            lRepDoc.SetDataSource(dtsRep);
                        }
                        catch (Exception exs)
                        {
                            this._strError = exs.ToString();
                        }
                    }
                    //RepDoc.VerifyDatabase();
                }
            }
            catch (Exception ex)
            {
                this._strError = ex.ToString();
            }
        }
        else
        {
            this._strError = "No existe el reporte en la ruta especificada";
        }
    }
Beispiel #16
0
        private void SetCrysParams(string respar, string IdConcretera, string IdDiam, string Prueba)
        {
            ParameterValues pvs = new CrystalDecisions.Shared.ParameterValues();

            ParameterDiscreteValue pdvRazonsocial   = new CrystalDecisions.Shared.ParameterDiscreteValue();
            ParameterDiscreteValue pdvObraUbicacion = new CrystalDecisions.Shared.ParameterDiscreteValue();
            ParameterDiscreteValue pdvObraColonia   = new CrystalDecisions.Shared.ParameterDiscreteValue();
            ParameterDiscreteValue pdvTipoPrueba    = new CrystalDecisions.Shared.ParameterDiscreteValue();
            ParameterDiscreteValue pdvExp3          = new CrystalDecisions.Shared.ParameterDiscreteValue();
            ParameterDiscreteValue pdvExp7          = new CrystalDecisions.Shared.ParameterDiscreteValue();
            ParameterDiscreteValue pdvUnidad        = new CrystalDecisions.Shared.ParameterDiscreteValue();
            ParameterDiscreteValue pdvSINO          = new CrystalDecisions.Shared.ParameterDiscreteValue();
            ParameterDiscreteValue pdvConsecutivo   = new CrystalDecisions.Shared.ParameterDiscreteValue();
            ParameterDiscreteValue pdvRes           = new CrystalDecisions.Shared.ParameterDiscreteValue();
            ParameterDiscreteValue pdvConcre        = new CrystalDecisions.Shared.ParameterDiscreteValue();
            ParameterDiscreteValue pdvDiam          = new CrystalDecisions.Shared.ParameterDiscreteValue();

            pdvRazonsocial.Value = strRazonSocial;
            pvs.Add(pdvRazonsocial);
            cryRepCartaEdadEspecificada.DataDefinition.ParameterFields["Razonsocial"].ApplyCurrentValues(pvs);
            pvs.Clear();

            pdvObraUbicacion.Value = strObraUbicacion;
            pvs.Add(pdvObraUbicacion);
            cryRepCartaEdadEspecificada.DataDefinition.ParameterFields["ObraUbicacion"].ApplyCurrentValues(pvs);
            pvs.Clear();

            pdvObraColonia.Value = strObraColonia;
            pvs.Add(pdvObraColonia);
            cryRepCartaEdadEspecificada.DataDefinition.ParameterFields["ObraColonia"].ApplyCurrentValues(pvs);
            pvs.Clear();

            pdvTipoPrueba.Value = Prueba;
            pvs.Add(pdvTipoPrueba);
            cryRepCartaEdadEspecificada.DataDefinition.ParameterFields["TipoPrueba"].ApplyCurrentValues(pvs);
            pvs.Clear();

            pdvUnidad.Value = dsUnidad1.Unidad.Rows[Mpa][0].ToString();
            pvs.Add(pdvUnidad);
            cryRepCartaEdadEspecificada.DataDefinition.ParameterFields["Unidad"].ApplyCurrentValues(pvs);
            pvs.Clear();

            pdvSINO.Value = 0;
            pvs.Add(pdvSINO);
            cryRepCartaEdadEspecificada.DataDefinition.ParameterFields["Logotipo"].ApplyCurrentValues(pvs);
            pvs.Clear();

            pdvConsecutivo.Value = "0";
            pvs.Add(pdvConsecutivo);
            cryRepCartaEdadEspecificada.DataDefinition.ParameterFields["Consecutivo"].ApplyCurrentValues(pvs);
            pvs.Clear();

            pdvRes.Value = respar;
            pvs.Add(pdvRes);
            cryRepCartaEdadEspecificada.DataDefinition.ParameterFields["Res"].ApplyCurrentValues(pvs);
            pvs.Clear();

            pdvConcre.Value = IdConcretera;
            pvs.Add(pdvConcre);
            cryRepCartaEdadEspecificada.DataDefinition.ParameterFields["Concre"].ApplyCurrentValues(pvs);
            pvs.Clear();

            pdvDiam.Value = IdDiam;
            pvs.Add(pdvDiam);
            cryRepCartaEdadEspecificada.DataDefinition.ParameterFields["Diam"].ApplyCurrentValues(pvs);
            pvs.Clear();

//			pdvRes1.Value = double.Parse(resis) ;
//			pvs.Add(pdvRes1);
//			cryRepCartaEdadTemprana.DataDefinition.ParameterFields["Res1"].ApplyCurrentValues(pvs);
//			pvs.Clear();
        }
Beispiel #17
0
    /// <summary>
    /// Constructor de la clase
    /// </summary>
    /// <param name="Reporte">Ruta y Nombre del reporte</param>
    /// <param name="Parametros">Parámetros que requiere el reporte ejemplo: clave=1</param>
    /// <param name="Servidor">Servidor donde se encuentra la base de datos</param>
    /// <param name="Base">Nombre de la Base de Datos</param>
    /// <param name="Usuario">Nombre de usuario con permiso de acceso</param>
    /// <param name="PW">Contraseña o Password del usuario</param>
    public Clase_Reporte(string Reporte, ArrayList Parametros, string Servidor, string Base, string Usuario, string PW)
    {
        if (File.Exists(Reporte))
        {
            try
            {
                this._strReporte = Reporte;
                this._arrPar     = (ArrayList)Parametros.Clone();
                if (Servidor.Trim().Length > 0)
                {
                    this._strServidor = Servidor;
                }
                if (Base.Trim().Length > 0)
                {
                    this._strBase = Base;
                }
                if (Usuario.Trim().Length > 0)
                {
                    this._strUsuario = Usuario;
                }
                if (PW.Trim().Length > 0)
                {
                    this._strPW = PW;
                }

                RepDoc.Load(Reporte);

                //Pasa los datos de la conexion
                TableLogOnInfo _LogonInfo;
                foreach (CrystalDecisions.CrystalReports.Engine.Table _TablaReporte in RepDoc.Database.Tables)
                {
                    _LogonInfo = _TablaReporte.LogOnInfo;
                    if (Servidor.Trim().Length > 0 && Servidor.Trim() != _LogonInfo.ConnectionInfo.ServerName)
                    {
                        _LogonInfo.ConnectionInfo.ServerName = Servidor.Trim();
                    }
                    if (Base.Trim().Length > 0 && Base.Trim() != _LogonInfo.ConnectionInfo.DatabaseName)
                    {
                        _LogonInfo.ConnectionInfo.DatabaseName = Base.Trim();
                    }
                    if (Usuario.Trim().Length > 0 && Usuario.Trim() != _LogonInfo.ConnectionInfo.UserID)
                    {
                        _LogonInfo.ConnectionInfo.UserID = Usuario.Trim();
                    }
                    if (PW.Trim().Length > 0 && PW.Trim() != _LogonInfo.ConnectionInfo.Password)
                    {
                        _LogonInfo.ConnectionInfo.Password = PW.Trim();
                    }
                    try
                    {
                        _TablaReporte.ApplyLogOnInfo(_LogonInfo);
                    }
                    catch (ArgumentNullException exArgumentos)
                    {
                    }
                    catch (Exception ex)
                    {
                    }
                }

                //Pasa los valores a los parametros
                string strValor = "";
                int    inti     = 0;
                ParameterFieldDefinitions crParameterFieldDefinitions;
                ParameterFieldDefinition  crParameterFieldDefinition;
                CrystalDecisions.Shared.ParameterValues        crParametervalues;
                CrystalDecisions.Shared.ParameterDiscreteValue crParameterDiscretValue;
                crParameterFieldDefinitions = RepDoc.DataDefinition.ParameterFields;
                foreach (ParameterFieldDefinition par in RepDoc.DataDefinition.ParameterFields)
                {
                    try
                    {
                        if (Existe_Parametro(Parametros, par.Name))
                        {
                            //crParameterFieldDefinition = crParameterFieldDefinitions[par.Name];
                            crParameterFieldDefinition = crParameterFieldDefinitions[par.Name];
                            crParametervalues          = crParameterFieldDefinition.CurrentValues;
                            crParameterDiscretValue    = new CrystalDecisions.Shared.ParameterDiscreteValue();
                            strValor = Leer_Valor(Parametros, par.Name);
                            crParameterDiscretValue.Value = strValor;
                            crParametervalues.Add(crParameterDiscretValue);
                            crParameterFieldDefinition.ApplyCurrentValues(crParametervalues);
                            inti = inti + 1;
                        }
                    }
                    catch (Exception ex)
                    {
                        this._strError = ex.ToString();
                    }
                }
            }
            catch (Exception ex)
            {
                this._strError = ex.ToString();
            }
        }
        else
        {
            this._strError = "No existe el reporte en la ruta especificada";
        }
    }
        /// <summary>
        /// Sets the parameters that have been added using the SetParameter method
        /// </summary>
        private void SetParameters()
        {
            foreach (ParameterFieldDefinition parameter in _reportDocument.DataDefinition.ParameterFields)
            {
                try
                {
                    // Now get the current value for the parameter
                    CrystalDecisions.Shared.ParameterValues currentValues = parameter.CurrentValues;
                    currentValues.Clear();

                    // Create a value object for Crystal reports and assign the specified value.
                    CrystalDecisions.Shared.ParameterDiscreteValue newValue = new CrystalDecisions.Shared.ParameterDiscreteValue();

                    if (_parameters.ContainsKey(parameter.Name))
                    {
                        newValue.Value = _parameters[parameter.Name];
                        // Now add the new value to the values collection and apply the
                        // collection to the report.
                        currentValues.Add(newValue);
                        parameter.ApplyCurrentValues(currentValues);
                    }
                    else
                    {
                        parameter.ApplyCurrentValues(parameter.DefaultValues);
                    }

                }
                catch
                {
                    // Ignore any errors
                }
            }
        }
        void previewID()
        {
            try
            {
                CrystalDecisions.CrystalReports.Engine.ReportDocument objReport = new CrystalDecisions.CrystalReports.Engine.ReportDocument();

                CrystalDecisions.Shared.TableLogOnInfos crtableLogoninfos = new CrystalDecisions.Shared.TableLogOnInfos();

                CrystalDecisions.Shared.TableLogOnInfo ConInfo = new CrystalDecisions.Shared.TableLogOnInfo();

                CrystalDecisions.Shared.ConnectionInfo crConnectionInfo = new CrystalDecisions.Shared.ConnectionInfo();

                CrystalDecisions.CrystalReports.Engine.Tables CrTables;

                CrystalDecisions.Shared.ParameterValues crParameterValues = new CrystalDecisions.Shared.ParameterValues();

                CrystalDecisions.Shared.ParameterDiscreteValue crParameterDiscreteValue = new CrystalDecisions.Shared.ParameterDiscreteValue();

                //objReport.Load(LoadReport());

                objReport.Load(_path + _reportName_Outside);

                string sUserID = "sa";

                string sPassword = "******";

                string sServerName = "192.168.1.42";

                string sDatabaseName = "HRIS";


                crConnectionInfo.ServerName = sServerName;

                crConnectionInfo.DatabaseName = sDatabaseName;

                crConnectionInfo.UserID = sUserID;

                crConnectionInfo.Password = sPassword;


                CrTables = objReport.Database.Tables;

                foreach (CrystalDecisions.CrystalReports.Engine.Table CrTable in CrTables)
                {
                    ConInfo = CrTable.LogOnInfo;

                    ConInfo.ConnectionInfo = crConnectionInfo;

                    CrTable.ApplyLogOnInfo(ConInfo);
                }

                reportViewer.ViewerCore.ReportSource = objReport;

                //rekta print
                //objReport.PrintToPrinter(1, true, 0, 0);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
Beispiel #20
0
 private void FillParams(PLCrystalReportViewer view)
 {
     if (mParameters != null)
     {
         CrystalDecisions.Shared.ParameterFields pars = new CrystalDecisions.Shared.ParameterFields();
         foreach (string varKey in mParameters.Keys)
         {
             object tempValue;
             mParameters.TryGetValue(varKey, out tempValue);
             CrystalDecisions.Shared.ParameterField paramField = new CrystalDecisions.Shared.ParameterField();
             paramField.Name = varKey;
             CrystalDecisions.Shared.ParameterDiscreteValue paramDiscreteValue = new CrystalDecisions.Shared.ParameterDiscreteValue();
             paramDiscreteValue.Value = tempValue;
             paramField.CurrentValues.Add(paramDiscreteValue);
             pars.Add(paramField);
         }
         //view._I.ParameterFieldInfo = pars;//phien bản 12
         view.ParameterFieldInfo = pars;//phien bản 10
     }
 }