private string Grabar(string strDatos)
    {
        string sResul = "";

        #region Abrir conexión y transacción
        try
        {
            oConn = Conexion.Abrir();
            tr    = Conexion.AbrirTransaccionSerializable(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
        try
        {
            #region Datos Límites de Facturación
            if (strDatos != "")
            {
                string[] aFilas = Regex.Split(strDatos, "{sepreg}");
                foreach (string oFila in aFilas)
                {
                    if (oFila == "")
                    {
                        continue;
                    }
                    string[] aDatos = Regex.Split(oFila, "{sep}");
                    ///aDatos[0] = añomes
                    ///aDatos[1] = Límite Facturación   t637_fecha
                    ///aDatos[2] = Límite Respuesta     t828_limitealertas
                    ///aDatos[3] = Previsión cierre ECO t855_prevcierreeco

                    LIMITEFACTURACION.Update(tr, int.Parse(aDatos[0]), (aDatos[1] == "") ? null : (DateTime?)DateTime.Parse(aDatos[1]));
                    SUPER.Capa_Datos.LIMITEALERTAS.Update(tr, int.Parse(aDatos[0]), (aDatos[2] == "") ? null : (DateTime?)DateTime.Parse(aDatos[2]));
                    SUPER.DAL.MESESCIERRE.UpdatePrevCierreECO(tr, int.Parse(aDatos[0]), (aDatos[3] == "") ? null : (DateTime?)DateTime.Parse(aDatos[3]));
                }
            }

            #endregion

            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar los meses de cierre", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }