protected void Page_Load(object sender, EventArgs e) { seguridad = new SeguridadCB.Seguridad(); try { objApp.ImplementadorMensajes.ContenedorActual = this; if (!IsPostBack) { usuario = (SeguridadCB.Public.Usuario)HttpContext.Current.Session["Usuario"]; if (ddlEmpresa.Items.Count == 0) { Carga_Corporativo(); } Carga_TipoFuenteInformacion(); Carga_Banco(Convert.ToInt32(ddlEmpresa.SelectedItem.Value)); this.grvFuenteInformacion.DataSource = tblFuenteInformacion; this.grvFuenteInformacion.DataBind(); Consulta_FuenteInformacion(); GenerarTablaFuenteInformacion(); } LlenaGridViewFuenteInformacion(); this.ddlEmpresa.Focus(); } catch (Exception) { } finally { } }
/// <summary> /// Lee el metodo que llena la lista con las conciliaciones /// </summary> public void Consulta_Conciliacion() { SeguridadCB.Seguridad seguridad = new SeguridadCB.Seguridad(); System.Data.SqlClient.SqlConnection Connection = seguridad.Conexion; seguridad.Conexion.ConnectionString = objApp.CadenaConexion; usuario = (SeguridadCB.Public.Usuario)HttpContext.Current.Session["Usuario"]; if (Connection.State == ConnectionState.Closed) { seguridad.Conexion.Open(); Connection = seguridad.Conexion; } try { listaConciliaciones = objApp.Consultas.ConsultaConciliacion( Convert.ToInt32(ddlEmpresa.SelectedItem.Value), Convert.ToInt32(ddlSucursal.SelectedItem.Value), Convert.ToInt32(this.ddlGrupo.SelectedItem.Value), Convert.ToInt32(this.ddlAñoConciliacion.SelectedItem.Value), Convert.ToSByte(this.ddlMesConciliacion.SelectedItem.Value), Convert.ToSByte(this.ddlTipoConciliacion.SelectedItem.Value), Convert.ToString(this.ddlStatusConciliacion.SelectedItem.Text), usuario.IdUsuario.Trim()); tipoConciliacion = Convert.ToSByte(this.ddlTipoConciliacion.SelectedItem.Value); statusConciliacion = Convert.ToString(this.ddlStatusConciliacion.SelectedItem.Text); habilitarOpcionesMenuContextual(); } catch (Exception ex) { objApp.ImplementadorMensajes.MostrarMensaje("Error:\n" + ex.Message); } }
/// <summary> ///Consulta el detalle del Folio Externo /// </summary> public void Consulta_TablaDestinoDetalle(Conciliacion.RunTime.ReglasDeNegocio.Consultas.Configuracion configuracion, int empresa, int sucursal, int año, int folioExterno)//Lee el metodo que llena la lista con las conciliaciones { Conciliacion.RunTime.App objApp = new Conciliacion.RunTime.App(); SeguridadCB.Seguridad seguridad = new SeguridadCB.Seguridad(); System.Data.SqlClient.SqlConnection Connection = seguridad.Conexion; if (Connection.State == ConnectionState.Closed) { seguridad.Conexion.Open(); Connection = seguridad.Conexion; } try { listaDestinoDetalle = objApp.Consultas.ConsultaTablaDestinoDetalle( configuracion, empresa, sucursal, año, folioExterno); } catch (Exception ex) { objApp.ImplementadorMensajes.MostrarMensaje("Error:\n" + ex.Message); } }
protected void Page_Load(object sender, EventArgs e) { seguridad = new SeguridadCB.Seguridad(); try { if (HttpContext.Current.Request.UrlReferrer != null) { if ((!HttpContext.Current.Request.UrlReferrer.AbsoluteUri.Contains("SitioConciliacion")) || (HttpContext.Current.Request.UrlReferrer.AbsoluteUri.Contains("Acceso.aspx"))) { HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.ServerAndNoCache); HttpContext.Current.Response.Cache.SetAllowResponseInBrowserHistory(false); Response.Cache.SetExpires(DateTime.Now); } } parametros = (SeguridadCB.Public.Parametros)HttpContext.Current.Session["Parametros"]; AppSettingsReader settings = new AppSettingsReader(); NumMesesAnterior = parametros.ValorParametro(Convert.ToSByte(settings.GetValue("Modulo", typeof(sbyte))), "NunMesesAnterior"); if (!IsPostBack) { objApp = new Conciliacion.RunTime.App(); Session["nuevaconciliacionobjApp"] = objApp; (Session["nuevaconciliacionobjApp"] as Conciliacion.RunTime.App).ImplementadorMensajes.ContenedorActual = this; usuario = (SeguridadCB.Public.Usuario)HttpContext.Current.Session["Usuario"]; if (ddlEmpresa.Items.Count == 0) { Carga_Corporativo(); } Carga_Banco(Convert.ToInt32(ddlEmpresa.SelectedItem.Value)); Carga_CuentaBancaria(Convert.ToInt32(ddlEmpresa.SelectedItem.Value), Convert.ToSByte(ddlBanco.SelectedItem.Value)); Carga_TipoConciliacion(usuario.IdUsuario); Carga_GrupoConciliacion(Consultas.ConfiguracionGrupo.ConAccesoTotal, usuario.IdUsuario); Carga_SucursalCorporativo(Conciliacion.RunTime.ReglasDeNegocio.Consultas.ConfiguracionIden0.Sin0, Convert.ToInt32(ddlEmpresa.SelectedItem.Value)); //Inhabilitar las pestaña de EXTERNOS E INTERNOS al cargar la VISTA tabNuevaConciliacion.Tabs[1].Enabled = false; tabNuevaConciliacion.Tabs[2].Enabled = false; Carga_TipoFuenteInformacionExternoInterno( Conciliacion.RunTime.ReglasDeNegocio.Consultas.ConfiguracionTipoFuente.TipoFuenteInformacionExterno); Carga_TipoFuenteInformacionExternoInterno( Conciliacion.RunTime.ReglasDeNegocio.Consultas.ConfiguracionTipoFuente.TipoFuenteInformacionInterno); } } catch (Exception ex) { (Session["nuevaconciliacionobjApp"] as Conciliacion.RunTime.App).ImplementadorMensajes.MostrarMensaje("Error: Cargar Vista" + ex.Message); } }
//Consultar Etiquetas por StatusConcepto public void ConsultarEtiquetasStatusConcepto(int statusConcepto) { SeguridadCB.Seguridad seguridad = new SeguridadCB.Seguridad(); System.Data.SqlClient.SqlConnection Connection = seguridad.Conexion; if (Connection.State == ConnectionState.Closed) { seguridad.Conexion.Open(); Connection = seguridad.Conexion; } try { listEtiquetasStatusConcepto = Conciliacion.Migracion.Runtime.App.Consultas.ObtieneListaEtiquetaStatusConcepto(statusConcepto); } catch (Exception) { } }
//Consulta tabla principal CuentaTransferencias public void Consulta_TablaCuentasTranferencia(short corporativoOrigen, int sucursalOrigen, string cuentaBancoOrigen) { SeguridadCB.Seguridad seguridad = new SeguridadCB.Seguridad(); System.Data.SqlClient.SqlConnection Connection = seguridad.Conexion; if (Connection.State == ConnectionState.Closed) { seguridad.Conexion.Open(); Connection = seguridad.Conexion; } try { //ListConsultaTransferencia = objAppCat.Consultas.ObtenieneCuentasTransferenciaOrigenDestino(0,corporativoOrigen, sucursalOrigen, cuentaBancoOrigen,0); } catch (Exception ex) { objApp.ImplementadorMensajes.MostrarMensaje("Error\n" + ex.Message); } }
public void ConsultarStatusConcepto() { SeguridadCB.Seguridad seguridad = new SeguridadCB.Seguridad(); System.Data.SqlClient.SqlConnection Connection = seguridad.Conexion; if (Connection.State == ConnectionState.Closed) { seguridad.Conexion.Open(); Connection = seguridad.Conexion; } try { listStatusConcepto = Conciliacion.Migracion.Runtime.App.Consultas.ConsultaStatusConcepto( Conciliacion.RunTime.ReglasDeNegocio.Consultas.ConfiguracionStatusConcepto.Todos); } catch (Exception) { } }
//Consulta tabla principal CuentaTransferencias public void Consulta_TablaImportacionAplicacionCuenta(short corporativo, int sucursal, string cuentaBanco) { SeguridadCB.Seguridad seguridad = new SeguridadCB.Seguridad(); System.Data.SqlClient.SqlConnection Connection = seguridad.Conexion; if (Connection.State == ConnectionState.Closed) { seguridad.Conexion.Open(); Connection = seguridad.Conexion; } try { ListExtractores = objApp.Consultas.ConsultaImportacionesAplicacion(sucursal, cuentaBanco); } catch (Exception ex) { objApp.ImplementadorMensajes.MostrarMensaje("Error\n" + ex.Message); } }
//Consulta transacciones conciliadas public void Consulta_FoliosTablaDestino(int corporativo, int sucursal, int añoF, short mesF, string cuentabancaria, short tipofuenteinformacion) { Conciliacion.RunTime.App objApp = new Conciliacion.RunTime.App(); SeguridadCB.Seguridad seguridad = new SeguridadCB.Seguridad(); System.Data.SqlClient.SqlConnection Connection = seguridad.Conexion; if (Connection.State == ConnectionState.Closed) { seguridad.Conexion.Open(); Connection = seguridad.Conexion; } try { listFoliosExternoInternos = objApp.Consultas.ConsultaFoliosTablaDestino(corporativo, sucursal, añoF, mesF, cuentabancaria, tipofuenteinformacion); } catch (Exception ex) { objApp.ImplementadorMensajes.MostrarMensaje("Error\n" + ex.Message); } }
//Consultar Etiquetas por Banco public void ConsultarEtiquetasBanco(int banco) { SeguridadCB.Seguridad seguridad = new SeguridadCB.Seguridad(); System.Data.SqlClient.SqlConnection Connection = seguridad.Conexion; if (Connection.State == ConnectionState.Closed) { seguridad.Conexion.Open(); Connection = seguridad.Conexion; } try { listEtiquetasBanco = Conciliacion.Migracion.Runtime.App.Consultas.ObtieneListaEtiquetaBanco(banco); listEtiquetasBanco.RemoveAll(delegate(Etiqueta etiq) { return(listEtiquetasStatusConcepto.Exists(x => x.Id == etiq.Id)); }); } catch (Exception) { throw; } }
protected void Page_Load(object sender, EventArgs e) { seguridad = new SeguridadCB.Seguridad(); objApp.ImplementadorMensajes.ContenedorActual = this; try { objApp.ImplementadorMensajes.ContenedorActual = this; if (!IsPostBack) { usuario = (SeguridadCB.Public.Usuario)HttpContext.Current.Session["Usuario"]; if (cboCorporativo.Items.Count == 0) { Carga_Corporativo(); } Carga_BancoNombre(Convert.ToInt16(cboCorporativo.SelectedItem.Value)); Carga_CuentaBancariaDestino(Convert.ToInt16(cboCorporativo.SelectedItem.Value), Convert.ToSByte(cboNombreBanco.SelectedItem.Value)); this.grdTranferenciBancaria.DataSource = tblTransferenciaBancarias; this.grdTranferenciBancaria.DataBind(); Consulta_TablaTranferenciaBancaria(Convert.ToInt16(cboCorporativo.SelectedItem.Value), Convert.ToInt16(cboSucursal.SelectedItem.Value), cboCuentaBancoOrigen.SelectedItem.Text.Trim(), Convert.ToInt32(leerAño()), Convert.ToInt16(leerMes()), cboStatus.SelectedItem.Text.Trim()); GenerarTablaTransferenciaBancarias(); LlenaGridViewTablaTransferenciasBancarias(); } this.cboCorporativo.Focus(); } catch (Exception ex) { //App.ImplementadorMensajes.MostrarMensaje("Error\n"+ex.Message); } }
public ImportacionAplicacion(int corporativo, int sucursal, int año, string cuentabanco, DateTime finicial, DateTime ffinal, DateTime falta, string usuario, string statusConciliacion, int folio, string pass, List<RunTime.ReglasDeNegocio.ImportacionAplicacion> listadoExtractores) { tabladestino = new Conciliacion.Migracion.Runtime.SqlDatos.TablaDestinoDatos(); TablaDestino.IdCorporativo = corporativo; TablaDestino.IdSucursal = sucursal; TablaDestino.Anio = año; TablaDestino.CuentaBancoFinanciero = cuentabanco; TablaDestino.IdFrecuencia = 1; TablaDestino.FInicial = finicial; TablaDestino.FFinal = ffinal; TablaDestino.FAlta = falta; TablaDestino.Usuario = usuario; TablaDestino.Folio = folio; TablaDestino.IdStatusConciliacion = statusConciliacion; /**Aqui**/ SeguridadCB.Seguridad seguridad = new SeguridadCB.Seguridad(); foreach (RunTime.ReglasDeNegocio.ImportacionAplicacion extractor in listadoExtractores) { NombreSp = extractor.Procedimiento; Servidor = extractor.Servidor; BaseDeDatos = extractor.BaseDeDatos; UsuarioConsulta = extractor.UsuarioConsulta; Pass = seguridad.DesencriptaClave(extractor.Pass); TablaDestino.IdTipoFuenteInformacion = extractor.TipoFuenteInformacion; //extractor.Identificador; TablaDestino.Detalles.AddRange(LlenarObjetosDestinoDestalle()); } }
protected void btnGuardarAplicacion_Click(object sender, EventArgs e) { int i = 0; List <Conciliacion.RunTime.ReglasDeNegocio.ImportacionAplicacion> listadoExtractores = new List <Conciliacion.RunTime.ReglasDeNegocio.ImportacionAplicacion>(); if (ValidarDatos()) { // Conciliacion.RunTime.ReglasDeNegocio.ImportacionAplicacion lcs = listImportacionAplicacion[ddlSelecAplicacion.SelectedIndex]; foreach (GridViewRow linea in listadoOrigenes.Rows) { CheckBox chkRow = (linea.Cells[0].FindControl("chkSeleccionar") as CheckBox); if (chkRow.Checked) { listadoExtractores.Add(listImportacionAplicacion[i]); } i = i + 1; } Conciliacion.RunTime.ReglasDeNegocio.ImportacionAplicacion lcs = listImportacionAplicacion[1]; if (ValidarAplicacion()) { CultureInfo culture = new CultureInfo("en-US"); DateTime fi = DateTime.ParseExact(txtFInicial.Text, "MM/dd/yyyy", culture); DateTime ff = DateTime.ParseExact(txtFFinal.Text, "MM/dd/yyyy", culture); //DateTime fa = DateTime.ParseExact(DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss"), "MM/dd/yyyy hh:mm:ss", culture); DateTime fa = DateTime.Now; int folio = Conciliacion.Migracion.Runtime.App.Consultas.ObtieneTablaDestinoNumeroMaximo(Convert.ToInt32(this.cboCorporativo.SelectedValue), Convert.ToInt32(this.cboSucursal.SelectedValue), Convert.ToInt32(this.cboAnio.SelectedValue)) + 1; string usuario = ((SeguridadCB.Public.Usuario)HttpContext.Current.Session["Usuario"]).IdUsuario.Trim(); SeguridadCB.Seguridad seguridad = new SeguridadCB.Seguridad(); string pass = seguridad.DesencriptaClave(lcs.Pass); Conciliacion.Migracion.Runtime.ReglasNegocio.ImportacionAplicacion ia = null; /*ia = Conciliacion.Migracion.Runtime.App.ImportacionAplicacion(Convert.ToInt32(this.cboCorporativo.SelectedValue), * Convert.ToInt32(this.cboSucursal.SelectedValue), * Convert.ToInt32(this.cboAnio.SelectedValue), * this.cboCuentaFinanciero.SelectedValue, * lcs.TipoFuenteInformacion, * fi, * ff, * fa, * lcs.Procedimiento, * usuario, * "CONCILIACION ABIERTA", * folio, * lcs.Servidor, * lcs.BaseDeDatos, * lcs.UsuarioConsulta, * pass * );*/ ia = Conciliacion.Migracion.Runtime.App.ImportacionAplicacion(Convert.ToInt32(this.cboCorporativo.SelectedValue), Convert.ToInt32(this.cboSucursal.SelectedValue), Convert.ToInt32(this.cboAnio.SelectedValue), this.cboCuentaFinanciero.SelectedValue, fi, ff, fa, usuario, "CONCILIACION ABIERTA", folio, pass, listadoExtractores ); int Existe = 1; short TipoFuenteInformacion = 0; foreach (Conciliacion.RunTime.ReglasDeNegocio.ImportacionAplicacion extractor in listadoExtractores) { TipoFuenteInformacion = extractor.TipoFuenteInformacion; Existe = Conciliacion.Migracion.Runtime.App.Consultas.VerificarArchivo(Convert.ToInt32(this.cboCorporativo.SelectedValue), Convert.ToInt32(this.cboSucursal.SelectedValue), Convert.ToInt32(this.cboAnio.SelectedValue), this.cboCuentaFinanciero.SelectedValue, TipoFuenteInformacion, 1, fi, ff); if (Existe > 0) { break; } } if (Existe == 0) { if (ia.GuardaEnTablaDestinoDetalle()) { objApp.ImplementadorMensajes.MostrarMensaje("Guardado con Exito."); Limpiar(); txtFInicial.Text = txtFFinal.Text = String.Empty; ia = null; } else { objApp.ImplementadorMensajes.MostrarMensaje("Ocurrieron conflictos al Guardar desde Aplicaci�n. \n Posibles Razones:\n1. Tabla Destino no fue encontrada. \n2. El extractor no ha devuelto ningun registro."); } } else { objApp.ImplementadorMensajes.MostrarMensaje("El periodo de fechas ya esta ocupado. Tipo Fuente Informacion: " + TipoFuenteInformacion.ToString()); } } else { ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "alert('" + LimpiarTexto(mensaje.ToString()) + "');", true); } } else { ScriptManager.RegisterStartupScript(this, this.GetType(), Guid.NewGuid().ToString(), "alert('" + LimpiarTexto(mensaje.ToString()) + "');", true); } HttpContext.Current.Session["Archivo"] = null; HttpContext.Current.Session["NombreArchivo"] = null; }
protected void btnEntrar_Click1(object sender, EventArgs e) { Page.Validate(); if (Page.IsValid) { System.Threading.Thread.Sleep(2000); ConfiguraConexion(); Session["AppCadenaConexion"] = cn.ConnectionString; SeguridadCB.Seguridad seguridad = new SeguridadCB.Seguridad(); //seguridad.Conexion = cn; try { if (seguridad.ExisteUsuarioActivo(txtUsuario.Text.Trim())) { this.usuario = seguridad.DatosUsuario(txtUsuario.Text.Trim()); if (seguridad.ComparaClaves(txtClave.Text.Trim().ToUpper(), usuario)) { AppSettingsReader settings = new AppSettingsReader(); this.modulo = settings.GetValue("Modulo", typeof(string)).ToString(); this.modulos = seguridad.Modulos(this.usuario.IdUsuario); this.operaciones = seguridad.Operaciones(modulo, this.usuario.IdUsuario); if (this.operaciones.TieneAcceso) { this.parametros = seguridad.Parametros(modulo, this.usuario.Corporativo, this.usuario.Sucursal); Session.Add("Operaciones", this.operaciones); Session.Add("Usuario", this.usuario); Session.Add("Conexion", this.cn); Session.Add("Parametros", this.parametros); Session.Add("PiePagina", this.usuario.Nombre.Trim() + " (" + this.usuario.IdUsuario + ") conectado a [" + this.cn.DataSource + "]." + this.cn.Database); Response.Redirect("~/Inicio.aspx", true); } else { Mensaje("Usted no tiene acceso al módulo."); txtUsuario.Focus(); } } else { Mensaje("La clave es incorrecta, verifique."); txtClave.Focus(); } } else { Mensaje("El usuario no existe o se encuentra inactivo."); txtUsuario.Focus(); } } catch (SqlException ex) { switch (ex.Number) { case 18452: case 18456: Mensaje("No se ha logrado abrir la conexión, revise el nombre de usuario y la contraseña."); txtUsuario.Focus(); break; case 4060: Mensaje("La base de datos no está disponible, comuníquelo al área de sistemas."); break; case 17: Mensaje("El servidor no está disponible, comuníquelo al área de sistemas."); break; default: Mensaje("Ha ocurrido el siguiente error: " + ex.Message); break; } } catch (Exception ex) { Mensaje("Ha ocurrido el siguiente error: " + ex.Message); } } }
/// <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 SeguridadCB.Seguridad seguridad = new SeguridadCB.Seguridad(); System.Data.SqlClient.SqlCommand cmdRep = 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]; crParametervalues = crParameterFieldDefinition.CurrentValues; crParameterDiscretValue = new CrystalDecisions.Shared.ParameterDiscreteValue(); strValor = Leer_Valor_Parametro(Parametros, par.Name); crParameterDiscretValue.Value = strValor; crParametervalues.Add(crParameterDiscretValue); crParameterFieldDefinition.ApplyCurrentValues(crParametervalues); 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) { 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 = 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]; crParametervalues = crParameterFieldDefinition.CurrentValues; crParameterDiscretValue = new CrystalDecisions.Shared.ParameterDiscreteValue(); strValor = Leer_Valor_Parametro(Parametros, par.Name); crParameterDiscretValue.Value = strValor; crParametervalues.Add(crParameterDiscretValue); crParameterFieldDefinition.ApplyCurrentValues(crParametervalues); 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(); } } } } catch (Exception ex) { this._strError = ex.ToString(); } } else { this._strError = "No existe el reporte en la ruta especificada"; } }