2008-12-30 10 views
0

Je charge une fenêtre Microsoft CRM 4.0 à partir d'une page Intranet à l'aide de window.open (...).Récupérer des fenêtres contextuelles CRM pour actualiser la fenêtre d'ouverture

Lorsque la fenêtre se ferme, j'en ai besoin pour appuyer par programmation sur un bouton de la page qui l'a ouvert. Je peux le faire à partir de mon propre formulaire en obtenant le bouton (dont le nom est passé dans la chaîne de requête) et en exécutant sa méthode de clic en JavaScript.

Je pensais que je pourrais essayer d'ouvrir ma propre fenêtre avec un iframe contenant la page CRM comme je le fais avec d'autres systèmes Web sur notre intranet. Dans la page, je peux ensuite cliquer sur le bouton dans l'événement onunload de la page. Cependant, bien que cela fonctionne pour la plupart de nos systèmes, avec CRM, j'ai deux problèmes.

  1. Si j'ouvre une fenêtre puis la ferme simplement Je reçois une erreur de CRM.
  2. Si j'appuie sur le bouton Enregistrer et fermer de la fenêtre CRM, il enregistre mais ne ferme pas.

Y at-il une solution pour cela?

Répondre

1

Vous pourriez faire quelque chose comme utiliser un appel basique javascript window.opener.

Page 1 ouvre une fenêtre CRM. Dans le OnSave de cette fenêtre de CRM que vous appelez quelque chose comme ceci:

if(window.opener.DoSomeFunction != null) 
    { 
    window.opener.DoSomeFunction; 
    } 

Où DoSomeFunction() est une fonction javascript définie dans la page 1. Vous pouvez utiliser un PageMethod ou un appel __doPostBack(). Je n'ai pas eu l'occasion d'essayer cela dans MS CRM mais en théorie cette approche pourrait fonctionner.

Référence javascript window.opener:

http://www.dotnetspider.com/resources/22146-How-call-parent-page-javascript-function-from-popup-window.aspx

http://www.webreference.com/js/tutorial1/opener.html

0

Les erreurs ne sont-elles pas causées par la prévention des scripts inter-sites? À moins que l'application intranet et le CRM résident sur le même serveur, envoyer des données entre eux est ennuyeux. Désolé si je ne comprends pas exactement ce que vous voulez accomplir, mais je ne peux pas entièrement visualiser votre description. Peut-être qu'un simple croquis/dessin aidera? Je travaille actuellement avec Dynamics CRM pour le moment et je suis heureux de pouvoir vous aider, car nous avons rencontré toutes sortes de problèmes et avons dû inventer de nombreuses solutions de contournement. Heureux de partager.

Questions connexes