Mostrando entradas con la etiqueta Recuperar. Mostrar todas las entradas
Mostrando entradas con la etiqueta Recuperar. Mostrar todas las entradas

sábado, 23 de febrero de 2019

Filtra una vista de datos por la fecha actual (II)

Siguiendo con la anterior entrada, lo siguiente que nos pedían eran unos botones para poder avanzar y retroceder 7 días, para eso bastaba con ponerle una llamada a la siguiente función:

function moverdia(num){
var dir = window.location.href;
var fechad = dir.split('date=')[1];
var fechai = dir.split('date=')[0];
var nuevod = new Date(fechad);
nuevod.setDate(nuevod.getDate(fechad) + num);
var ano = nuevod.getFullYear();
var mes = (nuevod.getMonth()+1);
mes = ("0" + mes).slice(-2);
var dia = nuevod.getDate();
dia = ("0" + dia).slice(-2);
window.location.href= fechai + 'date=' + ano + '-' + mes + '-' + dia;
}

Gracias a esta función recogemos la fecha de la URL, añadimos el número de días que le pasamos como parámetro (positivo o negativo), nos aseguramos que el mes tenga dos dígitos y redireccionamos con la nueva fecha como parámetro de la URL.

domingo, 21 de agosto de 2016

Recoger parámetro de la URL con Jquery y completar un campo de tipo búsqueda de SharePoint

 Siguiendo con la entrada anterior quedaría recoger el número de ID correspondiente al libro y dejarlo seleccionado en un campo de tipo búsqueda de la lista reserva de libros. Dicho campo, será un campo de búsqueda sobre la lista de libros, cogiendo como clave el nombre del libro.

Para ello tendremos una dirección del tipo:

https://URLdelSitio/Lists/ReservaLibro/Nuevo.aspx?Libro=1&Source=/URLdelSitioalquevolvertrasaceptar/

Este sería el libro con el ID=1 en la lista de libros.

Para ello, en formulario de nuevo elemento de la lista reserva de libros, debería añadir un editor de código fuente con el siguiente código:

<script>

$(document).ready(function(){

var direccion = window.location.href;

var numero = direccion.split('Libro=')[1];

                 numero = numero.split('&Source')[0];

$("[title='Libro'] option[value="+numero+"]").prop('selected', true);

$('#Book option:not(:selected)').attr('disabled',true);

});

</script>

Habiendo añadido el ID=Book al tr del campo de busqueda, en mi caso:

<td width="400px" valign="top" class="ms-formbody" id="Book">

<SharePoint:FormField runat="server" id="ff3{$Pos}" ControlMode="New" FieldName="Libro" __designer:bind="{ddwrt:DataBind('i',concat('ff3',$Pos),'Value','ValueChanged','ID',ddwrt:EscapeDelims(string(@ID)),'@Libro')}"/>

<SharePoint:FieldDescription runat="server" id="ff3description{$Pos}" FieldName="Libro" ControlMode="New"/>

</td>

El código JavaScript de arriba lo que hace es:

  1. Recoger la URL en la variable dirección
  2. Quedarnos con la parte tras la palabra 'Libro=' en la variable numero
  3. En esa misma variable, eliminamos la parte del redireccionamiento
  4. Buscamos el campo de tipo búsqueda, que en mi caso se llama Libro y seleccionamos el valor que hemos recogido de la URL en la variable numero
  5. Por último, deshabilitamos el resto de opciones diferentes a la que hemos pasado como parámetro del Libro.
Está última parte, fue para la cual tuve que buscar en Google, ya que si hacía que el campo estuviera en disable no me guardaba el valor correcto y al ser un campo de elección no tenía sentido ponerlo en readonly.
Encontré esta entrada, que me dio la solución:



viernes, 14 de diciembre de 2012

Cómo recuperar elementos web de una página de SharePoint

En mi trabajo diario, en la parte de soporte. Hay un problema que es recurrente. Generalmente, tenemos clientes que son colaboradores o propietarios de la solución y se dedican a añadir contenido, editarlo y/o eliminarlo.

Pero muchas veces, por desconocimiento o por descuido, hacen clic sobre la opción Cerrar de un Elemento Web:


Y la llamada más común, es para decirme que no saben como, pero les ha desaparecido de tal página el componente. Entonces, me sonrió para mí y les pido un momento.

Accedo al sitio en cuestión, por ejemplo:
http://misitio/default.aspx

Y añado:
?contents=1

Quedando:
http://misitio/default.aspx?contents=1

Y esto nos llevará a una página de administración, similar a:


Donde podremos detectar ese componente que se ha escondido, ya que será el que tenga valor a NO, en la columna ¿Abrir en la página?.

Para hacer que vuelva a aparecer, bastará con seleccionar su cajetilla que hay a la izquierda y elegir la opción Restablecer:


Cuando volvamos a la página en cuestión, veremos que nuestro elemento ha vuelto a aparecer.

Si no es así, puede ser que haya algo en nuestro SharePoint que no este bien (Ya me ha pasado en un cliente) y la alternativa sería, abrir el espacio con SharePoint Designer.

Será fácilmente detectable la zona en cuestión, ya que en la vista en Diseño, será el que se presente como traslucido:



Bastaría con hacer clic con el botón derecho sobre esa zona y seleccionar Propiedades de elementos Web:


Y en la ventana que se nos abre, deberemos desmarcar la opción Cerrar el elemento Web y tras Aceptar en esa ventana y guardar todos los cambios, podremos ver como hemos recuperado dicho Elemento Web:



Si nuestro Elemento Web, no aparece en ninguna de estas dos opciones, será porque nuestros usuarios lo habrán eliminado de la pagina. Y eso es otro caso...