Mitra Global Services

Navimania 51 – Isolated Storage

Hola a todos! Aquí estoy una semana más con vosotros.

Os ha pasado alguna vez querer traspasar un dato desde un lugar de Navision a otro, sin que ese dato esté vinculado por una tabla?

Imaginemos que al iniciar la aplicación cogemos un dato que lo queremos tener en todo nuestro código a mano para poder utilizarlo.

Este método se llama Isolated Storage y se puede ver su documentación oficial en link

Es un grupo de funciones que nos van ha ayudar a hacer lo que os he comentado para que desde cualquier lugar podamos traspasar información.

Después de la breve explicación vamos manos a la obra 😎

Lo primero, como siempre es crear un proyecto. Para este ejemplo pasaremos el numero de cliente desde la lista de clientes a la lista de proveedores. Por tanto crearemos dos page extensión de estas listas.

Empezaremos con la lista de clientes. Crearemos el trigger de OnOpenPage y las variables que requeriremos:

La variable de tipo texto la utilizaremos para añadirla como clave. Para que sea una clave única y que sea fácil de localizar.

Ahora lo primero que hacemos es buscar si existe algo en nuestra clave y si existiera lo eliminamos:

Finalmente añadimos el valor que queremos en nuestra clave:

Como habéis podido observar, al final de todo esta el DataScope, este nos da 4 posibilidades que sirven para poder visualizar este dato en diferentes escenarios. Para hacer que este dato sea visible o solo para el usuario, o solo para la extensión o como en nuestro caso para la empresa actual y el usuario. Eso quiere decir que este dato lo podríamos ver desde otras extensiones.

Vamos ahora a la lista de proveedores.

Crearemos el trigger y las variables:

Le añadimos la Key al Isolated Storage:

Y por último si existe mostraremos el valor por mensaje:

Como podemos ver en este caso hacemos un Get y le estamos añadiendo una variable de tipo texto para recoger el valor.

Como siempre este ejemplo entero lo tenéis colgado en GitHub en el link.

Esperamos que esta explicación os resulte de utilidad y os emplazamos a nuestra próxima publicación.

ES