private string Procesar() { string sResul = ""; try { #region Obtenión de dataset con proyectosubnodo y creación de HASTABLE oProyectoSubNodo = null; DataSet ds = CONSUCONTACORO.GetDatosParaValidacion(); htProyectoSubNodo = new Hashtable(); foreach (DataRow dsProyectoSubNodo in ds.Tables[0].Rows)//Recorro tabla de proyectos-subnodos { htProyectoSubNodo.Add(dsProyectoSubNodo["t301_idproyecto"].ToString() + @"/" + dsProyectoSubNodo["t303_idnodo"].ToString(), new ProyectoSubNodo((int)dsProyectoSubNodo["t301_idproyecto"], (int)dsProyectoSubNodo["t305_idproyectosubnodo"], (int)dsProyectoSubNodo["t303_idnodo"], dsProyectoSubNodo["t305_cualidad"].ToString() ) ); } ds.Dispose(); #endregion #region Abro transaccion try { oConn = Conexion.Abrir(); tr = Conexion.AbrirTransaccion(oConn); } catch (Exception ex) { if (oConn.State == ConnectionState.Open) { Conexion.Cerrar(oConn); } sResul = "Error@#@" + Errores.mostrarError("Error al abrir la conexión", ex); return(sResul); } #endregion string sEstadoMes = ""; int nSegMesProy = 0; CONSUCONTA.DeleteByAnno(tr, nAnno); DataSet ds2 = CONSUCONTACORO.GetCatalogo(tr); foreach (DataRow oFila in ds2.Tables[0].Rows) { oProyectoSubNodo = (ProyectoSubNodo)htProyectoSubNodo[oFila["t301_idproyecto"].ToString() + "/" + oFila["t303_idnodo"].ToString()]; if (oProyectoSubNodo != null) { if (oFila["t478_descripcion"].ToString() != "" && int.Parse(oFila["t325_anomes"].ToString().Substring(0, 4)) == nAnno) { nSegMesProy = SEGMESPROYECTOSUBNODO.ExisteSegMesProy(tr, oProyectoSubNodo.t305_idproyectosubnodo, (int)oFila["t325_anomes"]); if (nSegMesProy == 0) { sEstadoMes = SEGMESPROYECTOSUBNODO.EstadoMesACrear(tr, oProyectoSubNodo.t305_idproyectosubnodo, (int)oFila["t325_anomes"]); nSegMesProy = SEGMESPROYECTOSUBNODO.Insert(tr, oProyectoSubNodo.t305_idproyectosubnodo, (int)oFila["t325_anomes"], sEstadoMes, 0, 0, false, 0, 0); } CONSUCONTA.Insert(tr, nSegMesProy, (int)oFila["t315_idproveedor"], (int)oFila["t478_nconsumo"], (decimal)oFila["t478_importe"], (int)oFila["t329_idclaseeco"], (int)oFila["t313_idempresa"], (int)oFila["t478_ndocumento"], oFila["t478_descripcion"].ToString()); } } //else //{ // string sMsg = "No existe un proyectosubnodo correspondiente al proyecto " + dr["t301_idproyecto"].ToString() + " y al " + Estructura.getDefCorta(Estructura.sTipoElem.NODO) + " " + dr["t303_idnodo"].ToString() + "."; // dr.Close(); // dr.Dispose(); // throw new Exception(sMsg); //} } ds2.Dispose(); sResul = "OK@#@"; Conexion.CommitTransaccion(tr); } catch (Exception ex) { sResul = "Error@#@" + Errores.mostrarError("Error al procesar los datos", ex); Conexion.CerrarTransaccion(tr); } finally { Conexion.Cerrar(oConn); } return(sResul); }
protected void Page_Load(object sender, EventArgs e) { Master.TituloPagina = "Movimientos de contabilidad"; Master.bFuncionesLocales = true; if (!Page.IsCallback) { lblCDP.Attributes.Add("title", "Cualificador de proyectos a nivel de " + Estructura.getDefLarga(Estructura.sTipoElem.NODO)); lblCSN1P.Attributes.Add("title", "Cualificador de proyectos a nivel de " + Estructura.getDefLarga(Estructura.sTipoElem.SUPERNODO1)); lblCSN2P.Attributes.Add("title", "Cualificador de proyectos a nivel de " + Estructura.getDefLarga(Estructura.sTipoElem.SUPERNODO2)); lblCSN3P.Attributes.Add("title", "Cualificador de proyectos a nivel de " + Estructura.getDefLarga(Estructura.sTipoElem.SUPERNODO3)); lblCSN4P.Attributes.Add("title", "Cualificador de proyectos a nivel de " + Estructura.getDefLarga(Estructura.sTipoElem.SUPERNODO4)); if (!Utilidades.EstructuraActiva("SN4")) { fstCSN4P.Style.Add("visibility", "hidden"); } if (!Utilidades.EstructuraActiva("SN3")) { fstCSN3P.Style.Add("visibility", "hidden"); } if (!Utilidades.EstructuraActiva("SN2")) { fstCSN2P.Style.Add("visibility", "hidden"); } if (!Utilidades.EstructuraActiva("SN1")) { fstCSN1P.Style.Add("visibility", "hidden"); } lblMonedaImportes.InnerText = Session["DENOMINACION_VDC"].ToString(); //if (User.IsInRole("DIS") || ConfigurationManager.AppSettings["MOSTRAR_SOLODIS"] == "0") divMonedaImportes.Style.Add("visibility", "visible"); nAnoMax = CONSUCONTA.ObtenerMesMaximo(null); if (nAnoMax != 0) { hdnDesde.Text = (int.Parse(nAnoMax.ToString().Substring(0, 4)) * 100 + 1).ToString(); lblAnno1.InnerText = nAnoMax.ToString().Substring(0, 4); hdnHasta.Text = (int.Parse(nAnoMax.ToString().Substring(0, 4)) * 100 + int.Parse(nAnoMax.ToString().Substring(4, 2))).ToString(); lblAnno2.InnerText = nAnoMax.ToString().Substring(0, 4); int nMes = int.Parse(nAnoMax.ToString().Substring(4, 2)); ListItem oLI; for (int i = 0; i < nMes; i++) { oLI = new ListItem(mes[i], (i + 1).ToString()); cboHasta.Items.Add(oLI); } cboHasta.Value = int.Parse(nAnoMax.ToString().Substring(4, 2)).ToString(); } else { //hdnDesde.Text = (DateTime.Now.Year * 100 + 1).ToString(); //txtDesde.Text = mes[0] + " " + DateTime.Now.Year.ToString(); //hdnHasta.Text = (DateTime.Now.Year * 100 + DateTime.Now.Month).ToString(); //txtHasta.Text = mes[DateTime.Now.Month - 1] + " " + DateTime.Now.Year.ToString(); hdnDesde.Text = (DateTime.Now.Year * 100 + 1).ToString(); hdnHasta.Text = (DateTime.Now.Year * 100 + 1).ToString(); } string[] aCriterios = Regex.Split(cargarCriterios(int.Parse(hdnDesde.Text), int.Parse(hdnHasta.Text)), "@#@"); if (aCriterios[0] == "OK") { sCriterios = "var js_cri = new Array();\n" + aCriterios[1]; } else { Master.sErrores = aCriterios[1]; } if (Utilidades.EstructuraActiva("SN4")) { nEstructuraMinima = 1; } else if (Utilidades.EstructuraActiva("SN3")) { nEstructuraMinima = 2; } else if (Utilidades.EstructuraActiva("SN2")) { nEstructuraMinima = 3; } else if (Utilidades.EstructuraActiva("SN1")) { nEstructuraMinima = 4; } strTablaHtml = "<tr id='*' class='FA'><td>< Todos ></td></tr>"; string[] aDatosPref = Regex.Split(getPreferencia(""), "@#@"); #region Lectura de preferencia if (bHayPreferencia && aDatosPref[0] == "OK") { sHayPreferencia = "true"; cboConceptoEje.SelectedValue = aDatosPref[2]; cboCategoria.SelectedValue = aDatosPref[3]; cboCualidad.SelectedValue = aDatosPref[4]; if (aDatosPref[5] == "1") { rdbOperador.Items[0].Selected = true; } else { rdbOperador.Items[1].Selected = true; } chkSubcontratacion.Checked = (aDatosPref[6] == "1") ? true : false; chkCompras.Checked = (aDatosPref[7] == "1") ? true : false; if (aDatosPref[8] == "1") { rdbFormato.Items[0].Selected = true; } else { rdbFormato.Items[1].Selected = true; } //nUtilidadPeriodo = int.Parse(aDatosPref[8]); //hdnDesde.Text = aDatosPref[9]; //txtDesde.Text = aDatosPref[10]; //hdnHasta.Text = aDatosPref[11]; //txtHasta.Text = aDatosPref[12]; sSubnodos = aDatosPref[9]; //rdbFormato.SelectedValue = aDatosPref[5]; // //hdnProducPref.Text = aDatosPref[43]; } else if (aDatosPref[0] == "Error") { Master.sErrores += Errores.mostrarError(aDatosPref[1]); } #endregion //1º Se indican (por este orden) la función a la que se va a devolver el resultado // y la función que va a acceder al servidor string cbRespuesta = Page.ClientScript.GetCallbackEventReference(this, "arg", "RespuestaCallBack", "context", false); string cbLlamada = "function RealizarCallBack(arg, context)" + "{" + cbRespuesta + ";" + "}"; //2º Se "registra" la función que va a acceder al servidor. Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "RealizarCallBack", cbLlamada, true); } }