private string Grabar(string sCR, string sCadena)
    {//En el parametro de entrada tenemos una lista de codigos de personas separados por comas
        string         sResul = "";
        int            iCodCR;
        SqlConnection  oConn = null;
        SqlTransaction tr    = null;

        try
        {
            iCodCR = int.Parse(sCR);
            oConn  = Conexion.Abrir();
            tr     = Conexion.AbrirTransaccion(oConn);
            if (sCadena != "")
            {//Con la cadena generamos una lista y la recorremos para grabar cada elemento
                string[] aFun = Regex.Split(sCadena, "///");
                foreach (string oFun in aFun)
                {
                    string[] aValores = Regex.Split(oFun, "##");
                    switch (aValores[0])
                    {
                    case "I":
                        OfiTec.InsertarIntegrante(tr, iCodCR, int.Parse(aValores[1]));
                        break;

                    case "D":
                        OfiTec.BorrarIntegrante(tr, iCodCR, int.Parse(aValores[1]));
                        break;
                    }
                }
            }
            Conexion.CommitTransaccion(tr);
            sResul = "OK@#@";
        }
        catch (Exception ex)
        {
            Conexion.CerrarTransaccion(tr);
            sResul = "Error@#@" + Errores.mostrarError("Error al grabar la lista de integrantes", ex);
        }
        finally
        {
            Conexion.Cerrar(oConn);
        }
        return(sResul);
    }