protected XtraReport GetReport()
        {
            string dataRef = string.Empty;
            rel_SaldoProgramacaoDespesa report = new rel_SaldoProgramacaoDespesa();

            if (ASPxDateEdit1.Value == null)
            {
                dataRef = DateTime.Now.ToShortDateString();
            }
            else
            {
                dataRef = DateTime.Parse(ASPxDateEdit1.Value.ToString()).ToShortDateString();
            }

            report.Parameters.Add(new DevExpress.XtraReports.Parameters.Parameter() { Name = "DATAREF", Value = dataRef, Type = typeof(string), Visible = false });

            if (ASPxTokenBox1.Value != null && ASPxTokenBox1.Text.ToString() != string.Empty)
            {

                string undOrc = ASPxTokenBox1.Value.ToString();
                //report.Parameters.Add(new DevExpress.XtraReports.Parameters.Parameter() { Name = "UNDORCAMENTARIA", Value = undOrc, Type = typeof(string), Visible = false });
                report.FilterString = "[UNIDADEORC] In ('" + undOrc.Replace(",", "','") + "')";
            }
            else {
                string idUsu = "";

                var ctrlUsu = new Control.UsuariosControle();
                var usuarioInfo = ctrlUsu.getSessionUsuarioInfo();
                idUsu = usuarioInfo.Item2;

                var unidades = Control.UnidadeOrcamentariaCtrl.recuperaListaByListUndOrcUSU(idUsu);

                string undOrc = string.Empty;
                foreach (System.Data.DataRow dr in unidades.Rows) {

                    if (!string.IsNullOrEmpty(undOrc))
                    {
                        undOrc += ",'" + dr["undUnificado"].ToString() + "'";
                    }
                    else {
                        undOrc += "'" + dr["undUnificado"].ToString() + "'";
                    }
                }
                report.FilterString = "[UNIDADEORC] In (" + undOrc +")";

            }

            if (tokenCentroCusto.Value != null && tokenCentroCusto.Text.ToString() != string.Empty)
            {
                string centroCusto = tokenCentroCusto.Value.ToString();
                //report.Parameters.Add(new DevExpress.XtraReports.Parameters.Parameter() { Name = "CENTROCUSTO", Value = centroCusto, Type = typeof(string), Visible = false });

                if (!string.IsNullOrEmpty(report.FilterString))
                {
                    report.FilterString += " and [CENCOD] In ('" + centroCusto.Replace(",", "','") + "')";
                }
                else {
                    report.FilterString += " [CENCOD] In ('" + centroCusto.Replace(",", "','") + "')";
                }
            }

            if (tokenClassCentroCusto.Value != null && tokenClassCentroCusto.Text.ToString() != string.Empty) {
                string classCentroCusto = tokenClassCentroCusto.Value.ToString();
                //report.Parameters.Add(new DevExpress.XtraReports.Parameters.Parameter() { Name = "CLASSCENTROCUSTO", Value = classCentroCusto, Type = typeof(string), Visible = false });

                if (!string.IsNullOrEmpty(report.FilterString))
                {
                    report.FilterString += " and [CCCID] In ('" + classCentroCusto.Replace(",", "','") + "')";
                }
                else
                {
                    report.FilterString += " [CCCID] In ('" + classCentroCusto.Replace(",", "','") + "')";
                }
            }

            report.CreateDocument();
            return report;
        }
        protected void SqlDataSource1_Init(object sender, EventArgs e)
        {
            if (!IsCallback)
            {
                string idUsu = "";
                string idUndFunc = "";
                string undOrc = "";

                var ctrlUsu = new Control.UsuariosControle();
                var usuarioInfo = ctrlUsu.getSessionUsuarioInfo();
                idUsu = usuarioInfo.Item2;
                idUndFunc = usuarioInfo.Item3;
                undOrc = usuarioInfo.Item4;

                //Control.PerfilCtrl perfil = new Control.PerfilCtrl();

                bool perfilConsultaGeral = Convert.ToBoolean(usuarioInfo.Item6);

                //perfil = null;

                if (!perfilConsultaGeral)
                {
                    SqlDataSource1.SelectCommand = "select undCodigo, undCodOrgao, undUnificado,undNome,undAbrev, usu_codigo, usu_nome " +
                                "from " +
                                "( " +
                                "select undCodigo, undCodOrgao, undUnificado,undNome,undAbrev, usu.usu_codigo, usu.usu_nome " +
                                "from unidadeorcamentaria uo " +
                                "join webunidadefuncional uf on uf.unidorccod = uo.undcodigo and uf.unidorcorg = uo.undcodorgao " +
                                "join sci_usuarios usu on usu.usu_idundfuncional = uf.unidfuncid " +
                                "union " +
                                "select undCodigo, undCodOrgao, uo.undUnificado,undNome,undAbrev, usu.usu_codigo, usu.usu_nome " +
                                "from unidadeorcamentaria uo " +
                                "join sci_usuarios_undorc UU on UU.undunificado = uo.undunificado " +
                                "join sci_usuarios usu on usu.usu_codigo = UU.usu_codigo " +
                                ") q1 " +
                                "where q1.usu_codigo =" + idUsu;
                }
                else
                {
                    SqlDataSource1.SelectCommand = "select undunificado, UNDABREV from unidadeorcamentaria ";
                }
                SqlDataSource1.DataBind();
            }
        }