viernes, 10 de febrero de 2017

Llamar a función desde popup en CRM con Javascript

Pongámonos en situación, en un CRM 2016 online, desde el formulario principal de Contacto queremos abrir un popup y una vez abierto, desde éste llamar a una función que está en el formulario de Contacto.

Tenemos un fichero contacto.js donde cargamos toda la lógica de negocio de javascript en relación a la entidad Contacto. En la configuración del formulario le añadimos al evento OnLoad la función onLoadContacto que estará en el .js

El popup se abrirá desde uno de los botones del ribbon y queremos desde este popup llamar a una función que está en contacto.js ¿cómo?

En el parent, que es contacto.js añadimos el siguiente código a la función onLoadContacto()

function onLoadContacto() {
    Xrm.Page.test = test;
}

Además creamos la función que se llamará desde el popup:

function test() {
   alert('test');
}

Desde el formulario del popup sólo hay que poner la siguiente instrucción:

window.top.opener.Xrm.Page.test();

No hay comentarios: